之前分享了,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。1 e7 K2 S+ H. w M% ] 这次分享一下,在W25Q128上运行程序的教程。& N/ U5 q, [ e" ?# P$ {) w 首先看看手册, : {+ x& A# Y0 l! _ 在外部flash运行,要么bootloader跳转、要么设置OB中的Boot0 启动地址。 这里我只给出bootloader方式启动。; _9 D# P. C; k0 F4 E5 H3 G9 Q 伪中文代码:9 `- R# I5 W/ p4 m7 d main{2 N+ ~8 H7 l6 Y' H% z 初始化时钟; 初始化QSPI; 读FlashID 确保Flash存在且容量足够/ t( m3 C7 N7 y$ |" { 关系统时钟中断0 F/ B; X& h2 |; B 跳转' b% `% g* s4 V' K, h } q; _' `3 l5 c7 j 为何给出伪代码原因: 系统不一样,我觉得给出一个模板就可以了,有时候系统时钟不一定是systick 也有可能是tim,自己选择关中断。, W. W. C- q# m9 H/ ~ O, I% @ 3 r, ^8 Y7 h8 | APP程序: main{9 A$ v% H6 l) b' `" B5 d 你的应用; / J7 h& q R' i } 修改中断向量偏移地址 ,编译器的起始地址。这里我是0x90000000,MDK魔法棒设置flash 0x90000000。 用MDK烧写W25Q128 Flash,然后开始运行。(烧写算法自己写的,如果要扩展板,我再发flm文件)7 |4 F, p& v. w" K7 P8 [ ,我这里使用FreeRTOS 发送msg 闪烁LED。 ^/ `+ I& B! L |
收藏 |