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

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

[复制链接]
donatello1996 发布时间:2026-7-19 17:02
       在上一帖的内容中,我使用外部sct文件的方式来链接STM32H743VI片内的RAM空间,想要利用0x30000000开头的SRAM12区和0x20000000开头的DTCM区,但是并不顺利,缓存数组是强制指定到SRAM12区没错,但是没法生效,使得LVGL相关初始化代码跑不起来。在参考了惠勤致远的厂家例程后,将此问题成功解决,目前已经可以利用STM32H743VI片内SRAM12和DTCM空间了,共计300K出头的空间,将STM32H743VI片内资源进一步充分利用。) H8 T. q4 j$ s; {. }9 \# ?
29.JPG
8 R0 g* b7 o5 |4 N; x/ S       解决方法:使用AC6编译器时,指定缓存内存地址需要用指令:
  o' l+ z3 P' f9 r% j+ G  }& e__attribute__((section(".bss.ARM.__at_0x30000000")));8 m+ g. e9 `5 F4 r  r
3 C  `! I, N: I+ L) v
只有这样才能被AC6编译器识别到并添加进汇编指令中。另外,SRAM123总计的空间为0x48000大小也就是294912字节,但是这是把SRAM3也算进去的,实际上要扣掉SRAM3的空间,也就是262144字节,所以给buf_1_1分配480*240*2字节就刚刚好:
- r9 S" n$ h- I  Q1 ~) b 30.JPG 31.JPG
1 P& l6 X: }8 }* W& vLVGL程序正常运行:
5 X3 f/ O' F2 M 32.JPG 33.jpg
& t4 d. X3 R7 I1 g; u5 b7 ]
0 Z( `  j% }* Y4 iDTCM的空间为131072字节,所以给buf_1_1分配480*100*2字节:
; H6 k! g6 r" T$ ^ 34.JPG 0 [. b* x7 U$ Y0 s& _
LVGL程序也能正常运行:
& C; k8 ]# {* D 35.JPG 36.jpg
, v: N+ X' m$ a4 ]完全胜利!( \' i) u9 X- Z% f5 z
/ t" h: a0 ?( v# I
1.jpg
收藏 评论0 发布时间:2026-7-19 17:02

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版