关于LPC1768的存储地址、运行地址、向量地址

发布者:平凡的梦想最新更新时间:2018-11-30 来源: eefocus关键字:LPC1768  存储地址  运行地址  向量地址 手机看文章 扫描二维码
随时随地手机看文章

对于编写程序而言,程序的运行地址很重要。默认情况下都是直接按照软件的模块进行设置即可,此前并没有太过于关心,最近在研究iap的时候需要做到这个方面的改进。


以NXP官方提供的IAR例程为例,IAR既可以做flash的调试还支持SRAM的调试,那这是如何做到的呢?在程序中,有以下的一段切换代码:



在FLASH模式下:



在RAM模式下:



翻译以后,可以得到以下内容:


当FLASH调试时,设置向量地址为:0x00000000;


当RAM   调试时, 设置向量地址为:0x10000000;


LPC1768的为512K的flash和32K的sram,其地址如下图所示:



因此答案很清除,当要在flash调试时,将向量地址指向flash,当要在ram中调试时,将向量地址指向ram。


以上是程序内容的变化,然后还有链接文件的变化,分别对应以下两个文件:


通过ultra-edit打开,发现两份链接文件的区别主要是向量地址,ROM地址,RAM地址发生了变化。由于链接文件是给程序编译、链接用的,因此一旦链接文件确定,程序就必须按照链接文件中规定的地址存储。这里的链接地址也认为是存储地址。


由于bin文件格式本身是不带程序运行地址信息的,因此在用J-LINK烧写时,必须指定BIN文件的烧写地址。如程序从0x00000000运行,则从0x00000000开始烧写,如从0x00001000运行,则从0x00001000开始烧写。


程序运行,MCU上电后,总是从0x00000000地址开始运行程序。



关键字:LPC1768  存储地址  运行地址  向量地址 引用地址:关于LPC1768的存储地址、运行地址、向量地址

上一篇:LPC1788 SystemInit函数分析
下一篇:STM32之独立看门狗的那些事

推荐阅读最新更新时间:2024-03-16 16:18

lpc1768usb使用-配置
#ifndef __USBCFG_H__ #define __USBCFG_H__ //#define USB_IF_NUM 1 #define USB_MAX_PACKET0 64 #define USB_DMA_EP 0x00000000 //尽量不要是能太多时间 //这里每一个事件都代表着一个回调函数,使能了该事件就需要实现相应的回调函数 #define USB_EP_EVENT 0x0003 //哪些端点需要实现中断处理函数,一位代表一个端点 #define USB_CONFIGURE_EVENT 1 //usb配置事件 #define USB_HID_IF_NUM
[单片机]
基于LPC1768的俄罗斯方块源代码,配合3.2寸TFT屏幕
程序运行后,用板子上的五向按键控制。 单片机源程序如下: #include stdlib.h #include stdint.h #include lcd_api.h #include ili_lcd_general.h #include LPC17xx.h typedef struct //方块结构体,包括类型,状态,坐标,颜色 { uint8_t type; //方块的类型(LJITOSZ) uint8_t state; //方块的状态(0、90、180、270°旋转) in
[单片机]
Cortex M3存储器映射图 & EWARM地址配置
在程序下载起始地址,范围,RAM的地址,范围,堆栈的配置有两种方法。其实本质是一样的。 方法1:在EWARM中利用编译化境配置,如下图 方法2:修改stm32f10x_flash.icf文件(其实就是方法1) define symbol __ICFEDIT_intvec_start__ = 0x08004000; define symbol __ICFEDIT_SYS_FUNC_start__ = 0x08004200; //functab define symbol __ICFEDIT_region_ROM_start__ = 0x08004000; define symbol __ICFEDIT_regio
[单片机]
Cortex M3<font color='red'>存储</font>器映射图 & EWARM<font color='red'>地址</font>配置
LPC1768的USB驱动(三)----LPC1768的USB模块
(图一)USB设备控制器框图 模块简介: AHB:主要用于高性能模块(CPU、DMA和DSP等)间的连接; USB ATX:USB 设备控制器内置的模拟收发器,用来收发USB总线上的D+和D-信号; SIE(SERIAL INTERFACE ENGINE),负责处理USB协议,完全使用硬件来处理以提升速度。使用寄存器命令控制功能; EP_RAM:为endpoint保留的、FIFO形式的SRAM,相当于缓冲区,其大小由使用的端点数、端点的最大包大小和是否使用双缓冲区决定; EP_RAM access control:有三种方式可以访问EP_RAM:CPU通过寄存器、SIE和DMA引擎, EP_RAM access contro
[单片机]
<font color='red'>LPC1768</font>的USB驱动(三)----<font color='red'>LPC1768</font>的USB模块
Cortex-M3学习LPC1768 - TFT实验
自己用的LPC1768的开板带有一块2.4寸的TFT彩色液晶屏,虽然自己工作中还用不过显示屏,但是晚上闲着也是闲着,于是继续玩咱的LPC1768吧。 我的开发板上的液晶屏的用的是SPI接口,当然你也可以把它设计成并行口,其接口电路如下所示: 话说这个液晶屏的驱动芯片是ILI9325,在网上下载了该芯片的数据手册,好家伙有111页,全是E文呀,没办法,谁让咱是小电工呢,就慢慢啃吧。ILI9325这个芯片的寄存器比较多,不过没关系,我们暂时用到的不是太多,这里只要简要的总结,剩下的还是日后用到了再好好研究吧。 1、寄存器03H(Entry Mode),该寄存器主要设置图像的显示模式,包括屏幕的扫描方式(水平扫描或垂直扫描),
[单片机]
Cortex-M3学习<font color='red'>LPC1768</font> - TFT实验
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved