TI中文支持网
TI专业的中文技术问题搜集分享网站

bootloader的编写问题

大家好!

    偶就要抓狂了!请大家帮忙啊?偶想针对TMS320F28030写一个基于CAN的bootloader程序,遇到如下几个问题:

    1,OTP_KEY和OTP_BMODE如何写入?

    2,OTP区不是只能写入一次吗?文档中说:The boot ROM will write this value to EMU_KEY and EMU_BMODE. This value can be used or overwritten by the user if a debugger is connected.怎么回事啊?

    3,boot数据流表如何下载?下载到什么地方?

Johnson Chen1:

楼主你好!

如果楼主要写自己的CAN bootloader,可以在单片机模式下做,通过CAN通信自己做通讯协议和要进入CAN升级的条件,当条件满足时,进入到升级程序中,将CAN发过来的数据放入到RAM中,再调用F2803X的FLASH API,就可以帮你把数据写入到芯片FLASH里面去。

    这样的话,楼主就不需要去操作 OTP_KEY和OTP_BMODE。

boot 的数据流楼主可以查看F2803x 的 SPRUGO0A–TMS320x2803x Piccolo Boot ROM Reference Guide。

 

大家好!

    偶就要抓狂了!请大家帮忙啊?偶想针对TMS320F28030写一个基于CAN的bootloader程序,遇到如下几个问题:

    1,OTP_KEY和OTP_BMODE如何写入?

    2,OTP区不是只能写入一次吗?文档中说:The boot ROM will write this value to EMU_KEY and EMU_BMODE. This value can be used or overwritten by the user if a debugger is connected.怎么回事啊?

    3,boot数据流表如何下载?下载到什么地方?

li yanhong:

回复 Johnson Chen1:

谢谢您!

    不过数据写到Flash里面之后,在启动时,DSP芯片内部固化的bootloader程序不还是先要跳到flash处,程序才会运行的吗?而跳到flash时,还需要设定 OTP_KEY和OTP_BMODE啊?

大家好!

    偶就要抓狂了!请大家帮忙啊?偶想针对TMS320F28030写一个基于CAN的bootloader程序,遇到如下几个问题:

    1,OTP_KEY和OTP_BMODE如何写入?

    2,OTP区不是只能写入一次吗?文档中说:The boot ROM will write this value to EMU_KEY and EMU_BMODE. This value can be used or overwritten by the user if a debugger is connected.怎么回事啊?

    3,boot数据流表如何下载?下载到什么地方?

Laspide Li:

最近也在考虑这个CAN Bootloader

我觉得实际上,CAN bootloader和我想象的应用还是有差别的,

我只是需要通过CAN把更新后的程序写入DSP内Flash,再次上电后DSP即可执行更新后的程序。

在这个过程中,DSP还是应该从Flash 引导。

我认为要做的是,在实际程序中加入判断更新的代码,一旦识别出预先规定的数据帧,就全部存入内存,数据帧接收完毕后,等待一个总线命令,就把这些数据字节写入Flash。我想仿真器可以作的,DSP也应该可以做。

不知道这个思路可不可行,有朋友做过验证没?

大家好!

    偶就要抓狂了!请大家帮忙啊?偶想针对TMS320F28030写一个基于CAN的bootloader程序,遇到如下几个问题:

    1,OTP_KEY和OTP_BMODE如何写入?

    2,OTP区不是只能写入一次吗?文档中说:The boot ROM will write this value to EMU_KEY and EMU_BMODE. This value can be used or overwritten by the user if a debugger is connected.怎么回事啊?

    3,boot数据流表如何下载?下载到什么地方?

li yanhong:

回复 Laspide Li:

您说的这就是引导程序的流程啊!

 但是我现在还搞不临清,DSP芯片内部固化的bootloader程序里面的CAN_Boot.c到底有什么用啊?有关协议方面的解析,我只看到1,MBOX1为接收;2,设置了比特率;,3,MSGID=0X40000,设置其他的没涉及到啊?

bootrom文档中还说GetMode模式默认的引导到flash,但是如下表中

 又要设定OTP_KEY和OTP_BMODE,到底是怎么回事啊?
 

大家好!

    偶就要抓狂了!请大家帮忙啊?偶想针对TMS320F28030写一个基于CAN的bootloader程序,遇到如下几个问题:

    1,OTP_KEY和OTP_BMODE如何写入?

    2,OTP区不是只能写入一次吗?文档中说:The boot ROM will write this value to EMU_KEY and EMU_BMODE. This value can be used or overwritten by the user if a debugger is connected.怎么回事啊?

    3,boot数据流表如何下载?下载到什么地方?

