介绍如何在 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, 下载次数: 81)
|