收藏 分销(赏)

codewarrior的使用.doc

上传人:精**** 文档编号:1362706 上传时间:2024-04-24 格式:DOC 页数:31 大小:3.18MB
下载 相关 举报
codewarrior的使用.doc_第1页
第1页 / 共31页
codewarrior的使用.doc_第2页
第2页 / 共31页
codewarrior的使用.doc_第3页
第3页 / 共31页
codewarrior的使用.doc_第4页
第4页 / 共31页
codewarrior的使用.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、第六章 CodeWarrior的软件开发环境6.3 打开工程在主菜单下选择File/Open。如图6-2图6-2 打开工程菜单弹出对话框图6-3,在“对象类型”中选择“Project Files(*.mcp)”。图6-3 工程对象类型出现图6-4,选择要打开的工程,然后点击“打开”,就可以打开一个工程。图6-4 工程对象名称如果想要修改程序,在图6-5界面可以完成。图6-5用户工程文件窗口此时,如果想要编译连接和在线调试程序,参考6.5和6.6。6.4 创建项目从主菜单栏选择FileNew。出现一个新的窗口如图6-6所示。注意: 新窗口可能和你的屏幕不相同,取决于你的安装对象。图6-6 新建工

2、程单击Project标签显示项目面板。选择HC(S)08 New Project Wizard。在Project name 输入框,输入新项目的名称。在Location输入框,确定你想保存的文件的路径。注意:当IDE创建一个项目时,会自动在项目文件中添加扩展名为.MCP的工程文件。点击确定,出现新项目对话框如图6-7所示。在Page1中,选择你所使用的芯片的类型。图6-7 选择芯片类型在Page2中,选择使用语言的种类,如图6-8所示图6-8 选择编程语言在Page3种选择使用相对汇编还是绝对汇编,如图6-9所示。图6-9 选择汇编方式在Page4中进行方式选择,如图6-10所示。图6-10

3、选择调试模式P&E Full Chip Simulation方式允许芯片及其外围设备进行在线调试,或者是利用软件进行模拟时采用这种方式。P&E Hardware Debugging 方式是当HC08与外围设备硬件接口是通过P&E提供的时候,就得采用这种方式。MMDS-MMEVS 方式是指目标界面与MMDS-MMEVS 仿真系统连接,使用Motosil 协议是多使用的方式。上述三种是比较常用的几种的方式,如果不确定的时候,可以把三种方式都选上,这样会把连接变得更简单。点击完成,项目创建完成,如图6-11所示。图6-11 工程建立完成界面在工程窗口打开Sourcesmain.asm(选择编程语言类

4、型不同,文件后缀不同,如果是C,那么就是main.c),在该文件中编写用户程序。6.5编译连接编好程序之后,点击图6-12 Make按钮,进行编译连接。图6-12 编译连接如果编译连接没有错误,则可以调试程序。点击图6-13Debug按钮调试程序。图6-13 调试程序出现图6-14,仿真或实时调试界面。图6-14 仿真或实时调试界面6.6 在线编程注意:实验电路板电源开关断开。JP2的3、4两个端子短接。1、确立目标在“True-Time Simulator & Real-Time Debug”工具界面,点击:Component-Set Target 在Processor栏,选择HC08,在T

5、arget栏,选择P&E Target Interface,然后点击OK,如图6-15所示图6-15 确立目标最后关闭“True-Time Simulator & Real-Time Debug”工具界面,在主界面中重新按下“Debug”,进入“True-Time Simulator & Real-Time Debug”调试。2、在线调试重新进入后,PEDebug-Mode:Full Chip Simulation-In-Circuit 如图6-16所示。图6-16 调试界面系统将自动弹出如下的界面,如图6-17所示。图6-17 连接界面点击Close Port。出现界面如图6-18。图6-1

