标题: keil mdk中对函数进行绝对定位的方法 [打印本页]

作者: zilingzhang    时间: 2017-10-26 09:55
标题: keil mdk中对函数进行绝对定位的方法
介绍如何在 keil mdk中对函数进行绝对定位

设置 IROM1 与 IROM2 的起始位置及范围.

点击 Scatter File 的 Edit...修改.sct 文件.

; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x08000000 0x00007000 { ; load region size_region
ER_IROM1 0x08000000 0x00007000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
RW_IRAM1 0x20000000 0x00001000 { ; RW data
.ANY (+RW +ZI)
}
}
LR_IROM2 0x08007000 0x00001000 {
ER_IROM2 0x08007000 0x00001000 { ; load address = execution address
myFlash.o (+RO)
.ANY (+RO)
}
}
;myFlash.o 是单独myFlash.c 文件生成的.o文件,定位到 0x08007000 Flash的位置.
2:也可右键 myFlash.c文件,点击 Options for File ‘myFlash.c’...
注意:一样也要设置 IROM1与 IROM2的起始位置及范围.





在 Code/Const:指定地址到 IROM2[0x8007000-0x8007FFF]中.一样实现定位.
当然.sct文件由MDK 自动即可.不用再去修改了.如下图:


完整的pdf格式文档下载:
KEIL MDK函数绝对定位.pdf (273.36 KB, 下载次数: 82)



作者: canghaiwuhen    时间: 2018-10-27 20:42
支持~~~~好资料,51黑有你更精彩!!!
作者: t8828121    时间: 2020-10-12 22:57
Good Job!! Baby!!
作者: sfd123    时间: 2021-1-26 12:52
什么情况下  使用呢?
作者: 单片机爱好者223    时间: 2021-7-14 21:51
只是分段定位而已,不是绝地地址定位。。。没什么意义




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1