飞思卡尔 使用监控程序经行程序烧写、调试的方法说明—C语言编程版
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
已有监控程序的单片机在运行时,首先运行的程序就是监控程序,监控程序首 先会等待 3 秒,同时查询串口是否接收到任何数据,若接收到数据,就进入调试状 态,通过指令进行程序烧写、调试;若 3 秒之内没有从串口上接收到数据,就去执 行用户烧写到单片机内的程序。
二、使用 Code Warrior 进行程序编写时的注意事项
设置好以后就可以用了。
四、程序的ห้องสมุดไป่ตู้载 连接好串口线,打开设置好的超级终端,然后对单片机商店或者复位时,超级
终端就会出现以下文字: D-BUG V1.1 Tsinghua MAC All Right Reserved Type H for Help Type Any Key into Debug, Type H for Help 在刚刚上电或复位的 3 秒内,超级终端会检测串口,等待 PC 机端是否发送过来
改为
其他中断也是如此。
三、PC 机串口界面——超级终端
PC 机上使用的与单片机监控程序通信的软件是 Windows 自带的一个通信界面软 件——超级终端。超级终端的位置在 开始 -> 所有程序 -> 附件 -> 通讯 下,如 图。
打开超级终端后先要给此链接起名称,这个名称可以随意起。
然后要选择通信端口,如下图,选择“连接时使用”为具体接线的那个端口。 需要进行设置,具体要设置通讯的速率和数据格式,设置为如下图:
使用监控程序经行程序烧写、调试的方法说明 C 语言编程版
对 MC9S12DG128 进行调试、程序烧写可以有两种方式:用 BDM 工具通过专门接 口进行和利用监控程序通过串口进行。BDM 方式是芯片厂商提供的调试、烧写方式, 在 DG128 芯片上留有管脚,通过仿真器将目标板和 PC 机相连,PC 机通过 Hiwave 程 序将程序通过仿真器烧写至单片机中。BDM 的一大特点是需要专门的仿真器和开发 环境,在没有仿真器或者 Hiwave 程序时就无法进行程序的烧写。
这时,要通过 传送 菜单下发送文本文件进行要烧写程序的选择。
要选择已经编译好的后缀为 .s19 的文件,每个工程的 s19 文件一般放在工程 文件夹下面的 bin 文件夹中。
选择打开以后,超级终端会以 * 号显示进度,等待 * 号不出现且光标换行后 程序写入即完成可以通过复位来运行用户程序了。
另外一种方式,也就是利用监控程序通过串口进行程序烧写的方式,不用专门 的调试器,不用专门的程序就可进行程序的烧写。
一、简单原理
简单的说,通过串口烧写程序就是用已经烧写在单片机内部的一小段程序,通 过异步串行接口与 PC 机通信,把得到的程序数据写在单片机的 Flash 中。
已烧写进单片机的程序称为监控程序,由 Freescale 公司提供,在发单片机开 发板或提供的硬件平台之前已用 BDM 烧写至单片机内。由于监控程序的存在,单片 机的一些存储空间被占用,中断向量表的位置也要改变。
将 改为
2. 中断向量表偏移的处理 监控程序将中断向量表从$FF00-$FFFF 偏移至$EF00-$EFFF,即用户的程序入口 和中断程序的向量号需要改变。 程序入口的改变要在 Full_Chip_Simulation_linker.prm 进行改动,如下 将 改为 各中断程序的向量号,需要在原来(单片机资料给定的)基础上加上 2048,例 如 10 号中断为定时器第 2 通道中断,使用监控程序时,就要改为 2058 号中断。 即将
任意字符。若无字符,则运行用户程序;若有任意字符,即用户按了键盘(一般按 Enter 键),则进入监控程序的调试状态,此时就可以进行程序下载了。
进入调试状态如下图
此时,按‘H’键看帮助。
与烧写程序有关的操作有‘E’‘Q’‘F’,‘E’‘Q’都是擦除之前单片机里 面的旧程序,‘F’是下载程序。依次按‘E’‘Q’键,然后按‘F’,按‘F’之后 程序会等待用户选择要下载的程序,如图:
由于使用了监控程序,在进行程序编写时就要比平常多注意两个方面的东西, 一是对整个程序存储空间的定义,一是中断向量的偏移。
1. 程序存储空间的定义 监控程序占用了$F000-$FEFF 的存储空间,并且通过串口烧写程序时对此存储空
间进行了写保护,故用户在写程序时要注意必要将程序编译连接至此存储空间中, 为了解决此问题,要在 Full_Chip_Simulation_linker.prm 进行改动,如下:
二、使用 Code Warrior 进行程序编写时的注意事项
设置好以后就可以用了。
四、程序的ห้องสมุดไป่ตู้载 连接好串口线,打开设置好的超级终端,然后对单片机商店或者复位时,超级
终端就会出现以下文字: D-BUG V1.1 Tsinghua MAC All Right Reserved Type H for Help Type Any Key into Debug, Type H for Help 在刚刚上电或复位的 3 秒内,超级终端会检测串口,等待 PC 机端是否发送过来
改为
其他中断也是如此。
三、PC 机串口界面——超级终端
PC 机上使用的与单片机监控程序通信的软件是 Windows 自带的一个通信界面软 件——超级终端。超级终端的位置在 开始 -> 所有程序 -> 附件 -> 通讯 下,如 图。
打开超级终端后先要给此链接起名称,这个名称可以随意起。
然后要选择通信端口,如下图,选择“连接时使用”为具体接线的那个端口。 需要进行设置,具体要设置通讯的速率和数据格式,设置为如下图:
使用监控程序经行程序烧写、调试的方法说明 C 语言编程版
对 MC9S12DG128 进行调试、程序烧写可以有两种方式:用 BDM 工具通过专门接 口进行和利用监控程序通过串口进行。BDM 方式是芯片厂商提供的调试、烧写方式, 在 DG128 芯片上留有管脚,通过仿真器将目标板和 PC 机相连,PC 机通过 Hiwave 程 序将程序通过仿真器烧写至单片机中。BDM 的一大特点是需要专门的仿真器和开发 环境,在没有仿真器或者 Hiwave 程序时就无法进行程序的烧写。
这时,要通过 传送 菜单下发送文本文件进行要烧写程序的选择。
要选择已经编译好的后缀为 .s19 的文件,每个工程的 s19 文件一般放在工程 文件夹下面的 bin 文件夹中。
选择打开以后,超级终端会以 * 号显示进度,等待 * 号不出现且光标换行后 程序写入即完成可以通过复位来运行用户程序了。
另外一种方式,也就是利用监控程序通过串口进行程序烧写的方式,不用专门 的调试器,不用专门的程序就可进行程序的烧写。
一、简单原理
简单的说,通过串口烧写程序就是用已经烧写在单片机内部的一小段程序,通 过异步串行接口与 PC 机通信,把得到的程序数据写在单片机的 Flash 中。
已烧写进单片机的程序称为监控程序,由 Freescale 公司提供,在发单片机开 发板或提供的硬件平台之前已用 BDM 烧写至单片机内。由于监控程序的存在,单片 机的一些存储空间被占用,中断向量表的位置也要改变。
将 改为
2. 中断向量表偏移的处理 监控程序将中断向量表从$FF00-$FFFF 偏移至$EF00-$EFFF,即用户的程序入口 和中断程序的向量号需要改变。 程序入口的改变要在 Full_Chip_Simulation_linker.prm 进行改动,如下 将 改为 各中断程序的向量号,需要在原来(单片机资料给定的)基础上加上 2048,例 如 10 号中断为定时器第 2 通道中断,使用监控程序时,就要改为 2058 号中断。 即将
任意字符。若无字符,则运行用户程序;若有任意字符,即用户按了键盘(一般按 Enter 键),则进入监控程序的调试状态,此时就可以进行程序下载了。
进入调试状态如下图
此时,按‘H’键看帮助。
与烧写程序有关的操作有‘E’‘Q’‘F’,‘E’‘Q’都是擦除之前单片机里 面的旧程序,‘F’是下载程序。依次按‘E’‘Q’键,然后按‘F’,按‘F’之后 程序会等待用户选择要下载的程序,如图:
由于使用了监控程序,在进行程序编写时就要比平常多注意两个方面的东西, 一是对整个程序存储空间的定义,一是中断向量的偏移。
1. 程序存储空间的定义 监控程序占用了$F000-$FEFF 的存储空间,并且通过串口烧写程序时对此存储空
间进行了写保护,故用户在写程序时要注意必要将程序编译连接至此存储空间中, 为了解决此问题,要在 Full_Chip_Simulation_linker.prm 进行改动,如下: