内存对齐

Posted 创世界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内存对齐相关的知识,希望对你有一定的参考价值。

#include "malloc.h"
/*
**********************************************************************************
* 1.内存池(4字节对齐),其实编译器本身默认arm就是四字节对齐
* 2.__attribute__,这个是 用来指定变量或结构位域的特殊属性,该关键字后的双括弧中的内容是属性说明
* 3.at关键字,该关键字可以用来设置变量的绝对地址
* 4.MEM1_MAX_SIZE = 40 * 1024
* 5.MEM2_MAX_SIZE = 192* 1024
**********************************************************************************
*/
__align(4) u8 mem1base[MEM1_MAX_SIZE]; //内部SRAM内存池
__align(4) u8 mem2base[MEM2_MAX_SIZE] __attribute__((at(0X68000000))); //外部SRAM内存池
//u8 mem1base[MEM1_MAX_SIZE]; //内部SRAM内存池
//u8 mem2base[MEM2_MAX_SIZE] __attribute__((at(0X68000000))); //外部SRAM内存池

以上是关于内存对齐的主要内容,如果未能解决你的问题,请参考以下文章

内存对齐原理

关于C++的内存对齐

结构体内存对齐

内存对齐的原则

内存对齐与页面对齐

4096个字节是4K对齐了吗?