TI微控制器&处理器论坛
| | | |
打印

[MCU] 有关CMD文件的一个问题请教

[复制链接]
139|6
跳转到指定楼层
楼主
 楼主 | 2019-10-24 09:25 | 只看该作者 ||退出气泡模式 回帖奖励 |倒序浏览 |阅读模式
#if defined(__TI_EABI__)
   .TI.ramfunc      : LOAD = FLASH_BANK0_SEC1,
                      RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3,
                      LOAD_START(RamfuncsLoadStart),
                      LOAD_SIZE(RamfuncsLoadSize),
                      LOAD_END(RamfuncsLoadEnd),
                      RUN_START(RamfuncsRunStart),
                      RUN_SIZE(RamfuncsRunSize),
                      RUN_END(RamfuncsRunEnd),
                      PAGE = 0, ALIGN(4)
#else                                          
   .TI.ramfunc      : LOAD = FLASH_BANK0_SEC1,
                      RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3,
                      LOAD_START(_RamfuncsLoadStart),
                      LOAD_SIZE(_RamfuncsLoadSize),
                      LOAD_END(_RamfuncsLoadEnd),
                      RUN_START(_RamfuncsRunStart),
                      RUN_SIZE(_RamfuncsRunSize),
                      RUN_END(_RamfuncsRunEnd),
                      PAGE = 0, ALIGN(4)
#endif


CMD预编译有两种情况,一种变量EABI输出格式,一种COFF输出格式。
我看头文件定义的变量是不带下划线的,如下:
extern Uint16 RamfuncsLoadStart;
extern Uint16 RamfuncsLoadEnd;
extern Uint16 RamfuncsLoadSize;
extern Uint16 RamfuncsRunStart;
extern Uint16 RamfuncsRunEnd;
extern Uint16 RamfuncsRunSize;

但是为何在COFF调用类似LOAD_START指令时,里面的变量需要加下划线,变成_RamFuncsLoadSize
不加的话编译会报错。
沙发
| 2019-10-24 15:46 | 只看该作者
应该是预编译的环境不同导致的吧
板凳
 楼主 | 2019-10-25 11:31 | 只看该作者
equivalent 发表于 2019-10-24 15:46
应该是预编译的环境不同导致的吧

主要想了解这两个预编译环境的区别
地板
| 2019-10-26 22:46 | 只看该作者
找找其他文件中关于#if defined(__TI_EABI__) 的宏定义
5
 楼主 | 2019-10-27 16:27 | 只看该作者
zhangmangui 发表于 2019-10-26 22:46
找找其他文件中关于#if defined(__TI_EABI__) 的宏定义

您好,我搜索过没找到,可以给个相关文件链接么?
6
 楼主 | 2019-10-27 16:37 | 只看该作者
zhangmangui 发表于 2019-10-26 22:46
找找其他文件中关于#if defined(__TI_EABI__) 的宏定义

我看过您2015发的一个帖子,链接如下:欢乐赛车http://bbs.hzflxx.com/icview-882026-1-1.html
里面也描述到了LOAD_START, LOAD_END, RUN_START等相关指令,就是不知为何CMD用的_RamfuncsLoadStart等指向段地址变量名用了下划线,而在·C文件中调用Memcpy函数的时候没有下划线。
是输出格式的原因么?
7
| 2019-10-28 11:18 | 只看该作者
不太清楚,支持一下
扫描二维码,随时随地手机跟帖
*滑动验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表
上海11选5 快赢彩票 快三投注网 合乐彩票app 诚信网投开户 全中彩票 海南4+1 广西快3 福建快3走势 重庆彩票网