|
本帖最后由 ampleeeeee 于 2024-6-12 14:02 编辑
本人小白,接触h7没多久,板子是stm32h743
本人尝试移植F4中的例程,在这块内存空间遇到hardfault的问题,请教一下要怎么解决。
教程很杂,请问有什么好的帖子能够系统学习的。
问题代码如下:
//三块逐级增加的内存空间
__align(32) uint8 Memaddr0[MemTolSize0] __attribute__((at(0X10000000)));//内部CCM内存池
__align(32) uint8 Memaddr1[MemTolSize1] ;//内部SRAM内存池
__align(32) uint8 Memaddr2[MemTolSize2] __attribute__((at(0X68000000)));//外部SRAM内存池
//内存管理器
struct _mem_ctrol mem_ctrol=
{
.init= YMem_init,//初始化
.used= YMem_used,//使用率
.Membase = {Memaddr0,Memaddr1,Memaddr2},//内存基地址
.mem_size = {Mc0_size*Block_size,Mc1_size*Block_size,Mc2_size*Block_size},//管理内存的大小(字节)
.mem_end = {Mem0_end,Mem1_end,Mem2_end},//内存结束地址
.map_size = {Mc0_size,Mc1_size,Mc2_size},//管理状态表的大小
.Memmap = {(uint16*)Mc0_ubase,(uint16*)Mc1_ubase,(uint16*)Mc2_ubase},//管理状态表地址 //单次最大分配 65536/ 32 = 2048 KB 2M 空间
.Memflg = {NULL,NULL,NULL},//管理表状态标志
};
|
|