你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32F750 uClinux加载QSPI Flash分区成功

[复制链接]
STMCU小助手 发布时间:2022-4-7 18:23
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):

/*
* QSPI
*/
&qspi {undefined
        status = "okay";      
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_qspi>;
        freq = <54000000>;
        flash = "w25q256jv";

        partition@0x00000000 {undefined
                label = "spi_flash_part0";
                reg = <0x00000000 0xa00000>;
        };

        partition@0x000a0000 {undefined
                label = "spi_flash_part1";
                reg = <0x00a00000 0x1600000>;
        };
};



指定QUADSPI引脚

                qspi {undefined
                        pinctrl_qspi: qspi-0 {undefined
                                st,pins {undefined
                                        cs_n = <&gpiob 6 ALT10 NO_PULL PUSH_PULL FAST_SPEED>;
                                        sck = <&gpiob 2 ALT9 NO_PULL PUSH_PULL FAST_SPEED>;
                                        io0 = <&gpiof 8 ALT10 NO_PULL PUSH_PULL FAST_SPEED>;
                                        io1 = <&gpiof 9 ALT10 NO_PULL PUSH_PULL FAST_SPEED>;
                                        io2 = <&gpiof 7 ALT9 NO_PULL PUSH_PULL FAST_SPEED>;
                                        io3 = <&gpiof 6 ALT9 NO_PULL PUSH_PULL FAST_SPEED>;

                                };
                        };
                };



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



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

~J8FP`UTE$AXSTLI996EGR4.png

手动挂载用户分区到linux系统目录:

mount -t jffs2 /dev/mtdblock3 /mnt/qspi

拷贝几个文件进去,断电再上电文件还在没有丢失。证明qspi flash挂载成功!
RQAPG)~9XM$P2J8J8)FQ5OU.png




收藏 评论0 发布时间:2022-4-7 18:23

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版