内存分配的代码格式

关于内存分配的一些代码格式

1.内存起名(把内存的实际地址分区间取名)

memery{

VECS : o = 0x10800000   l = 0x00000200
BOOT : o = 0x10800200   l = 0x00000200
IRAM : o = 0x10800400   l = 0x0001FA00
DDR2 : o = 0x80000000   l = 0x10000000

}

2.起段名,并对应内存名

section{

.bss   > IRAM
.cinit > IRAM
.cio   > IRAM
.const > DDR2
.data  > IRAM
.far   > IRAM
.stack > IRAM
.system > IRAM
.text  > IRAM
.ddr2  > DDR2

}

这里的段名.bss ~ .ddr2
有的是编译器直接起好了名字,有的是自己起的名字,
.ddr2这个段就是自己起的名字。段是用来存放某种类型的数据的,
我们把有特定含义或者相同点的数据放到自己想要的段里面,方便管理,
.bss、.text等都是C编译器编译之后自己生产的段
段只是在名义上说明了或者规定了变量存在哪,但是还没有说明具体存放在哪个内存区域
只有.bss > IRAM语句执行了,才能将 变量 段 内存地址联系在一起,这句话的意思是
段.bss对应到内存的IRAM块,同时我们(或者编译器)规定哪些变量存放在什么段内,这就将变量直接对应到内存上了

3.将变量规定到特定的段内(我们想自己规定,不按照编译器的默认规定,如果自己不规定,编译器会自己默认有一套数据存放到段的分配方式)

在变量定义的文件中:

#pragma  data_section(name_var, ".far");     //将名字为name_var的变量定义到了“.far”这个段中;
#pragma  data_align(name_var,   .......);			//这个可以设置数据的一些存放读取格式;
float name_var[100];					//定义了一个float类型的数组在“.far”段中
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值