硬汉嵌入式论坛

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

[SRAM] [SRAM]STM32H723/733内部192KB AXI和ITCM共享区分配设置

[复制链接]

4

主题

79

回帖

91

积分

初级会员

积分
91
发表于 2025-8-29 17:52:14 | 显示全部楼层 |阅读模式
本帖最后由 跟着硬汉学 于 2025-8-29 17:54 编辑

在使用STM32H723时,上了RTOS和网络协议栈,用到的外设较少,所以打算将整个共享区都分配给RTOS的堆!默认是全部分配给AXI SRAM的!
看了一下手册,需要配置Flash相关的寄存器!

经过查看HAL库的API及注释,成功实现了共享区分配!
[C] 纯文本查看 复制代码
void RAM_SharedConfig(void)
{
    FLASH_OBProgramInitTypeDef Flash_OBProgram;
    Flash_OBProgram.OptionType  = OPTIONBYTE_SHARED_RAM;
    Flash_OBProgram.SharedRamConfig = OB_TCM_AXI_SHARED_ITCM128KB;
    
    HAL_FLASH_OB_Unlock();
    HAL_FLASHEx_OBProgram(&Flash_OBProgram);
    
    HAL_FLASH_OB_Launch();
    HAL_FLASH_OB_Lock();  
}



最后将这段代码放在MPU初始化之前!

下面是成功分配后的状态截图:





手册截图.png
结果展示.png
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119430
QQ
发表于 2025-8-30 07:40:53 | 显示全部楼层
谢谢分享
回复

使用道具 举报

5

主题

134

回帖

149

积分

初级会员

积分
149
发表于 2025-10-1 17:02:51 | 显示全部楼层
总结:ITCM 固定有 64 KB,AXI 固定有 2 * 64 = 128 KB,剩余 3 块 64 KB 可以任意配置 x (=0,1,2,3) 块接在 ITCM 之后,(3-x) 块接在 AXI 之后,默认全部接在 AXI 之后(即 x = 0),且地址是连续的

很神奇的工作原理,不知道芯片内部是怎么实现地址连续的,难道是数据反向拷贝

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-22 05:50 , Processed in 0.054792 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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