6、8 关闭串口界面闭合目标板电源开关,给目标板供电,最后点击Contact target with these settings。出现图6-19界面,最后点击YES,程序就下载到实验板上了。注:如果此时不出现图6-19,断开目标板电源,再次点击图6-18中Refresh List,然后再给目标板供电。图6-19 查询是否擦除、下载程序然后在DEBUG界面上进行调试,如图6-20所示。图6-20 DEBUG界面点击上图所示:运行(run)程序;单步运行(single step)程序;单步运行(step into)程序;跳出运行(step out)函数; 跟踪(trace)程序;程序停止(halt)

7、运行;目标板复位(reset target)。可以通过图6-21中的界面随时检查寄存器、RAM中的内容,便于检查出程序中的错误。图6-21 调试界面如图6-21所示,在“souce”窗口,点击右键,在第一栏中将程序运行到光标处,设置断点,看当前指令的PC值。具体如下所示:l Set Breakpoint 设断点l Run to Cursor 运行到光标行l Show Breakpoint 显示断点l Show location 显示地址但是这里有一点须注意,在脱机仿真的时候,可以设置多个断点,在线调试的时候最多可以设置一个断点。在“memory”窗口,我们可以实现如下的操作:l 检查寄存器,R

8、AM,FLASH ROM中的内容l 双击窗口中的字节,可输新值,回车确认l 点右键,出现的下拉菜单中我们可以更改窗口的一些属性,具体如下所示l Word size 可以选择用什么样的长度来显示存储单元的内容l Format 可以选择用什么进制显示,如 十六进制(HEX)、八进制 (OCT)、二进制(BIN)等l Mode 可以进行更新频率的选择,如自动、定期等等l Display 可以选择窗口显示内容的选择,选择是否显示地址、ASC码l Fill 可以在一个区间内输入你想要的数值l Address 可以输入你想查看的存储器空间的开始地址l Copymem 可以将一段已经写入的内容复制到你想要存

9、放的地址空间去l Search Pattern 可以在确定的地址里面寻找表达式在“data”窗口,显示定义的变量,但是不能双击输入内容,点击右键可以实现如下的操作:l Open module Open mdodule显示该应用的源文件,全局变量显示在数据块上,只有全局变量才支持Open modulel Add expression 可以增加变量l Set Watchpoint 只有当没有设置Watchpoint或取消Watchpoint时,才会弹出该菜单,当选择一个变量将其设置为一个读/写Watchpoint,一条黄色线就会出现在该变量的旁边,当程序执行到与该变量相关时,程序停止运行,而且目前

10、的程序状态就会在各窗口显示出来l Show watchpoint 打开设置Watchpoint窗口,你可以看到当前程序所设置的Watchpointl Show location 强制让所有的窗口显示与变量相关的信息其余的菜单内容与其它的窗口里面的内容相似,这里就不再赘述了“register”窗口如图6-22所示:图6-22 register窗口在图中我们可以清楚地看到几个寄存器中的内容,并可以双击输入新值,条件码寄存器的Status中黑色表示置1,灰色表示为0。可以在PC 栏中输入输入要运行程序的起始地址,即PC值,然后单步运行,程序就会从设置的PC地址开始执行程序。 由此,可以通过CodeW

11、arrior非常方便的下载程序运行,并可以进行单步调试,为系统程序的开发提供的非常有力的工具。6.7 利用Visualizationtool进行脱机仿真 注意: 在进行脱机仿真之前,一定要修改中断矢量地址。在线编程调试或实时运行状态参考表2-3转向矢量表,表中详细地写出了每个中断的地址。仿真运行状态参考表2-2中断矢量表。比如在线编程调试或实时运行状态使用复位向量定义如下:ORG $FDFD ;复位向量地址JMP Entry当使用脱机仿真时,必须把上面两句作如下修改:ORG $FFFE ;复位向量地址DC.W Entry其他中断向量参考该修改进行。在进行在线调试和脱机仿真相结合的时候,不同调试

