Hi Expert
看到一个帖子和我问题很类似,但是没有人解答,请帮忙查看一下:
https://e2echina.ti.com/question_answer/microcontrollers/c2000/f/56/t/158753
我的问题是:
目前我们项目有两个工程一个bootloader工程,一个App工程。
两个工程中的begin 和 codestart 映射位置都一样,但是程序部分扇区分配两个工程不冲突,从BANK0头开始先分配给Bootloader,后面 再分配给APP。烧写的时候,分别烧写BL然后烧写APP。
此时,上电跳转的_c_int00 是指向哪个工程的main?应该如何理解啊?
我们通过实验是指向了bootloader,那该如何解释呢?
期待您的回复。
谢谢
mangui zhang:你这属于二次引导了吧,MCU厂家固化的引导是修改不了的,获取BOOT模式,跳转到程序入口,
运行BootLoader引导APP
Hi Expert
看到一个帖子和我问题很类似,但是没有人解答,请帮忙查看一下:
https://e2echina.ti.com/question_answer/microcontrollers/c2000/f/56/t/158753
我的问题是:
目前我们项目有两个工程一个bootloader工程,一个App工程。
两个工程中的begin 和 codestart 映射位置都一样,但是程序部分扇区分配两个工程不冲突,从BANK0头开始先分配给Bootloader,后面 再分配给APP。烧写的时候,分别烧写BL然后烧写APP。
此时,上电跳转的_c_int00 是指向哪个工程的main?应该如何理解啊?
我们通过实验是指向了bootloader,那该如何解释呢?
期待您的回复。
谢谢
beanspower:
回复 Green Deng:
感谢GREEN的回答。
您分析的过程是没错的,由Bootloader引导代码升级。
现在疑惑的就是为何程序可以直接优先跳转到Bootloader main(),而没有先跳到APP的 main(),和程序指针有关吗?向下执行,优先执行最低位的main函数?
创建的两个工程都是_c_int00跳转到main函数的,我们就是很疑惑。
Hi Expert
看到一个帖子和我问题很类似,但是没有人解答,请帮忙查看一下:
https://e2echina.ti.com/question_answer/microcontrollers/c2000/f/56/t/158753
我的问题是:
目前我们项目有两个工程一个bootloader工程,一个App工程。
两个工程中的begin 和 codestart 映射位置都一样,但是程序部分扇区分配两个工程不冲突,从BANK0头开始先分配给Bootloader,后面 再分配给APP。烧写的时候,分别烧写BL然后烧写APP。
此时,上电跳转的_c_int00 是指向哪个工程的main?应该如何理解啊?
我们通过实验是指向了bootloader,那该如何解释呢?
期待您的回复。
谢谢
beanspower:
回复 mangui zhang:
感谢mangui的回答。
我们使用了280049,由GPIO24 和GPIO32 确认引导模式。现在就是疑惑这个跳转的程序入口是怎么配置的?怎么确保程序一定先跳转到BL程序的main 而不是APP的main。
Hi Expert
看到一个帖子和我问题很类似,但是没有人解答,请帮忙查看一下:
https://e2echina.ti.com/question_answer/microcontrollers/c2000/f/56/t/158753
我的问题是:
目前我们项目有两个工程一个bootloader工程,一个App工程。
两个工程中的begin 和 codestart 映射位置都一样,但是程序部分扇区分配两个工程不冲突,从BANK0头开始先分配给Bootloader,后面 再分配给APP。烧写的时候,分别烧写BL然后烧写APP。
此时,上电跳转的_c_int00 是指向哪个工程的main?应该如何理解啊?
我们通过实验是指向了bootloader,那该如何解释呢?
期待您的回复。
谢谢
beanspower:
回复 mangui zhang:
感谢mangui的回答。
使用的280049,GPIO24和GPIO32确定引导模式。
现在疑惑的就是跳转程序入口,可是我们现在有两个工程。如何确保跳转的首先是BL main(),而非APP main()?
Hi Expert
看到一个帖子和我问题很类似,但是没有人解答,请帮忙查看一下:
https://e2echina.ti.com/question_answer/microcontrollers/c2000/f/56/t/158753
我的问题是:
目前我们项目有两个工程一个bootloader工程,一个App工程。
两个工程中的begin 和 codestart 映射位置都一样,但是程序部分扇区分配两个工程不冲突,从BANK0头开始先分配给Bootloader,后面 再分配给APP。烧写的时候,分别烧写BL然后烧写APP。
此时,上电跳转的_c_int00 是指向哪个工程的main?应该如何理解啊?
我们通过实验是指向了bootloader,那该如何解释呢?
期待您的回复。
谢谢
Susan Yang:
回复 beanspower:
建议您看一下之前工程师的分享文章
e2echina.ti.com/…/22790
Hi Expert
看到一个帖子和我问题很类似,但是没有人解答,请帮忙查看一下:
https://e2echina.ti.com/question_answer/microcontrollers/c2000/f/56/t/158753
我的问题是:
目前我们项目有两个工程一个bootloader工程,一个App工程。
两个工程中的begin 和 codestart 映射位置都一样,但是程序部分扇区分配两个工程不冲突,从BANK0头开始先分配给Bootloader,后面 再分配给APP。烧写的时候,分别烧写BL然后烧写APP。
此时,上电跳转的_c_int00 是指向哪个工程的main?应该如何理解啊?
我们通过实验是指向了bootloader,那该如何解释呢?
期待您的回复。
谢谢
beanspower:
回复 Susan Yang:
好的,谢谢 Susan