在线时间260 小时
UID415468
注册时间2013-1-30
NXP金币0
TA的每日心情 | 慵懒 2018-11-15 16:18 |
---|
签到天数: 39 天 连续签到: 1 天 [LV.5]常住居民I
高级会员

- 积分
- 993
- 最后登录
- 2023-1-6
|
发表于 2015-7-3 21:44:16
|
显示全部楼层
/* Highest address of the user mode stack */
_estack = 0x20003000; /* end of SRAM */
__SP_INIT = _estack;
/* Generate a link error if heap and stack don't fit into RAM */
__heap_size = 0x100; /* required amount of heap */
__stack_size = 0x100; /* required amount of stack */
/* Specify the memory areas */
MEMORY
{
m_interrupts (rx) : ORIGIN = 0x00000000, LENGTH = 0xC0/*这部分是中断向量表的位置,可以挪动,可以把 ORIGIN = 0x00000000写成 ORIGIN = 0x00000100或者0x00000200等,BOOTLOADER需要重置中断向量表,寄存器就是SCB_VTOR = (uint32_t)0x100或者0x200就重置了; /* Set the interrupt vector table position */
m_cfmprotrom (rx) : ORIGIN = 0x00000400, LENGTH = 0x10 /*这部分涉及FLASH保护机制,所以定死动不了*/
m_text (rx) : ORIGIN = 0x00000800, LENGTH = 128K - 0x800/*这部分是ROM,写死的,不过有FLASH擦写也可以擦掉*/
m_data (rwx) : ORIGIN = 0x1FFFF000, LENGTH = 16K /* SRAM,放置堆栈等的地方 */
}
反正以上这些的除了m_cfmprotrom(rx)的ORIGIN不能改,其他都可以改,但这个已经默认给你写到最大范围的,你只能缩小。缩小的话你的 LENGTH也要缩小。
|
|