12、状态下中断进行上面的交替修改。程序编译通过之后,系统将自动进入Debug调试界面(如图6-23所示),在这个界面里面我们既可以直接写入程序调试,也可以利用单步运行随时检查寄存器的内容,便于寻找程序中的错误,还可以利用Visualizationtool进行脱机仿真。下边将重点讲述利用Visualizationtool进行脱机仿真。图6-23 DEBUG界面在“True-Time Simulator & Real-Time Debug”工具界面,点击:Component-Set Target 在Processor栏,选择HC08,在Target栏,选择Simulator Target Interf

13、ace,然后点击OK,如图6-24所示。图6-24 确立目标界面设置完成,关闭“True-Time Simulator & Real-Time Debug”工具界面。在主界面中重新按下“Debug”,进入“True-Time Simulator & Real-Time Debug”调试界面,点击Simulater-Reset,如图6-25。图6-25 仿真状态复位选择Component-Open,如图6-26。图6-26 将会出现如下的界面,如图6-27所示图6-27 选择Visualizationtool界面点击OK,进入Visualizationtool界面,如图6-28所示。图6-28

14、Visualizationtool界面如上图所示在空白处点击右键,选择要添加的元件。由于该示例事要做一个跑马灯的演示实验,所以选择“7 Segment Display”。在空白处点击右键,选择Properties,如图6-29所示。设置:Refresh Mode : PeriodicalRefresh Time (100ms):1或者选择:CPU cycles。设置完成,关闭窗口。 图6-29 Visualizationtool属性界面双击7 Segment Display,如图6-30所示设置:Kind of Port : MemoryPort to Display : 0x01设置完毕,关

15、闭窗口。图6-30 七段数码管属性界面点击右键,取消选择Edit Mode,在“True-Time Simulator & Real-Time Debug”调试界面,按下Sart/Continue,运行程序,在本示例中, 用7 Segment Display来演示跑马灯实验,可以看到七段数码的每一段在交替闪烁,如图6-31。图6-31 仿真界面点击保存,可以将这个Visualizationtool的工程保存下来,下次运行的时候只要用Display Mode,然后运行程序就可以了。保存配置:FileSave Configuration,如图6-32所示。图6-32 保存配置界面 运行程序,可以按

16、照图6-20中运行或单步执行程序,可以看到仿真状态下程序运行情况。6.8 Processor Expert应用6.8.1创建工程本工程使用一个电位器和一个数码显示管,电位器用于表示模拟信号,如:罐里的液面位置、温度等,数码显用于显示其值。下面我们将一步一步演示创建工程的过程。启动CodeWarrior :Start Programs Metrowerks CodeWarrior CW08 V3.0 CodeWarrior IDE在CodeWarrior界面中,选择菜单FileNew,如图6-33所示。图6-33 开始创建在Project栏里选择HC(S)08 New Project Wizar

17、d Project Name中填入:MyQY4如果需要更改存入目录请点Location栏的Set按钮按下确定,进入一下步,如图6-34所示图6-34 新建工程选择CPU类型,找到MC68HC908QY4,点击选取,按“下一步”,如图6-35所示。图6-35 选择芯片类型选择以C语言为开发语言,如图6-36所示。图6-36 选择C语言使用Processor Expert,如图6-37所示。图6-37 使用Processor Expert不使用PC-Lint,如图6-38所示。图6-38 不使用PC-Lint选择标准启动代码,如图6-39所示。图6-39 选择标准启动代码不需要浮点支持,如图6-4

18、0所示。图6-40 不需要浮点支持内存使用模式选择Tiny,如图6-41所示图6-41 选择内存使用模式连接方式,使用缺省值,如图6-42所示。图6-42 选择连接方式点击“完成”,如图6-43所示。图6-43 创建完成界面在左边的导航栏里选择Processor Expert选择Beans,点右键,选择“Add Bean(s)”,如图6-44所示。图6-44 内核选择选取并双击ADC,Processor Expert导航栏里Beans中增加了AD1:ADC选取并双击BitsIO,Processor Expert导航栏里Beans中增加了Bits1:BitsIO选取并双击BitIO,Proces

