如果想定在rom空间
icf中:
place at address mem:0x08090000 { readonly section .test };
C:中:
#pragma location = ".test"
const u32 uiData[512];// const 切不可省略
如果想定在ram空间
icf中:
place at address mem:0x08090000 { readwrite section .test };
C:中:
#pragma location = ".test"
u32 uiData[512];
可发现uiData的值为0x08090000
该法可方便通过ICF指定某变量的地址。
程序也可以。写法类似.vector
如果用block的方。类似
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
C中:
#pragma language="extended"
#pragma segment="CSTACK"
ptr = __sfe( "CSTACK" );可得到CSTACK的高端地址+1
__sfe: Returns last address of segment.
参考资料:stm32f10x_vector.c
EWARM_DevelopmentGuide.ENU.PDF(该资料全但不细。要是哪里有更详细的推荐一下啊)
文章评论(0条评论)
登录后参与讨论