//内存管理初始化
void mem_init(void)
{
mymemset(mallco_dev.memmap, 0,memtblsize*2);//内存状态表数据清零
mymemset(mallco_dev.membase, 0,memsize); //内存池所有数据清零
mallco_dev.memrdy=1; //内存管理初始化OK
}
其中 mymemset(mallco_dev.memmap, 0,memtblsize*2);//内存状态表数据清零 中memtblsize*2中为啥要乘2?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
32单片机中一个地址“占四个字节”,但是只能“存一个字节”。
举个例子:在地址0x40010800处存了一个数据0xff。
这个地址0x40010800要占四个字节来存储,但是这个地址0x40010800位置上只能存储0xff这样的一个字节。
这样子的话:U16在32中占两个字节存放,u32占四个字节存放,u8占一个字节存放。
这样子就理解清楚了
想明白了,谢谢
一周热门 更多>