19、sor Expert导航栏里Beans中增加了Bit1:BitIO选取并双击BitIO,Processor Expert导航栏里Beans中增加了Bit2:BitIO编辑AD1的属性,如图6-45Interrupt service:disabledConversion Time 21.25 uS图6-46 AD1属性编辑设置Measure和GetValue为generate code.其它均为dont generate code.如图6-46所示编辑Bits1的属性,如图6-47。图6-45 AD1属性编辑Bean name:DispNumPins:7Pin0:PTB0Pin1:PTB1Pin

20、2:PTB2 Pin3:PTB3Pin4:PTB4Pin5:PTB5Pin6:PTB6 图6-47 Bits1属性编辑Pull resistor:No Pull resistorDirection:Output编辑Bit1的属性:Bean name:BitPta4Pin for IO:PTA4_OSC2_AD2_KBI4Pull resistor:No Pull resistorDirection:Output编辑Bit2的属性:Bean name:BitPtb7Pin for IO:PTB7 Pull resistor:No Pull resistorDirection:Output 图6-

21、48 Bits1属性编辑分别进入其Methods页设置PutVal generate code.其它均为dont generate code.如图6-48所示选择菜单ProjectMake产生所需文件,如图6-49所示打开“MyQY6.c”可以看到主程序:Main()函数void main(void) PE_low_level_init(); for(;) 打开“MyQY6.c”可以看到主程序:Main()函数void main(void) PE_low_level_init(); 图6-49 编译界面 for(;) 现在我们编写应用程序代码:Const char decode0_9=0x3F

22、,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F;char disp4;char disp_bit;static byte myValues1; /* Number of channels */void display(char dbit) char i; DispNum_PutVal(0); BitPtb7_PutVal(dbit/2); BitPta4_PutVal(dbit&1); DispNum_PutVal(dispdbit); for(i=255;i=0;i-);void main(void) byte err; PE_low_level_

23、init(); for(;) disp_bit+; disp_bit&=3; display(disp_bit); err = AD1_Measure(TRUE); err = AD1_GetValue(byte *)myValues); disp3=decode0_9myValues0 % 10; disp2=decode0_9(myValues0/10) % 10; disp1=decode0_9myValues0/100; 6.8.2编译调试接下来,点“Make”编译。点“Debug”进入调试。如图6-50所示。在“True-Time Simulator & Real-Time Debu

24、g”工具界面,选择菜单:Component-Set Target Processor栏, 选择HC08, Target栏,选择Simulator Target Interface ,按“OK”。 图6-50 确立目标关闭“True-Time Simulator & Real-Time Debug”工具界面,在主界面中重新按下“Debug”,进入“True-Time Simulator & Real-Time Debug”调试界面。选择Component-Open,如图6-51所示。图6-51 选择Visualizationtool选择Visualizationtool,如图,点击OK,如图6-

25、52所示。图6-52添加元件点击右键,选择Properties,如图6-53所示。图6-53 编辑属性设置:Refresh Mode : PeriodicalRefresh Time (100ms) : 3点击右键,选择Add New Instrument - Bar,在界面下放置虚拟元件点击右键,选择Add New Instrument - 7Segment Display,在界面下放置虚拟元件点击右键,选择Add New Instrument - Switch,在界面下放置虚拟元件双击Bar,如图6-54所示设置:Kind of Port : MemoryPort to Display :

26、 0x3e关闭窗口。双击7Segment Display设置:Kind of Port : MemoryPort to Display : 0x86关闭窗口。设置:Kind of Port : MemoryPort to Display : 0x3cBitnumber to Display: 7关闭窗口。 图 6-54 BAR属性编辑点击右键,取消选择Edit Mode。在“True-Time Simulator & Real-Time Debug”调试界面,按下Sart/Continue,运行程序,在本示例中,Bar元件模拟电位器,开关的一次动作表示一次A/D转换,7Segment Display元件显示转换结果。6.8.3在线编程这一部分在第四章中6.6已经详细表述过了,这里就不再赘述。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服