172|0

5209

帖子

0

资源

纯净的硅(高级)

TI DSP的bootloader与在线升级 [复制链接]

ti bootloader:SCI/SPI/CAN/I2C等特定的外设引脚,配合ti串口烧录工具(ti官网搜索controlSUITE下载安装,在ti目录下serial_flash_programmer.exe)通过PC cmd指令进行操作下载。
优点:可直接调用flashAPI(),不需额外的协议指令;
缺点:必须通过GPIO跳线使芯片进入对应的引导模式,比如CAN引导是一组电平组合,SCI引导是另外一种,而程序正常运行又是另外一种,它可以将整个芯片的所有flash擦除,然后实现编程。
image.png
IAP在线升级:是指用户自己开发一个bootloader驻留在芯片的flash区的某一个sector永远不被擦除,然后需要升级时,不需要进行跳线,而是可以直接通过通讯命令在应用程序层面进行处理,比如通过CAN,然后使机器停机,但MCU仍然正常运行的情况下,使程序跳转到bootloader运行,它可以把除了自己以外的所有flash擦除并编程,并在完成之后跳转回到应用程序继续运行。这个区别就在于不需要断电使MCU停止工作,而且不需要拆机跳线,因此在现场升级时非常方便。

IAP:在线应用程序烧写in application program,针对用户程序进行代码修改,需要自己写引导程序(bootloader固件);(可用作远程升级)

ISP:在线系统程序烧写in system program,更新时用户区代码停止工作,不需自己写引导程序;

ICP:在电路编程in circuit program,LPC芯片的编程方式。

IAP在线升级的重点:
固件层面有两个:一个bootloader固件,一个app固件;
其中bootloader固件为引导程序,必须放在单片机重新上电或者复位后的默认运行地址处;
app固件为用户程序,两个固件必须存放在不同的flash地址。

bootloader功能:
1.实现对app程序存储区域的数据清除,为写入新的app固件数据做准备;
2.接收CAN总线传输过来的的app固件数据,校验无误后写入app程序存储区域;
3.检测跳转标志位,有效则跳转到app程序开始处(main),无效则一直停留在bootloader程序等待;

app功能:
1.响应固件跳转命令,收到跳转命令后,跳转到bootloader下运行bootloader程序;
2.实现用户功能;

DSP上电程序运行流程:
image.png
DSP 一次引导流程(一般TI自带的BootLoader工具是在一次引导中完成,需要boot口高低电平配合):
image.png
DSP 二次引导流程:
image.png image.png

bootloader关键技术点:

cmd文件中flash地址分配;
bin文件写入(注意bin文件写入的高低字节)
bin文件写入区域的限制,不要覆盖boot区域;
bootloader存在问题:
生成的bin文件比实际使用的区域更大;
生成的bin文件是从使用的开始sector一直到结束的sector。

image.png


回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/5 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表