TI中文支持网
TI专业的中文技术问题咨询交流网站

DSP2833x_CodeStartBranch.asm文件疑问

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

赞(0)
未经允许不得转载:TI中文支持网 » DSP2833x_CodeStartBranch.asm文件疑问
分享到: 更多 (0)