你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【福利三:逢7发帖赢大礼】成功利用STM32H743VI片内SRAM12和DTCM空间(完全胜利)

[复制链接]
donatello1996 发布时间:2026-7-19 17:02
       在上一帖的内容中,我使用外部sct文件的方式来链接STM32H743VI片内的RAM空间,想要利用0x30000000开头的SRAM12区和0x20000000开头的DTCM区,但是并不顺利,缓存数组是强制指定到SRAM12区没错,但是没法生效,使得LVGL相关初始化代码跑不起来。在参考了惠勤致远的厂家例程后,将此问题成功解决,目前已经可以利用STM32H743VI片内SRAM12和DTCM空间了,共计300K出头的空间,将STM32H743VI片内资源进一步充分利用。) V7 e! k; A$ B
29.JPG 3 D1 ^  {: E* H7 W
       解决方法:使用AC6编译器时,指定缓存内存地址需要用指令:! \; k- @( Z  ~' j9 m
__attribute__((section(".bss.ARM.__at_0x30000000")));6 e8 G3 i5 e5 O) E& _

# a3 @+ p# D; D! l7 r5 ]只有这样才能被AC6编译器识别到并添加进汇编指令中。另外,SRAM123总计的空间为0x48000大小也就是294912字节,但是这是把SRAM3也算进去的,实际上要扣掉SRAM3的空间,也就是262144字节,所以给buf_1_1分配480*240*2字节就刚刚好:, b9 a/ m( Z# }: d  Z0 }" }
30.JPG 31.JPG
) e% {' s, X# p4 dLVGL程序正常运行:5 b4 @7 f" S9 t
32.JPG 33.jpg # ?! O, ?0 R! O

9 d8 I5 S& v7 t& J3 w4 aDTCM的空间为131072字节,所以给buf_1_1分配480*100*2字节:
4 W% U2 r! B4 f0 @( |" B 34.JPG 9 \1 z3 Y! c% [( D) m
LVGL程序也能正常运行:7 I6 w/ f2 E7 X; J* B$ Q, c# |
35.JPG 36.jpg
0 F6 b5 ^  e7 B' I7 S! H- H完全胜利!
- y$ j, ~. z/ v7 o! u; Y2 P2 y: O0 L* L0 N4 I/ E
1.jpg
赞 收藏 评论0 发布时间:2026-7-19 17:02

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版