Johnson Chen1:

回复 li yanhong:

楼上 Laspide Li 的想法是正确的,因为客户产品出去以后基本都是从FLASH 引导的,如果楼主更改OTP_KEY和OTP_BMODE的话,会影响到产品正常的引导。

因此我们简单的做法是从FLASH正常引导程序,程序在正常跑的时候在软件中判断CAN发过来的是否为在线升级命令,是的话进入到升级程序就好了。不是的话,正常执行应用程序就好了。

芯片支持通过设定OTP_KEY和OTP_BMODE来实现CAN引导,但大多数情况下,客户的产品并不会设置为由CAN来引导。

大家好!

    偶就要抓狂了!请大家帮忙啊?偶想针对TMS320F28030写一个基于CAN的bootloader程序,遇到如下几个问题:

    1,OTP_KEY和OTP_BMODE如何写入?

    2,OTP区不是只能写入一次吗?文档中说:The boot ROM will write this value to EMU_KEY and EMU_BMODE. This value can be used or overwritten by the user if a debugger is connected.怎么回事啊?

    3,boot数据流表如何下载?下载到什么地方?

li yanhong:

回复 Johnson Chen1:

您好!

    我现在的问题是:如何从FLASH引导?在仿真器连接模式下,固化的OTP_KEY和OTP_BMODE的值分别是多少?

大家好!

    偶就要抓狂了!请大家帮忙啊?偶想针对TMS320F28030写一个基于CAN的bootloader程序,遇到如下几个问题:

    1,OTP_KEY和OTP_BMODE如何写入?

    2,OTP区不是只能写入一次吗?文档中说:The boot ROM will write this value to EMU_KEY and EMU_BMODE. This value can be used or overwritten by the user if a debugger is connected.怎么回事啊?

    3,boot数据流表如何下载?下载到什么地方?

Johnson Chen1:

回复 li yanhong:

你好,

出厂时这两个寄存器都是0XFFFF。

因此可以进入到FLASH引导。

大家好!

    偶就要抓狂了!请大家帮忙啊?偶想针对TMS320F28030写一个基于CAN的bootloader程序,遇到如下几个问题:

    1,OTP_KEY和OTP_BMODE如何写入?

    2,OTP区不是只能写入一次吗?文档中说:The boot ROM will write this value to EMU_KEY and EMU_BMODE. This value can be used or overwritten by the user if a debugger is connected.怎么回事啊?

    3,boot数据流表如何下载?下载到什么地方?

li yanhong:

回复 Johnson Chen1:

您好!

    您看下我理解要做bootloader程序的思路对不对啊?上电->DSP芯片内部的Bootloader运行->通过设定GPIO34=1,GPIO37=1,TRST=0,->引导至FLASH入口0x3F 7FF6处。那么我自己写的加载代码的程序放在哪里?加载的代码又放在哪里?难道放到FLASH扇区的任何地方都可以吗?

大家好!

    偶就要抓狂了!请大家帮忙啊?偶想针对TMS320F28030写一个基于CAN的bootloader程序,遇到如下几个问题:

    1,OTP_KEY和OTP_BMODE如何写入?

    2,OTP区不是只能写入一次吗?文档中说:The boot ROM will write this value to EMU_KEY and EMU_BMODE. This value can be used or overwritten by the user if a debugger is connected.怎么回事啊?

    3,boot数据流表如何下载?下载到什么地方?

Laspide Li:

回复 li yanhong:

我觉得这得写个烧写Flash的上位机程序,干类似CCS下载的活,这可能得TI支持,不然做应用的哪搞的了这个。

另外,网上有类似的软件,不过只支持几种CAN卡,应该都是汽车行业里用的。

这东东搞好了都可以写专利了

大家好!

    偶就要抓狂了!请大家帮忙啊?偶想针对TMS320F28030写一个基于CAN的bootloader程序,遇到如下几个问题:

    1,OTP_KEY和OTP_BMODE如何写入?

    2,OTP区不是只能写入一次吗?文档中说:The boot ROM will write this value to EMU_KEY and EMU_BMODE. This value can be used or overwritten by the user if a debugger is connected.怎么回事啊?

    3,boot数据流表如何下载?下载到什么地方?

wangwang wang:

回复 Johnson Chen1:

那你的意思是不是OTP_KEY,OTP_BMODE就只能操作一次,以后就不能改了是吧!

赞(0)
未经允许不得转载:TI中文支持网 » bootloader的编写问题
分享到: 更多 (0)