硬汉嵌入式论坛

 找回密码
 立即注册
查看: 927|回复: 1
收起左侧

[STM32H7] h7的内存管理请教

[复制链接]

1

主题

6

回帖

9

积分

新手上路

积分
9
发表于 2024-6-12 14:00:26 | 显示全部楼层 |阅读模式
本帖最后由 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},//管理表状态标志
};



回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117564
QQ
发表于 2024-6-13 09:45:50 | 显示全部楼层
优先看下hardfault的错位类型。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-15 01:31 , Processed in 0.041115 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表