本帖最后由 zhangmangui 于 2019-7-31 21:09 编辑
CPU1 bootloader 完成后CPU2的bootloader 如果使用独立SCI时,也就是每个CPU都有一个SCI时,
CPU1的bl和CPU2的bl相差不大。为节省一个SCI,通过其他方式对CPU2进行程序烧写。
1,通过串口权限转移的方式在不同时刻把SCI权限给CPU1和CPU2,在两个CPU都在bl情况下可实现,但是,在
两CPU都处于app情况下,会有问题,TI官网不建议外设权限转换。
2,通过CPU1和CPU2中的SharRAM来实现CPU2程序更新。
主要问题点时,CPU1接收到的数据要快速的传给CPU2,CPU2和上位机之间要有应答,flash擦除完成后要返回值给上位机
通过修改程序,使CPU1在接收到CPU2 hex数据时,通过ShareRAM传递给CPU2,通过ShareRAM把烧入状态转发给CPU1,
CPU1再通过SCI转发给上位机。
CPU2中不要有IPC bootmode 选择,bl模式下最好不要有中断,在程序对flash操作时进入中断会使烧入失败。
主要问题:
1,开始时不确定通过ShareRAM能不能实现改功能。
2,共享RAM中一位数据最少为16位,在CPU2中需要再强制转换成8位。
3,CPU2对输出处理需要一定时间,CPU1和CPU2两个的时序需特别注意。
感谢 a6100309120
|