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

28035 bootloader引导启动问题

您好:

         我现在要做两个独立的工程,一个是bootloader:负责更新程序,另一个app:正常运行程序。我想问的是每一个工程都有一个启动的过程,像codestart、Ininboot这样的函数都是固化在dsp中的。

         1、把两个工程分区烧写到DSP中,启动时会跳转到哪里?

         2、怎么需要修改两个工程的cmd文件?

谢谢。

Eric Ma:

1. 两个工程都有独立的CMD, 而芯片的上电flash入口地址是0x3F7FF6,通常是BEGIN对应的地址。所以跳转到哪里,关键是看你APP或是bootloader哪个的BEGIN映射的是这个地址。

2. 你看一下这个帖子:Bootloader过程中的cmd怎么修改?

还有这个帖子:

置顶
C2000上电引导模式解析——【TI FAE 经验分享】

Eric

您好:

         我现在要做两个独立的工程,一个是bootloader:负责更新程序,另一个app:正常运行程序。我想问的是每一个工程都有一个启动的过程,像codestart、Ininboot这样的函数都是固化在dsp中的。

         1、把两个工程分区烧写到DSP中,启动时会跳转到哪里?

         2、怎么需要修改两个工程的cmd文件?

谢谢。

user4129436:

回复 Eric Ma:

您好:我看了您推荐的帖子,感觉清晰了很多。bootloader工程和APP工程这两个工程可以利用其相应的地址进行跳转,由于这两个工程共用的是一片内存。

          1、那这两个函数进行跳转的过程中,是否需要像中断一样需要保存或清除一些寄存器?

          2、CCS6.0能分别烧写这两个工程吗?还是只能先烧写Bootloader工程,在利用Bootloader烧写APP工程?

谢谢您的回复。

您好:

         我现在要做两个独立的工程,一个是bootloader:负责更新程序,另一个app:正常运行程序。我想问的是每一个工程都有一个启动的过程,像codestart、Ininboot这样的函数都是固化在dsp中的。

         1、把两个工程分区烧写到DSP中,启动时会跳转到哪里?

         2、怎么需要修改两个工程的cmd文件?

谢谢。

Eric Ma:

回复 user4129436:

1. 如果是在线升级,bootloader和APP是分开的两个工程,各管各,所以各种必要的初始化我建议都是要的。

2. CCS可以分开对一个芯片烧写两个工程,烧写的时候,选择tool > on chip flash, 设置对应要擦除的flash扇区。

Eric

您好:

         我现在要做两个独立的工程,一个是bootloader:负责更新程序,另一个app:正常运行程序。我想问的是每一个工程都有一个启动的过程,像codestart、Ininboot这样的函数都是固化在dsp中的。

         1、把两个工程分区烧写到DSP中,启动时会跳转到哪里?

         2、怎么需要修改两个工程的cmd文件?

谢谢。

user4129436:

回复 Eric Ma:

您好:这两天比较忙没能及时回复,不好意思。

         1、关于bootloader程序向APP程序跳转前,是否应该调用ExitBoot程序,来保证bootloader程序不会影响APP程序?

         2、怎么调用?这好像是个库函数吧?还有它最后的长跳转指令,是跳到哪去?

         3、还有就是CCS6.0好像只有在仿真模式下才会有tool吧?

期待您的回复。

您好:

         我现在要做两个独立的工程,一个是bootloader:负责更新程序,另一个app:正常运行程序。我想问的是每一个工程都有一个启动的过程,像codestart、Ininboot这样的函数都是固化在dsp中的。

         1、把两个工程分区烧写到DSP中,启动时会跳转到哪里?

         2、怎么需要修改两个工程的cmd文件?

谢谢。

Eric Ma:

回复 user4129436:

ROM中有芯片出厂自带的bootloader, 如果你要使用起来,就必须遵循它的协议和逻辑。

如果是你自己另外写用于在线升级的bootloader,则不用调用什么exitboot,可以自己设置跳转。

CCS6.0只有在仿真模式下才会有tool。

ERIC

您好:

         我现在要做两个独立的工程,一个是bootloader:负责更新程序,另一个app:正常运行程序。我想问的是每一个工程都有一个启动的过程,像codestart、Ininboot这样的函数都是固化在dsp中的。

         1、把两个工程分区烧写到DSP中,启动时会跳转到哪里?

         2、怎么需要修改两个工程的cmd文件?

谢谢。

user4129436:

回复 Eric Ma:

您好,我是自己写的bootloader已经实现跳转,您的意思是只要跳转到APP程序,APP程序就会重新按dsp自己的协议运行,包括复位。寄存器也会自动复位,不会受bootloader程序影响,我这样理解对吗?

感谢您的回复。

您好:

         我现在要做两个独立的工程,一个是bootloader:负责更新程序,另一个app:正常运行程序。我想问的是每一个工程都有一个启动的过程,像codestart、Ininboot这样的函数都是固化在dsp中的。

         1、把两个工程分区烧写到DSP中,启动时会跳转到哪里?

         2、怎么需要修改两个工程的cmd文件?

谢谢。

Eric Ma:

回复 user4129436:

如果是独立的两个工程,那跳转到APP后,芯片就会跑APP的初始化代码,不会受bootLoader的工程影响。

ERIC

您好:

         我现在要做两个独立的工程,一个是bootloader:负责更新程序,另一个app:正常运行程序。我想问的是每一个工程都有一个启动的过程,像codestart、Ininboot这样的函数都是固化在dsp中的。

         1、把两个工程分区烧写到DSP中,启动时会跳转到哪里?

         2、怎么需要修改两个工程的cmd文件?

谢谢。

xc li:

回复 user4129436:

你的问题解决了吗?可否加我qq378739678,我也遇到类似的问题,希望可以指点一下。

赞(0)
未经允许不得转载:TI中文支持网 » 28035 bootloader引导启动问题
分享到: 更多 (0)