CodeWarrior仿真与调试要点docxWord下载.docx
- 文档编号:8647046
- 上传时间:2023-05-12
- 格式:DOCX
- 页数:13
- 大小:1.77MB
CodeWarrior仿真与调试要点docxWord下载.docx
《CodeWarrior仿真与调试要点docxWord下载.docx》由会员分享,可在线阅读,更多相关《CodeWarrior仿真与调试要点docxWord下载.docx(13页珍藏版)》请在冰点文库上搜索。
Ctrl+01
FindandOpenFile.・
Ctrl+D1
Close
Ctrl+W1
Save
MB
Ctrl+S1
SaveAll
Ctrl+Shiftl-S1
Sav-=:
Rs.・・
SaveACop^虹…
Revert...
a
OpenWorkspace.・・
ClozeWorkspace
SaveWorkspace
SaveWorkspaceAs...
ImportProject.・・
Expc-rtFrojsct・・・
PageSetup.・・
Frird...
Ctrl+FI
OpenRecent
FileEditViewSearchProjectProcessorExpertWindowHelp
MB«
■MB■■9T■MB•
Exit
<
■@IB
重庆大学邂删蜩曲矚I
Fsjxt|File|Object|
New页:
输入工程的名字,如HorseLED选择存放位置,如E:
\CodeCW
NewProjectWizard-Page2:
选MCU型号,如MC9S12XDT512
NewProjectWizard-Page4:
选编程语言,此处选Assembly
NewProjectWizard-Page6:
NewProjectWizard的其它页用默认
以后通过File->
open,选mcp即可重新打开这个工程
临器飜麟驟各擁是咖辭子辟用略
部分,在Insertherevourdatadefinition之后改造、输入、编辑自己的源代码。
FreescaleCodelarrior
>编辑main.asm文件,将main之后的替换称自己的代码,如下图。
INCLUDE,inc9sl2Kdt512.inc*
;
子程DELAY:
利用寄存器勰B执行两重循环,实现延时(2MHn晶振时约200iaS)
DELAY:
PSHA
PSHB
LDAA
#200
DELAY1:
LDAB
DELAY2:
MOP
;
1T
DBME
B.DELAY2
3T
DENE
A,DELAY1
PULE!
PULA
RTS
•另一个需要关心的文件是自动生成的・inc包含文件,主要是内存映像地址和寄存器地址的别名定义。
“进行编译和链接项目,如果源程序有错误,CWIDE会弹翳輕翳露。
按提示修改’重髀译’直到没有错误为止’为通
二、完全软件仿真和调试
錚勰瀰議蠶蠶聽况下'
可进行软件仿真;
也可在用
•在弹出的True-TimeSimulator&
Real-TimeDebugger窗口软件中进行各种信息观察和调试操作。
>其中Source中的源程序行,右击可设置断点、执行到光标处等;
>调试运行:
开始/继续、单步运行、跨步运行、单步跳出、汇编单步、停止、复位。
>调试观察:
程序存放位置、寄存器值、运行位置、内存区域值等。
•Component菜单->OpenT选择并设置一些仿真部件进行模拟实验。
例选lo-led,为使该部件和程序对应,在部件图形上右击Tsetup
设置:
数据寄存器PORT为PORTB,其地址DDR为01
此时,■全速运行程序,可看到8只LED灯的跑马灯效果。
些图例■■■
仿真与调试界面:
True-TiaeSiBulator&
Real-Ti>
eDebuggerE:
\CodeCf\HorseLED\Full_Chip_SiBulation.ini
□回因
FileViewRunHCS12XFCSComponen.tDataWindowHelp
未接BDM时:
Dl^lH釘到⑥?
|搐||舌|吝|』任|t
[S|Source
HC12E:
\CodeCW\Hor$eLED\bin\main.dbg
Asse>
bly
Line:
13433
////////////////////////////////////////////////////////////////////;
主程序:
LED鮑马灯.依次点耗8个LED.LED接8口・B口位諭出低电平□顿廉口;
////////////////////////////////////////////////////////////////////nain:
Entry:
LDAA联FF
5TAA
SEC
DDRB
#$FE
设置B□为谕出
Cgl,为繆位循环做准备
初值,让1个灯壳
HC12Entry
COOOLDAA#255
C002
C004
C006
C008
C00B
GOOD
COOF
STAA
0x03
ORCC
#254
LDS
#8448
ANDCC
#239
0x01
BSR
*+5
abs=0xC014
CLI
#_SEG_END_SSTACK;
initializethestackpointer
enableinterrupts
[SiRegister
HC12CPUCycles:
0
运行方式:
s
Auto
F
IIlEData
创舌宙罔田rd
□回国
HC12
AutoSymbGlobal
D
IX
IP
SP
EPAGE
回Couiand
CBCB
COOO
CBC9
FE
A
IY
PC
IPL
GPAGE
CB
rr
PPAGEFE
CCRSXHIWZVC
DIRECT0
RPAGEYD
回Procedure
Entry()
led仿真效果:
executing.\cmd\Full_Chip_Siiaulation_postload・ciad
叵]le>
ory
EDlO^Led
Postloadcommandfilecorrectlyexecuted.
in>
P0RT=00
DDR=FD
ForHelp丿pressFl
!
//Afterloadthecoiomandswrittenbelowwillbeexecuteddone・\ciad\Full__Chip_Siiaulation_postload・crnd
000080
00
20
05
000088
FF
000090
000098
0O00A0
2.000000MHz
MC9S12XDF512
done.\cmd\FullChipSimulationposl
□回冒
Logical
农庆丿迪借刖鞘R迦
三、BDM在线调试和程序下载
首先:
设置ProjectTSetdefaultTargetTTBDML
•BDM调试器硬件连接一一端接PC机USB接口,另一端插接在板上的BDM插针口(别反),PC机会自动识别安装此设备。
都通电,可带电插拔。
O最后
•同样点选Debug(或F5)—进入在线调试环境后,功能和方法与软件仿真完全相同,如运行/停止、单步.复位等,但已是针对板的实时、在线的调试运行。
其间弹出的"
LOADERWARNING"
按OK,"
SetDerivative55选择为MC9SXDT512,还可能要进行菜单TBDMLTUnsecure操作正确的状态应该是Source栏卤肴理序代码。
•重新编译过的工程可以再次点选Debug重新进入调试窗口;
也可以在调试窗口的菜单TBDMLTload中直接调入新的目标文件TBDML.abs,它可在工程所在的文件夹下的bin子目录中找到。
LOADERVAKRIKG
Donot
anymor
Thedebuggerisgoingtomasserasethenonvolatilememory(tepromandflash)ofthecurrentdevithen
•上述过程实际已完成对MCUNVM的擦除和程序下载,并可以在线调试或脱机运行了。
四、中断程序的安排
在整个源程序的末尾声明中断子程序的所对应的矢量地址,格式如例;
该程序实现当IRQ引脚电平有下降沿时触发跑马灯显示,按复位键后恢复等待。
注:
CW中外部中断寄存
器的名字为IRQCR,
MY_EKTENDED_RAM:
SECTION
FLAGEQU$2000
MyCode:
main:
IDS—SEG_END_SSTACK
VAIT:
SHIFT:
XEAMAAnAMAnAMl^AAAIAAAAPQCAARLADTDTLDTDTMEEDTSORLSLSCLSLSCBSLSBRB
#$FFDDRB
#$C0IRQCR
#SFFPORTE#$cmFLAGFLAG
WAIT
#$FEPORTEDE匚软
IRQ_ISR:
tf$FF
FLAG
:
送跑马标吉$FF给FLAG
RTI
中断返回
SHIFT
DELAVI
DELA72
ABAEEEEAhhaappnnllsSSDDOOBBUUTpplinnddppr
#2U0tf200
ORG$FFF2
FDBIRQISR
电庆夬了屈彌鑿融矚
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CodeWarrior 仿真 调试 要点 docx