CodeWarrior仿真与调试要点docx.docx
- 文档编号:8019674
- 上传时间:2023-05-12
- 格式:DOCX
- 页数:13
- 大小:1.77MB
CodeWarrior仿真与调试要点docx.docx
《CodeWarrior仿真与调试要点docx.docx》由会员分享,可在线阅读,更多相关《CodeWarrior仿真与调试要点docx.docx(13页珍藏版)》请在冰点文库上搜索。
CodeWarrior仿真与调试要点docx
HCS12(X)仿真与调试
本文档内容适用于FreescaleHCS12(X)系列MCU;
仿真与调试使用
CodeWarrior—简称CW
软件版本:
CodeWarrior(forHC12)V4.6
>一种国际通用的软件集成开发环境(IDE),联合子公司Metrowerks开发;>支持Freescale所有微控制器;
>支持不同的操作系统,如Windows、Macintosh、Linux等;
>支持汇编语言,以及C/C++>Java高级语言;
>支持各种调试.仿真功能;
>包括多个功能模块:
编辑器、编译器、源码浏览器、搜索引擎、构造系统、调试器、工程管理器;
A各种版本:
特别版、标准版和专业版,特别版是免费的、用于教学目
的,后两种须付费;授权文件和功能限制有区别;
、CodeWarriorforS12使用方法入门
1■建立工程文件
选择FileTNew
FreescaleCodeTarrior
NewTextFile
Ctrl+NL
New...
Ctrl+Shift+ffL
Open..・
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
#200
DELAY2:
MOP
;1T
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
LDAA
DDRB
#$FE
;设置B□为谕出
;Cgl,为繆位循环做准备
;初值,让1个灯壳
HC12Entry
COOOLDAA#255
C002
C004
C006
C008
C00B
GOOD
COOF
STAA
0x03
ORCC
LDAA
#254
LDS
#8448
ANDCC
#239
STAA
0x01
BSR
*+5
;abs=0xC014
LDS
CLI
#_SEG_END_SSTACK;initializethestackpointer
;enableinterrupts
[SiRegister
HC12CPUCycles:
0
运行方式:
Auto
F
IIlEData
创舌宙罔田rd
□回国
HC12
AutoSymbGlobal
D
IX
IP
SP
EPAGE
回Couiand
CBCB
CBCB
COOO
CBC9
FE
A
IY
PC
IPL
GPAGE
CB
CBCB
COOO
0
rr
CB
PPAGEFE
CCRSXHIWZVC
DIRECT0
RPAGEYD
回Procedure
HC12
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
Auto
000080
00
00
00
20
05
00
00
00
000088
00
00
00
00
00
00
FF
FF
000090
00
00
00
00
00
00
00
00
000098
00
00
00
00
00
00
00
00
0O00A0
00
00
00
00
00
00
00
00
HC12
2.000000MHz
0
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:
SECTION
main:
Entry:
IDS—SEG_END_SSTACK
VAIT:
SHIFT:
XEAMAAnAMAnAMl^AAAIAAAAPQCAARLADTDTLDTDTMEEDTSORLSLSCLSLSCBSLSBRB
#$FFDDRB
#$C0IRQCR
#SFFPORTE#$cmFLAGFLAG
WAIT
#$FEPORTEDE匚软
IRQ_ISR:
LDAA
tf$FF
STAA
FLAG
:
送跑马标吉$FF给FLAG
RTI
:
中断返回
SHIFT
DELAY:
DELAVI
DELA72
ABAEEEEAhhaappnnllsSSDDOOBBUUTpplinnddppr
#2U0tf200
B.DELAY2
ORG$FFF2
FDBIRQISR
电庆夬了屈彌鑿融矚
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CodeWarrior 仿真 调试 要点 docx