STC单片机Keil中C语言函数定位的方法
STC单片机Keil中C语言函数定位的方法:STC单片机Keil中C语言函数定位的方法
下面以演示程序进行说明
演示程序中有ReadIAP、ProgramIAP和EraseIAP三个函数
最终目的是将这三个函数都定位到0x8000之后
第一步:新建一个项目“Demo”,并将源文件“Demo.C”添加到项目中
第二步:直接编译,并打开编译后生成的“Demo.M51”文件
从M51文件的“CODE MEMORY”信息中,可以看到3个函数的链接名称、链接地址和函数长度
ReadIAP的链接名称为“?PR?_READIAP?DEMO”,链接地址为“0003H”,长度为16H字节
ProgramIAP的链接名称为“?PR?_PROGRAMIAP?DEMO”,链接地址为“0019H”,长度为16H字节
EraseIAP的链接名称为“?PR?_ERASEIAP?DEMO”,链接地址为“0044H”,长度为14H字节
第三步:根据M51中函数的长度信息计算出各个函数重定位的地址,
ReadIAP的重定位的地址为0x8000
ProgramIAP的重定位的地址为0x8016
EraseIAP的重定位的地址为0x802C
第四步:打开项目选项中的“BL51 Locate”属性页
在上图的“Code”域中输入下列语句“?PR?_READIAP?DEMO(0x8000), ?PR?_PROGRAMIAP?DEMO(0x8016), ?PR?_ERASEIAP?DEMO(0x802C)”
第五步:点击确定按钮,并重新编译即可,此时可以重新打开“Demo.M51”文件,便可发现3个函数已被重定位到我们所指定的地址了。
非常好我支持^.^
(0) 0%
不好我反对
(1) 100%
下载地址
STC单片机Keil中C语言函数定位的方法下载
相关电子资料下载
- 【AWTK使用经验】如何播放视频或摄像头画面 41
- 在Node-RED中如何用ModbusTCP采集存储Influxdb 1249
- 51单片机STC8H8K64U通过RA8889/RA8876如何控制彩屏 I2C源码下载 133
- STC32和STC8H驱动DS18B20测温串口发送数据 142
- 触摸屏与罗克韦尔AB PLC之间 ModbusTCP/IP无线以太网通讯实例 907
- 通过视频帧提取及批量取模转换实现基于STC32的点阵LED动画播放 107
- 面试中的高频问题:指针函数与函数指针,你能完美应对吗? 121
- DLT645(1997-2007)转modbus规约网关使用说明 337
- PLC编程语言和C语言的区别 444
- 数字滤波器是如何工作的 221