搜索
bottom↓
回复: 6

STM32F750 uClinux加载QSPI Flash分区成功

[复制链接]

出0入0汤圆

发表于 2019-3-27 10:54:39 | 显示全部楼层 |阅读模式
emcraft的STM32F7 BSP默认是加载并行NOR Flash分区的,不加载QSPI Flash。老实说这个配置比较老了,现在用并行NOR的越来越少了,QSPI Flash越来越多。
为了加载我板子上的QSPI Flash,需要做以下工作:
1. 在编译kernel时加上mtd,qspi驱动,jffs2文件系统(当然也可以是其他filesystem);
2. 在设备树里面添加qspi设备,指定硬件引脚,指定地址范围并分区;
3. 在linux启动脚本里挂载qspi flash分区。

通过搜索源码,在linux源码包里有STM32 QUADSPI驱动,第一项条件满足。接下来修改设备树(设置QSPI CLK=54MHz,32MB的空间我分了两个区,一个放内核10M,另一个放用户数据22M):
  1. /*
  2. * QSPI
  3. */
  4. &qspi {
  5.         status = "okay";       
  6.         pinctrl-names = "default";
  7.         pinctrl-0 = <&pinctrl_qspi>;
  8.         freq = <54000000>;
  9.         flash = "w25q256jv";
  10.        
  11.         partition@0x00000000 {
  12.                 label = "spi_flash_part0";
  13.                 reg = <0x00000000 0xa00000>;
  14.         };

  15.         partition@0x000a0000 {
  16.                 label = "spi_flash_part1";
  17.                 reg = <0x00a00000 0x1600000>;
  18.         };
  19. };
复制代码
指定QUADSPI引脚
  1. qspi {
  2.                             pinctrl_qspi: qspi-0 {
  3.                                         st,pins {
  4.                                                     cs_n = <&gpiob 6 ALT10 NO_PULL PUSH_PULL FAST_SPEED>;
  5.                                                     sck = <&gpiob 2 ALT9 NO_PULL PUSH_PULL FAST_SPEED>;
  6.                                                     io0 = <&gpiof 8 ALT10 NO_PULL PUSH_PULL FAST_SPEED>;
  7.                                                     io1 = <&gpiof 9 ALT10 NO_PULL PUSH_PULL FAST_SPEED>;
  8.                                                     io2 = <&gpiof 7 ALT9 NO_PULL PUSH_PULL FAST_SPEED>;
  9.                                                     io3 = <&gpiof 6 ALT9 NO_PULL PUSH_PULL FAST_SPEED>;
  10.          };
  11.                             };
  12. };
复制代码


编译linux,下载到板子,上电启动。可以看到在log出现了qspi分区信息,说明加载成功:


启动后在系统里查看mtd分区:


手动挂载用户分区到linux系统目录:
mount -t jffs2 /dev/mtdblock3 /mnt/qspi


拷贝几个文件进去,断电再上电文件还在没有丢失。证明qspi flash挂载成功!



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2019-3-27 11:06:28 | 显示全部楼层
老板,你的750板子有配套资料吗,,就是你上面说的东西的详细流程

出0入0汤圆

发表于 2019-3-27 11:33:12 | 显示全部楼层
谢谢分享

出0入34汤圆

发表于 2019-3-27 11:58:44 | 显示全部楼层
Very Good,等楼主进一步将 H7 也搞起!哈~

出0入0汤圆

 楼主| 发表于 2019-3-27 12:12:58 来自手机 | 显示全部楼层
RAMILE 发表于 2019-3-27 11:06
老板,你的750板子有配套资料吗,,就是你上面说的东西的详细流程

linux都是相通的:)
这些步骤我也是从网上搜索arm linux spi jffs2…,再加上自己摸索出来的。

出0入0汤圆

 楼主| 发表于 2019-3-27 12:14:25 来自手机 | 显示全部楼层
xyz543 发表于 2019-3-27 11:58
Very Good,等楼主进一步将 H7 也搞起!哈~

F7先搞完善了,H7就简单了:)

出0入34汤圆

发表于 2019-3-27 12:17:16 | 显示全部楼层
htjgdw 发表于 2019-3-27 12:14
F7先搞完善了,H7就简单了:)

嗯,我估计也应是这样的。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 18:53

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表