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

关于TMS320F28035的二次Bootloader下载完成后,APP无法正常工作

我现在在使用TMS320F28035做二次Bootloader,APP已经写入FLASH里(Bootloader和APP属于不同的FLASH),已经验证过写入并没有问题。

跳转的方式是在APP里把MAIN的地址固定存储在0x3e8000,在需要跳转的时候读取0x3e8000里的内容,当做跳转的地址(测试过,能实现跳转)。

void main()

{

os_init();

os_run();

}

APP的MAIN函数格式

————————————————————————————————————————————————————————————————-——

现在问题来了,跳转到APP里程序会出现复位,又从头开始执行,或者程序的运行指针还在os_run中(里面是个死循环),但是APP得功能却不正常。

现在我认为可能出现的原因有两个:

1.跳转的方式不对。这次方式是我自己想出来的,也不知道是否很好,有没有缺陷。

2.内存分配有问题。我只对FLASH进行分配(Bootloader程序和APP程序存储的位置不重叠),其余的并未作出分配。

希望大家能给我解决困惑。

Seven Han:可以参考下这边帖子:
e2echina.ti.com/…/87490
e2echina.ti.com/…/93321

我现在在使用TMS320F28035做二次Bootloader,APP已经写入FLASH里(Bootloader和APP属于不同的FLASH),已经验证过写入并没有问题。

跳转的方式是在APP里把MAIN的地址固定存储在0x3e8000,在需要跳转的时候读取0x3e8000里的内容,当做跳转的地址(测试过,能实现跳转)。

void main()

{

os_init();

os_run();

}

APP的MAIN函数格式

————————————————————————————————————————————————————————————————-——

现在问题来了,跳转到APP里程序会出现复位,又从头开始执行,或者程序的运行指针还在os_run中(里面是个死循环),但是APP得功能却不正常。

现在我认为可能出现的原因有两个:

1.跳转的方式不对。这次方式是我自己想出来的,也不知道是否很好,有没有缺陷。

2.内存分配有问题。我只对FLASH进行分配(Bootloader程序和APP程序存储的位置不重叠),其余的并未作出分配。

希望大家能给我解决困惑。

user5048978:

回复 Seven Han:

你好:我认真看了资料,但我反照应用程序的中断环境做了一个测试工程使用一样的CMD文件却可以下载成功,重新上电程序也没问题。所以我认为我无法下载应用程序应该不是跳转的问题。

赞(0)
未经允许不得转载:TI中文支持网 » 关于TMS320F28035的二次Bootloader下载完成后,APP无法正常工作
分享到: 更多 (0)