|
之前分享了,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, https://www.stmcu.org.cn/module/forum/thread-621674-1-1.html。. o: o* c7 J% ? _0 L1 g9 ^6 w 这次分享一下,在W25Q128上运行程序的教程。$ T7 A% W' u' }/ P8 o3 A+ L 首先看看手册,
7 [- _' p) \0 }( f. U V 在外部flash运行,要么bootloader跳转、要么设置OB中的Boot0 启动地址。: |8 z4 Y+ i1 t$ @- b9 \ 这里我只给出bootloader方式启动。" h, R6 r2 a+ k& c5 }/ m+ w" s& i + ?" t4 c/ z5 e0 |9 e& A: Y3 ` 伪中文代码:0 o% ^( _; j8 f- H main{/ Y4 l$ j4 I% O7 `% h1 T: { 初始化时钟;' a5 ^* p& w2 S! p/ z' h# M 初始化QSPI; 读FlashID 确保Flash存在且容量足够 关系统时钟中断 N1 }( Y6 s9 @, z! ^1 e4 L, k 跳转- f. w" Q4 G3 W/ i } 为何给出伪代码原因: 系统不一样,我觉得给出一个模板就可以了,有时候系统时钟不一定是systick 也有可能是tim,自己选择关中断。 5 o1 s) {* R5 O APP程序:1 a! y6 L! y# q, a; E main{& z) M1 [8 F( K6 t' Q( u- V0 c$ | 你的应用; " I/ x, e# ?* f } 修改中断向量偏移地址 ,编译器的起始地址。这里我是0x90000000,MDK魔法棒设置flash 0x90000000。* I2 Q8 {* W u: _3 ~ _2 ^+ M9 I: m, {6 f: D# Q 用MDK烧写W25Q128 Flash,然后开始运行。(烧写算法自己写的,如果要扩展板,我再发flm文件)
,我这里使用FreeRTOS 发送msg 闪烁LED。
5 w3 o( R; h( S5 F - D4 [7 M* Z) [) K4 a* T8 w7 ^ P |
| 收藏 |
微信公众号
手机版