代码改变世界

关于IRAM和IFLASH启动模式,重映射remap 整理中

2019-01-04 17:00  InJre  阅读(709)  评论(0编辑  收藏  举报

工程基于NXP LPC2468

1 为什么试用IRAM MODE 

2 设置Program algorithm 编程算法的作用是什么

3 IRAM和FLASH 模式下IROM和IRAM的地址为什么不一样

4 RAM.ini有什么作用

5 IRAM模式下为什么用到外部下载器

6 如何设置程序的起始地址,如何跳转

7 启动过程中是怎么将ROM的程序拷贝到RAM中

 

1 整个启动过程,或者说程序总目录就在xx.s中,首先是起始中断向量表,重启或者中断时调到的位置特定位置。中断跳转地址由irq.c中的install_irq( UNS_32 IntNumber, void *HandlerAddr, UNS_32 Priority )   函数负责装载。

 

install_irq( TIMER0_INT, (void *)Timer0Handler, HIGHEST_PRIORITY+1 );  有时钟中断时,跳转到Timer0Handler函数

1 程序开始的地方,0地址存放的reset handler,中断一般放在最后,因为中断地址多

这样就跳转到reset handler

 

keil中的配置

flash模式                                          IRAM模式

  

 调试选项

   

 下载选项 

  

 IAP地址设置

  

 

startup,.S文件配置

1 在IRAM模式(RAM_MODE),拷贝向量表到RAM中

 

2 内存映射

 

 

源代码用的是uip_webserver_src,下载地址  https://www.nxp.com/downloads/en/software/uip_webserver_src.zip?fromsite=zh

STM32 KEIL软件设置程序烧写起始地址选择