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

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

[复制链接]
donatello1996 发布时间:2026-7-19 17:02
       在上一帖的内容中,我使用外部sct文件的方式来链接STM32H743VI片内的RAM空间,想要利用0x30000000开头的SRAM12区和0x20000000开头的DTCM区,但是并不顺利,缓存数组是强制指定到SRAM12区没错,但是没法生效,使得LVGL相关初始化代码跑不起来。在参考了惠勤致远的厂家例程后,将此问题成功解决,目前已经可以利用STM32H743VI片内SRAM12和DTCM空间了,共计300K出头的空间,将STM32H743VI片内资源进一步充分利用。. w* b. `/ W" p
29.JPG ; a. ^9 e3 I4 d. B0 z8 \' @9 p
       解决方法:使用AC6编译器时,指定缓存内存地址需要用指令:! ]1 m9 x( P! l% u
__attribute__((section(".bss.ARM.__at_0x30000000")));: ~4 ~- Y; ~1 [9 B9 F
1 T! I/ u3 F5 T
只有这样才能被AC6编译器识别到并添加进汇编指令中。另外,SRAM123总计的空间为0x48000大小也就是294912字节,但是这是把SRAM3也算进去的,实际上要扣掉SRAM3的空间,也就是262144字节,所以给buf_1_1分配480*240*2字节就刚刚好:
4 g, V, L7 h& T+ Z# g7 A 30.JPG 31.JPG
9 c, |8 e5 B+ B' Z; W( WLVGL程序正常运行:
8 P5 [  x- J7 e/ m 32.JPG 33.jpg
9 S$ a: n$ ]% t; q. G' n4 i2 E" y* G+ ]1 D5 t
DTCM的空间为131072字节,所以给buf_1_1分配480*100*2字节:
8 n' w+ o$ \$ [3 k/ `5 [" d 34.JPG 4 h4 s9 f7 b3 r. Q3 o( W
LVGL程序也能正常运行:8 J4 s! G- _; i
35.JPG 36.jpg
7 k2 q# r( V1 a( U/ D( F* O完全胜利!$ ^' z# U- q1 i! |3 @

3 k+ V  _9 N6 f, [
1.jpg
赞 收藏 评论0 发布时间:2026-7-19 17:02

举报

0个回答

所属标签

相似技术帖

官网相关资源

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