Cortex-M3学习笔记



1.在linker连接过程中,参数--first用来指定代码段的起始地址,这个选项用来确定被放在可执行空间一初始地址的那个代码段,通常这个代码段包含中断向量表,参数--entry用来指定应用程序入口点,确定程序的入口地址。使用scr的默认配置文件时,初始代码段需要命名为RESET,默认将叫做RESET的段放在代码段的一开始,系统复位后从此地址开始执行,取第一个字作为MSP值,取第2个字作为PC的值,同时使用默认SCR配置文件时,需要特别指定出__Vectors和Reset_Handler,将__Vectors标出的作为向量表,将Reset_Handler标出的作为应用程序入口地址。

2.编译器在根据伪指令AREA HEAP, NOINIT, READWRITE, ALIGN=3中的READONLY/READWRITE的区别将其分配在代码段或者数据段,AREA header,CODE,READONLY中CODE/DATA编译器不对其作实际处理。编译器将属性设为READWRITE放在数据段,属性为READONLY的放在代码段。对于堆空间和栈空间AREA HEAP, NOINIT, READWRITE, ALIGN=3   AREA STACK, NOINIT, READWRITE, ALIGN=3  ,编译器将命名为HEAP的堆空间放在R/W数据段地址的下部,起始地址为R/W BASE,根据对空间大小自动确定结束地址。将命名为STACK的栈空间放在堆空间的上部,并根据HEAP的结束地址和栈空间的大小确定栈底的地址,Cortex-M3中栈空间向下生长,栈底的地址最大。被标记为READONLY的代码段被放在image镜像的CODE区有初始值,地址由R/O BASE确定,FLASH地址的初始值为0x8000000。被

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值