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

关于28335FLASH程序 上电搬移到RAM

在看例程和Tim Love 写的文档时有几个疑问。1: 烧写在flash中的程序上电后是不是既可以部分搬移到RAM中运行又可以全部搬移到RAM中运行:?2:如果是这样的话,当使用FLASH_API的时候,是不是操作就不一样了呢?:3:上电后程序全部搬移到RAM里运行的时候还可以使用FLASH_API吗?

希望您能够点拨我的疑惑,非常感谢您百忙之中阅读和回答我的问题。

tanson tang:

回复 Eric Ma:

非常感谢您的耐心作答,帮助我解除了迷惑。还有一个问题请教您:

假设我把所有程序上电都搬移到RAM中运行,是不是ramfuncs段全都换成text段?

一些将函数映射到ramfuncs段的操作就不需要做了?

还有无论程序运行在flash里还是RAM 里当接到指令需要调用FLASH_API函数的时候都要将全局中断关掉?

再次致谢!

在看例程和Tim Love 写的文档时有几个疑问。1: 烧写在flash中的程序上电后是不是既可以部分搬移到RAM中运行又可以全部搬移到RAM中运行:?2:如果是这样的话,当使用FLASH_API的时候,是不是操作就不一样了呢?:3:上电后程序全部搬移到RAM里运行的时候还可以使用FLASH_API吗?

希望您能够点拨我的疑惑,非常感谢您百忙之中阅读和回答我的问题。

Eric Ma:

回复 tanson tang:

tanson,

假设我把所有程序上电都搬移到RAM中运行,是不是ramfuncs段全都换成text段?

一些将函数映射到ramfuncs段的操作就不需要做了?

你说的对,只要把.text段按照ramfuncs设置就可以把整个.text段也就是所有的代码都加载在flash,但是跑在RAM,但你要保证RAM的空间够用。

还有无论程序运行在flash里还是RAM 里当接到指令需要调用FLASH_API函数的时候都要将全局中断关掉?

在你调用FLASH API进行擦除,烧写的时候,我建议关掉全局中断,即禁止所有中断,等flash操作完再打开。当然,在FLASH API操作的过程中,有一个阶段是可以接收中断的,你需要读FLASH API的指导手册。但如没有特殊中断要求,还是关掉比较方便。

Eric

 

在看例程和Tim Love 写的文档时有几个疑问。1: 烧写在flash中的程序上电后是不是既可以部分搬移到RAM中运行又可以全部搬移到RAM中运行:?2:如果是这样的话,当使用FLASH_API的时候,是不是操作就不一样了呢?:3:上电后程序全部搬移到RAM里运行的时候还可以使用FLASH_API吗?

希望您能够点拨我的疑惑,非常感谢您百忙之中阅读和回答我的问题。

tanson tang:

回复 Eric Ma:

Hi,Eric

     我还想请教一下,当连接仿真器的时候程序就是在RAM里运行的,那是不是说明把程序全部从FLASH搬移RAM的时候,RAM 的空间是够用的呢?

在看例程和Tim Love 写的文档时有几个疑问。1: 烧写在flash中的程序上电后是不是既可以部分搬移到RAM中运行又可以全部搬移到RAM中运行:?2:如果是这样的话,当使用FLASH_API的时候,是不是操作就不一样了呢?:3:上电后程序全部搬移到RAM里运行的时候还可以使用FLASH_API吗?

希望您能够点拨我的疑惑,非常感谢您百忙之中阅读和回答我的问题。

Eric Ma:

回复 tanson tang:

tanson

TI的许多例程确实都是运行在RAM中进行仿真,因为程序比较小,所以在RAM仿真没问题,但如果程序较大,超过RAM的存储范围,那就还是需要下载到flash中。

你看一下你工程编译后的.map文件,看一下其中的.text段有多大,RAM区域能不能cover过来,如果能,就可以。

Eric

在看例程和Tim Love 写的文档时有几个疑问。1: 烧写在flash中的程序上电后是不是既可以部分搬移到RAM中运行又可以全部搬移到RAM中运行:?2:如果是这样的话,当使用FLASH_API的时候,是不是操作就不一样了呢?:3:上电后程序全部搬移到RAM里运行的时候还可以使用FLASH_API吗?

希望您能够点拨我的疑惑,非常感谢您百忙之中阅读和回答我的问题。

tanson tang:

回复 Eric Ma:

Eric

      非常感谢您的悉心指导,让我把这个问题理解透彻了。

                                                                              thanks

在看例程和Tim Love 写的文档时有几个疑问。1: 烧写在flash中的程序上电后是不是既可以部分搬移到RAM中运行又可以全部搬移到RAM中运行:?2:如果是这样的话,当使用FLASH_API的时候,是不是操作就不一样了呢?:3:上电后程序全部搬移到RAM里运行的时候还可以使用FLASH_API吗?

希望您能够点拨我的疑惑,非常感谢您百忙之中阅读和回答我的问题。

wan zhang:

回复 Eric Ma:

怎么计算呢 ?如果是  

.text      0    00008a02    00003e59 

那么是 0x3e59 大小?

在看例程和Tim Love 写的文档时有几个疑问。1: 烧写在flash中的程序上电后是不是既可以部分搬移到RAM中运行又可以全部搬移到RAM中运行:?2:如果是这样的话,当使用FLASH_API的时候,是不是操作就不一样了呢?:3:上电后程序全部搬移到RAM里运行的时候还可以使用FLASH_API吗?

希望您能够点拨我的疑惑,非常感谢您百忙之中阅读和回答我的问题。

mike tanson:

回复 wan zhang:

嗯,是的

在看例程和Tim Love 写的文档时有几个疑问。1: 烧写在flash中的程序上电后是不是既可以部分搬移到RAM中运行又可以全部搬移到RAM中运行:?2:如果是这样的话,当使用FLASH_API的时候,是不是操作就不一样了呢?:3:上电后程序全部搬移到RAM里运行的时候还可以使用FLASH_API吗?

希望您能够点拨我的疑惑,非常感谢您百忙之中阅读和回答我的问题。

Eric Ma:

回复 wan zhang:

Wan

下图是.MAP文件的截图,可以从上面看到每个存储块的起始地址origin, 长度Length, 使用了多少used,还剩下多少unused.

那么关于代码段.text  0  00008a02是它的起始地址,   00003e59是它使用了多少个字。

 

赞(0)
未经允许不得转载:TI中文支持网 » 关于28335FLASH程序 上电搬移到RAM
分享到: 更多 (0)