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

Bootloader过程中的cmd怎么修改?

TI工程师们,你们好!

最近在做F2810的CAN引导的Bootloader,我想问一下如果我把bootloader放入A扇区,应用程序想放入D扇区,请问应用程序的cmd文件应该怎么修改呢?

因为在cmd文件中CSM_RSVD、BEGIN 、CSM_PWL这三个储存空间总是连续的,并且BEGIN总是夹在另外两个中间,cmd还要求空间必须连续,要改BEGIN必须会改另外两个区间,而另外两个的空间又必须在FLASHA中,也就是说BEGIN也必须在FLASHA中,。这样就矛盾了,该怎么改呢?

谢谢!

Eric Ma:

首先,BEGIN只是两个单元的跳转地址,是固定不变的。我觉得跟CSM没什么关系,不用去管他们。

做bootloader的时候,我的做法是用两个工程,bootloader自己的工程,main, cmd, 初始化等,同理应用程序。区别就是bootloader把所有的代码都放到A扇区。

那问题就在入口地址分配给谁,而相应的另一个的入口又是如何? 

芯片的上电入口地址是0x3F7FF6,如果你希望上电的时候,先进去bootloader, 那在bootloader的cmd中,则把BEGIN设为0x3F7FF6。那应用程序的BEGIN要设多少呢?假如是D扇区,那我建议可以直接设为

BEGIN       : origin = 0x3EC000, length = 0x000002

FLASHD      : origin = 0x3EC002, length = 0x003FFE

这样,如果bootloader要跳转到应用程序,则直接跳转到0x3EC000这个地址就可以了,用软件跳转你的方式。

反之亦然。

ERIC

TI工程师们,你们好!

最近在做F2810的CAN引导的Bootloader,我想问一下如果我把bootloader放入A扇区,应用程序想放入D扇区,请问应用程序的cmd文件应该怎么修改呢?

因为在cmd文件中CSM_RSVD、BEGIN 、CSM_PWL这三个储存空间总是连续的,并且BEGIN总是夹在另外两个中间,cmd还要求空间必须连续,要改BEGIN必须会改另外两个区间,而另外两个的空间又必须在FLASHA中,也就是说BEGIN也必须在FLASHA中,。这样就矛盾了,该怎么改呢?

谢谢!

user4762646:

回复 Eric Ma:

非常感谢您的回答!我试试。

TI工程师们,你们好!

最近在做F2810的CAN引导的Bootloader,我想问一下如果我把bootloader放入A扇区,应用程序想放入D扇区,请问应用程序的cmd文件应该怎么修改呢?

因为在cmd文件中CSM_RSVD、BEGIN 、CSM_PWL这三个储存空间总是连续的,并且BEGIN总是夹在另外两个中间,cmd还要求空间必须连续,要改BEGIN必须会改另外两个区间,而另外两个的空间又必须在FLASHA中,也就是说BEGIN也必须在FLASHA中,。这样就矛盾了,该怎么改呢?

谢谢!

user4762646:

回复 Eric Ma:

 您好!我尝试修改了一下,有一点不知道该怎么改,就是FLASHA后原来留给CSM_RSVD 、BEGIN 、CSM_PWL这三部分应该怎么弄呢 ?

TI工程师们,你们好!

最近在做F2810的CAN引导的Bootloader,我想问一下如果我把bootloader放入A扇区,应用程序想放入D扇区,请问应用程序的cmd文件应该怎么修改呢?

因为在cmd文件中CSM_RSVD、BEGIN 、CSM_PWL这三个储存空间总是连续的,并且BEGIN总是夹在另外两个中间,cmd还要求空间必须连续,要改BEGIN必须会改另外两个区间,而另外两个的空间又必须在FLASHA中,也就是说BEGIN也必须在FLASHA中,。这样就矛盾了,该怎么改呢?

谢谢!

user4762646:

回复 Eric Ma:

已改好  非常感谢您!

TI工程师们,你们好!

最近在做F2810的CAN引导的Bootloader,我想问一下如果我把bootloader放入A扇区,应用程序想放入D扇区,请问应用程序的cmd文件应该怎么修改呢?

因为在cmd文件中CSM_RSVD、BEGIN 、CSM_PWL这三个储存空间总是连续的,并且BEGIN总是夹在另外两个中间,cmd还要求空间必须连续,要改BEGIN必须会改另外两个区间,而另外两个的空间又必须在FLASHA中,也就是说BEGIN也必须在FLASHA中,。这样就矛盾了,该怎么改呢?

谢谢!

yakun song:

回复 Eric Ma:

我把28335应用程序都分在了H区,修改了BEGIN段报错是怎么回事呢?

TI工程师们,你们好!

最近在做F2810的CAN引导的Bootloader,我想问一下如果我把bootloader放入A扇区,应用程序想放入D扇区,请问应用程序的cmd文件应该怎么修改呢?

因为在cmd文件中CSM_RSVD、BEGIN 、CSM_PWL这三个储存空间总是连续的,并且BEGIN总是夹在另外两个中间,cmd还要求空间必须连续,要改BEGIN必须会改另外两个区间,而另外两个的空间又必须在FLASHA中,也就是说BEGIN也必须在FLASHA中,。这样就矛盾了,该怎么改呢?

谢谢!

yakun song:

回复 yakun song:

没问题了,不好意思搞错了

赞(0)
未经允许不得转载:TI中文支持网 » Bootloader过程中的cmd怎么修改?
分享到: 更多 (0)