STMCU小助手
发布时间:2021-12-21 22:16
|
83.1 初学者重要提示 操作本章配套例子前务必先将QSPI Flash的下载算法放到MDK安装目录。$ J7 q) F, E; K3 O, i" B 本章节与第28章的时间关键代码在ITCM执行的设置思路是一样的,可以让大家对本章节的方法有个更全面的认识。 83.2 内部Flash和QSPI Flash混合执行程序的优势 现在大家使用H750或H743在外置QSPI Flash执行程序,都倾向于制作个BOOT,再制作一个运行在外置QSPI Flash的APP程序。即本教程第82章讲解的内容。 0 }9 t* g- s( D* z) x6 J 本章要实现的这种方式对于我们想外置QSPI Flash运行程序,在调试测试阶段更加方便,甚至是项目使用,可以性能最大化。. Q. n$ ^; W- V$ @9 p5 }1 s) s 83.3 下载算法存放位置4 U0 b# U& p2 [ i) I0 K 编译例子:V7-060_QSPI Flash的MDK下载算法制作,生成的算法文件位于此路径下: * ]1 h' c$ b% s: E% y% a
9 i0 K' i' J& k9 b' {7 V 生成算法文件后,需要大家将其存到到MDK安装目录,有两个位置可以存放,任选其一,推荐第2种: 0 `- |1 K9 f# H& p: C 第1种:存放到MDK的STM32H7软包安装目录里面:\Keil\STM32H7xx_DFP\2.6.0\CMSIS\Flash(软包版本不同,数值2.6.0不同)。1 L! a# K- J! A7 p4 p 第2种:MDK的安装目录 \ARM\Flash里面。4 r2 O& q% \% ]8 I3 @
, n0 v& R' D& a O6 O 83.4 内部Flash和QSPI Flash混合执行程序说明) p$ _5 f- j* e+ D! u 混合程序的设置注意以下两点即可。' ?& `6 o8 x# _2 B% t6 V 83.4.1 初始化QSPI Flash并设置内存映射模式 在bsp.c文件中初始在bsp.c文件中初始QSPI Flash并设置为内存映射模式。注意,配置好时钟后,优先初始化QSPI Flash并设置为内存映射模式:
83.4.2 设置运行在内部Flash和QSPI Flash的程序 由于我们要把QSPI Flash初始化并设置为内存映射模式后才可以使用QSPI Flash运行程序,所以要在QSPI Flash运行程序之前的所有操作都在内部Flash里面实现,主要是滴答定时器,RCC,QSPI和HAL库等相关配置。其它所有程序都可以在外部QSPI Flash执行:. H8 E2 C6 m& ?4 \: d
83.5 内部Flash和QSPI Flash程序调试下载配置 将下面两个地方配置后,就可以像使用内部Flash一样使用QSPI Flash进行调试了。并且这种方式可以方便的调试程序,内部Flash和外部Flash都做调试。& \( ]$ s" U; }$ l* H0 g7 e+ c. W+ p - T4 L$ Z* k( g4 ~! N+ H' l9 [! O: l 83.5.1 下载配置1 i9 @. q4 @% v 注意这里一定要够大,否则会提示算法文件无法加载:
我们这里是将其加到DTCM中,即首地址为0x20000000,大家也可以存储到任意其它RAM地址,只要空间还够加载算法文件即可。推荐使用AXI SRAM(地址0x24000000),因为这块RAM空间足够大。. J8 _9 V* b8 S. Z1 h1 r _, H( r 9 s! Q0 W9 [+ C2 y" g, A 如果要下载程序到内部Flash和外部QSPI Flash里面,需要做如下配置,两个下载算法都要添加进来:) M7 n# h0 j: L( w2 M 9 b) t8 y' z o2 a1 `" I# S! \
83.5.2 调试配置 注意这里一定要够大,否则会提示算法文件无法加载: 8 b; _5 ^7 Q s+ q: Y7 T 我们这里是将其加到DTCM中,即首地址为0x20000000,大家也可以存储到任意其它RAM地址,只要空间还够加载算法文件即可。 ' ^/ p, B9 ^, U y 如果要做调试下载,需要做如下配置:8 U1 J1 u% K! X
; `# V6 d V5 F6 [ 83.5.3 程序调试效果 调试效果如下:% t9 ], j. s! v6 F' a3 C% U& B! N 9 G0 A" ]% n1 J; v
9 V: Q) `# ?+ ?3 T* g 83.6 实验例程说明6 N8 x. h X6 o6 w1 G8 S) b 本章节配套例子:V7-064_内部Flash和QSPI Flash都运行程序的混合方式,无需单独制作BOOT和APP(强烈推荐) ( C |4 A# i# P
" V( N( Y4 \3 }% l 编译此程序弹出的警告不用管,可以选择屏蔽此警告:7 f( L m# ~/ X3 Q# F ; C+ c' h" _' F0 A/ Z* R* w7 _/ d 9 n5 T2 e/ j, y/ M ! A; D: d f. B7 Q6 Q) Y$ I/ H3 Z4 K 83.7 总结* L0 J& ?. Y3 m5 r 本章节就为大家讲解这么,为了熟练掌握,大家可以尝试自己实现一个内部Flash和外部Flash混合运行的程序。 |
【STM32H735G-DK测评】lvgl移植
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
【福利三:逢7发帖赢大礼】使用MPU6050模块、img_dsc、img_btn机制实现一些简单有趣的动画效果
【福利三:逢7发帖赢大礼】使用arc弧形拉条控件控制PWM舵机及使用SPI3接口操作NRF24L01模块进行无线通信
【福利三:逢7发帖赢大礼】调试nucleo-WBA65RI工程测试样板的一些心得
【福利三:逢7发帖赢大礼】lv_timer和BME680实现温度、湿度、气压数据读取
【福利三:逢7发帖赢大礼】成功利用STM32H743VI片内SRAM12和DTCM空间(完全胜利)
【福利三:逢7发帖赢大礼】想要充分利用STM32H743VI片内的RAM空间(但并不顺利)
【福利三:逢7发帖赢大礼】使用惠勤致远STM32H743VI开发板+ST7796并口彩屏移植LVGL9.5并分享一些额外内容
【 逢7发帖赢大礼】7、TouchGFX中实现云彩流动效果
微信公众号
手机版