微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Bootloader技术在数字信号控制器中的应用

Bootloader技术在数字信号控制器中的应用

时间:09-03 来源:互联网 点击:

后会继续等待接收32个指令字( 96字节)并保存到RAM 中, 然后根据接收到的地址擦除FLASH 存储器中的1行, 擦除FLASH 是通过调用汇编函数E raseMem来进行的, 函数原型如下:

mov# 0x4041, NVMCON ; 使NVMCON 寄存器为擦除FLASH模式

mov # 0x55, W 0

movW0, NVMKEY

mov # 0xAA, W0

movW 0, NVMKEY ; 将0x55、0xAA 写入密钥寄存器

bsetNVMCON, #WR ; 开始擦除

nop

nop

return

擦除FLASH存储器的一行后需要把接收到的32个指令字写入到FLASH 存储器写锁存器中, 这一过程可以通过函数W riteLatch 实现, 函数原型如下:

movW0, TBLPAG ; 写表寄存器

tb lw tlW3, [W1]

tb lw thW2, [W1] ; 写入锁存器

return

这一步完成之后就可以将接收到的32个指令字写入FLASH 存储器了, 其方法与擦除FLASH 类似, 写完一行后向PC 机发送应答。待FLASH 存储器全部写完之后, PC 机会发送表示结束下载的命令, 下位机接收后退出Boo tloader程序, 进入新的用户程序继续运行, 从而完成整个在线自编程过程。

7 结束语

dsPIC30F 系列数字信号控制器应用Boot loader实现用户程序在线自编程升级的方法具有很高的应用价值, 尤其是应用于自主开发的工业自动化仪表时给用户程序的现场升级带来了极大的方便。该方法已经成功用于电子皮带秤控制仪表系统中, 达到了提高系统软件升级的更换效率、降低升级费用、提高产品制造商对用户的服务质量满意度的目的。方法虽然仅以dsPIC30F系列芯片为例, 但对于M icrochip公司生产的其它系列芯片只要略加修改同样适用。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top