关于1754 IAR下编译结果不正常,RAM大于16K就出现

[复制链接]
1425|6
 楼主| 弄月书生 发表于 2014-11-26 17:11 | 显示全部楼层 |阅读模式
我的代码用IAR 6.10编译,但是只要使用的RAM大于16K时就进入App_Fault_ISR。
进入前执行_iar_data_init3:的第一条PUSH指令。 PUSH {R4,LR}
不知是编译器是否有限制,还是设置不正确?
芯片是LPC1754 RAM 32K
还JLINK硬件限制,?
请各位大侠帮忙!
 楼主| 弄月书生 发表于 2014-11-26 17:18 | 显示全部楼层

/* ------------------------------------------- SPECIAL ---------------------------------------------- */
define symbol __ICFEDIT_intvec_start__ = 0x00000000;


/* -------------------------------------------- MEMORY ---------------------------------------------- */
define memory mem with size = 4G;
define symbol __ICFEDIT_region_ROM_start__   = 0x00000100;
define symbol __ICFEDIT_region_ROM_end__     = 0x0003FFFF;
define symbol __ICFEDIT_region_RAM_start__   = 0x10000000;
define symbol __ICFEDIT_region_RAM_end__     = 0x10007FFF;

/* ---------------------------------------- MEMORY REGIONS ------------------------------------------ */

define region ROM_region   = mem:[from __ICFEDIT_region_ROM_start__   to __ICFEDIT_region_ROM_end__];
define region RAM_region   = mem:[from __ICFEDIT_region_RAM_start__   to __ICFEDIT_region_RAM_end__];


/* ----------------------------------------- STACKS & HEAP ----------------------------------------- */
define symbol __ICFEDIT_size_cstack__   = 0x200;
define symbol __ICFEDIT_size_heap__     = 0x100;

define symbol _AHB_RAM_start__  = 0x2007C000;
define symbol _AHB_RAM_end__    = 0x20083FFF;
define region AHB_RAM_region = mem:[from _AHB_RAM_start__ to _AHB_RAM_end__];

define block CSTACK    with alignment = 8, size = __ICFEDIT_size_cstack__   { };
define block HEAP      with alignment = 8, size = __ICFEDIT_size_heap__     { };


/* ----------------------------------------- INITIALIZATION ----------------------------------------- */
initialize by copy { readwrite };
do not initialize  { section .noinit };
do not initialize  { section USB_DMA_RAM };


/* -------------------------------------------- PLACEMENT ------------------------------------------- */

place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
place in ROM_region   { readonly };
place in RAM_region   { readwrite,
                        block CSTACK, block HEAP };
place in AHB_RAM_region
                      { readwrite data section AHB_RAM_MEMORY, section USB_DMA_RAM,  section EMAC_DMA_RAM};
 楼主| 弄月书生 发表于 2014-11-27 08:49 | 显示全部楼层
哪位能指条路,帮帮小弟。
 楼主| 弄月书生 发表于 2014-11-27 16:15 | 显示全部楼层
1754的RAM分成两块了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

30

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部