之前分享了,STMF767Nucleo的扩展板,https://www.stmcu.org.cn/module/forum/thread-621811-1-1.html,https://www.stmcu.org.cn/module/forum/thread-622164-1-1.html,2 `7 ^6 P/ S$ Y' ` https://www.stmcu.org.cn/module/forum/thread-621674-1-1.html。5 F, Y3 Y7 a% \6 z# }3 }+ ^+ t ; N) u" F) l5 O$ X, h) c0 a+ [" ~ 这次分享一下,在W25Q128上运行程序的教程。7 I8 T' S7 T5 _5 R9 d+ w, T' F 首先看看手册, 在外部flash运行,要么bootloader跳转、要么设置OB中的Boot0 启动地址。+ B& r4 r+ K* l- W! r; w# F 这里我只给出bootloader方式启动。- b$ [# M+ y( [0 R+ C " s2 b% N7 }3 v& C 伪中文代码:1 q! e/ L. v, `& k5 ^4 W3 A main{9 v: \7 `9 f$ Q 初始化时钟; 初始化QSPI; 读FlashID 确保Flash存在且容量足够 关系统时钟中断 跳转( i* H- v# Z+ j/ ~' f6 Q }* R# b3 {$ N* s# f( d 为何给出伪代码原因: 系统不一样,我觉得给出一个模板就可以了,有时候系统时钟不一定是systick 也有可能是tim,自己选择关中断。* T9 {9 L0 X( l) ?1 {# p; Y9 D 1 s3 I% m3 z* G! c APP程序: main{0 g; E: d# A2 E, k m 你的应用; 4 q2 J" ?- X" k. i }; Z: V; O5 o4 e& K 修改中断向量偏移地址 ,编译器的起始地址。这里我是0x90000000,MDK魔法棒设置flash 0x90000000。5 }+ M/ M6 r9 f% Q7 f 用MDK烧写W25Q128 Flash,然后开始运行。(烧写算法自己写的,如果要扩展板,我再发flm文件). e$ f" Q/ R4 s$ r4 {5 n ,我这里使用FreeRTOS 发送msg 闪烁LED。 |
收藏 |