【ART-Pi测评】二:板载存储之QSPI_FLASH
本帖最后由 数码小叶 于 2021-6-17 22:00 编辑<p><span style="font-size:20px;">本来是要写SPI_FLASH读写操作的,可是发现,还是要先写QSPI_FLASH,因为使用RT-Thread Studio建完默认工程后发现不一样的地方</span></p>
<p> </p>
<p> </p>
<p></p>
<p></p>
<p> </p>
<p> </p>
<p><span style="font-size:20px;">安装好H7的芯片支持包以及ART-Pi的板级支持包后就可以新建一个工程了</span></p>
<p></p>
<p> </p>
<p> </p>
<p><span style="font-size:20px;">主函数main.c里居然发现了中断向量表重映射,这个按理在最基本的模板工程里不应该出现啊</span></p>
<p></p>
<p> </p>
<p><span style="font-size:20px;">找到QSPI_BASE的定义,查看其地址是多少</span></p>
<p> </p>
<p></p>
<p> </p>
<p><span style="font-size:20px;">0x90000000,对于这个0x90000000地址怎么来的,不确定就要打开参考手册了找找了,在Memory and bus architecture章节,找到了STM32H740的地址分布</span></p>
<p></p>
<p> </p>
<p> </p>
<p><span style="font-size:20px;">刚好就是从0x90000000地址开始的。</span></p>
<p><span style="font-size:20px;">继续看下去,在Quad-SPI interface (QUADSPI)章节,介绍了外扩QSPI_FLASH的单、双两种方式,</span></p>
<p> </p>
<p></p>
<p> </p>
<p><span style="font-size:20px;">结合ART-Pi的原理图,可以验证这一点,完全是按照这个接口来的</span></p>
<p></p>
<p> </p>
<p><span style="font-size:20px;">编译完工程后,打开map文件,查看里面的中断向量以及函数地址</span></p>
<p></p>
<p><br />
<span style="font-size:20px;">可以确定程序是运行在外部Flash的,因此在片内0x08000000的位置,应该是存在bootloader来完成跳转。</span></p>
<p> </p>
<p><span style="font-size:20px;">还有一点,关于RT-Thread Studio的编译链接设置,有一个脚本文件link.lds,习惯了keil和IAR的设置,找这个找了很长的时间</span></p>
<p></p>
<p> </p>
<p> </p>
<p></p>
<p> </p>
<p> </p>
<p><span style="font-size:20px;">最后把模板工程下载到板子上,修改了闪烁频率,可以看到led开始闪烁,并且整个过程中,没有破坏bootloader</span><span style="font-size:20px;">。</span></p>
<p></p>
<p> </p>
<p><span style="font-size:20px;">因此,对于SPI_FLASH的读写可以正常进行,对于QSPI_FLASH就分为两种了,一种是不破坏bootloader,那就要注意读写范围了,二是不用担心范围,全片自由读写,那就要覆盖bootloader了。</span></p>
<p>厉害了,这板子上还有QSPI Flash,感觉这板子高级外设挺全的。</p>
页:
[1]