778|1

6943

帖子

19

资源

纯净的硅(中级)

Flash——如何将应用程序从RAM配置修改为Flash配置? [复制链接]

如何将应用程序从基于RAM的配置修改为基于Flash的配置?

 

以下适用于TMS320F2838x、TMS320F2837x、TMS320F2807x、TMS320F28004x。

所有C2000Ware示例项目均提供了RAM和Flash的build配置。如要将bulid配置从RAM更改为Flash,用户可将项目导入CCS,然后右键单击该项目,选择“Build Configurations”->“Set Active”->“Flash”。

通过选择此Flash配置,用户可以注意到:

_FLASH在“Project Build”设置下的“Predefined symbols”部分中定义。它用于定义和执行任何特定于Flash构建的代码。
为应用程序选择基于Flash的链接器命令文件,而非基于RAM的链接器命令文件。C2000Ware中提供了基于Flash的链接器命令文件以供参考(例如:XXX_FLASH_lnk_cpu1.cmd ,路径 C2000Ware_x_xx_xx_xx\device_support\XXX\common\cmd)。基于Flash的链接器命令文件将codestart映射到Flash入口点地址。
在基于Flash的链接器命令文件中,所有已经初始化的扇区均映射到Flash存储器。
需要从RAM执行的所有函数(初始化或0-wait)均已分配给代码中的.TI.ramfunc扇区。例如:Flash_initModule() 被分配给.TI.ramfunc扇区。必须从RAM中执行该Flash初始化程序(配置Flash等待状态、预取/缓存模式、电源等)。
TI.ramfunc扇区在基于Flash的链接器命令文件中映射到“Load”的Flash地址和“RUN”的RAM地址。
使用基于Flash的链接器命令文件中的ALIGN()指令,将映射到Flash的所有扇区在128位边界上对齐。
在应用程序中调用memcpy()函数,将.TI.ramfunc内容从Flash复制到RAM。在执行分配给.TI.ramfunc扇区的任何代码之前,需要调用memcpy()。
对于EABI类型的可执行文件:在链接器cmd文件中,所有映射到RAM的未初始化扇区都被定义为NOINIT扇区(使用指令“type = NOINIT”)。

 


回复

324

帖子

2

资源

一粒金砂(中级)

感谢分享

回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/7 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表