0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在产品上扩展大储存?全开源啦!

青山老竹农 来源:jf_82863998 2024-10-05 15:02 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

​我们都知道芯片的储存都是寸土寸金的,当你的产品需要存储照片、音频、文档等资源的时候,有没有眉头一紧?

内部不够只能外扩,但是外扩要编写各种驱动,还有Flash替换,这都要消耗头发啊!

但,当你使用合宙的LuatOS开发就全然不同了~

今天我们来介绍一下, LuatOS集成内部的一个开源SPI Flash通用驱动库 ——little_flash

它可以让你无需考虑不同Flash驱动差异,即可直接使用或者简单配置参数即可使用。无需再编写Flash驱动,真正的做到硬件随意更改Flash软件通用了。

特别说明:

本文档以Air780EP+LuatOS作为示例,但此驱动库为通用库不限制型号,所有型号都可使用,甚至你可以在你其他C开发产品上自行移植使用。

一、SPI Flash分类

SPI Flash主流一般分为:

NOR Flash和NAND Flash。

TF我们这里不算在内,严格的说它属于emmc,价格也高。

我们看下对比表:

图片

这里就需要各位根据产品定义按需选择了。

二、实现原理

这里我们简单讲解一下实现原理,不感兴趣想直接使用的朋友,可以跳过直接看下一部分。

早期的Flash各个厂家指令不同,每家都要单独写驱动。

直到一个标准协议的出现:

SERIAL FLASH DISCOVERABLE PARAMETERS (SFDP) | JEDEC

详细介绍参见:

https://www.jedec.org/standards-documents/docs/jesd216b#

该协议规定了一个指令来读取Flash的所有参数,得益于它,目前市面上在产的NOR Flash基本都能直接驱动。

little_flash库就是支持了此协议,实现了NOR Flash的通用驱动。

接下来,我们说一下NAND Flash:

很可惜,虽然新版SFDP协议有描述NAND Flash,但是实际上大部分NAND Flash厂商都没有遵守。

市面上的NAND Flash一般是两种设计,一种是纯兼容NOR Flash指令,另一种是兼容部分NOR Flash指令,加一部分NAND Flash指令。

little_flash做了一套通用框架,只需要配置下产品几个指令和储存大小即可驱动NAND Flash,并且不支持SFDP协议的NOR Flash也可以通过配置参数方式进行支持。

**三、相关准备工作 **

图片

3.1 硬件准备

  • 合宙Air780EP开发板一套,包括天线SIM卡;
  • SPI Flash模块
  • 杜邦线
  • USB线
  • PC电脑

3.2 软件准备

我们使用云编译方式编译一份固件,记得勾选little_flash库,其他功能按需选择。

云编译教程参考:

https://wiki.luatos.com/develop/compile/Cloud_compilation.html

图片

四、API介绍

little_flash库API非常简单,只有两个:一个初始化,一个挂载。挂载到文件系统之后,就可以用语言的原生IO操作直接使用了。

4.1 lf.init(spi_device)

初始化little_flash,会自动探测flash并初始化。

参数:

图片

返回值:

图片

4.2 lf.mount(flash, mount_point, offset, maxsize)

挂载little_flash lfs文件系统。

参数:

图片

返回值:

图片

五、脚本代码

我们以Air780EP为例,下图是代码演示,并且做了相关注释。

图片

六、效果演示

我们把固件和脚本烧录到开发板中,新朋友可参考相关教程。

LuatOS教程链接:

https://doc.openluat.com/wiki/26?wiki_page_id=3020

图片

可以看到little_flash自动识别了NOR Flash,挂载成功后文件操作也都正常。

从此之后,告别SPI Flash驱动。

就算产品更换Flash,也无需修改代码,爽!
11.jpg12.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FlaSh
    +关注

    关注

    10

    文章

    1715

    浏览量

    154706
  • 音频
    +关注

    关注

    31

    文章

    3134

    浏览量

    84928
  • 指令
    +关注

    关注

    1

    文章

    617

    浏览量

    37300
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    开源FPGA硬件】硬件黑客集结:开源FPGA开发板测评活动全网火热招募中......

    式发布!现面向全网招募第一批工程师/硬件爱好者,开发板免费试用测试! 优秀试用报告,将作为板卡配套资料发布~ 相关链接: 拥抱开源!一起来做FPGA开发板!火爆开发中 |
    发表于 10-29 11:37

    何在Vivado仿真蜂鸟SOC,仿真NucleiStudio编译好的程序

    如标题所示,我们分享如何在Vivado仿真蜂鸟SOC,仿真NucleiStudio编译好的程序 具体步骤 1. 将蜂鸟soc移植到Vivado 只要将端口映射好,注意配置好时钟和bank
    发表于 10-21 11:08

    深圳 11月21-22日《产品EMC正向设计与检视》公开课火热报名中!

    课程名称:《产品EMC正向设计与检视》讲师:吴老师时间地点:深圳11月21-22日主办单位:赛盛技术课程背景在产品系统设计阶段,如何在结构方面考虑电磁兼容设计?在产品PCB设计阶段,哪
    的头像 发表于 10-15 14:44 210次阅读
    深圳 11月21-22日《<b class='flag-5'>产品</b>EMC正向设计与检视》公开课火热报名中!

    何在智多晶FPGA使用MIPI接口

    大家好呀!今天我们来聊聊一个非常实用的话题——如何在智多晶FPGA使用MIPI接口。不管是做摄像头图像采集还是屏幕显示控制,MIPI都是非常常见的接口标准。掌握了它,你的视频项目开发效率将大大提升!
    的头像 发表于 09-11 09:37 740次阅读

    共谱开源华章 | 匠芯创荣获“开源生态战略合作伙伴”奖

    开源生态的推动者匠芯创凭借与立创开发板共建开源生态,推出衡山派全开源开发板,并开放软硬件资料培养工程师,构建了硬件开源协作创新的标杆,荣获“开源
    的头像 发表于 08-07 15:37 1073次阅读
    共谱<b class='flag-5'>开源</b>华章 | 匠芯创荣获“<b class='flag-5'>开源</b>生态战略合作伙伴”奖

    Genie:产品级Agent开源产品

    京东前两天发布了一个开源的Agent产品-JoyAgent-JDGenie,在GAIA榜单分数达到了75.15%,超越了众多开源的AI Agent项目。 该
    的头像 发表于 07-27 12:40 564次阅读
    Genie:<b class='flag-5'>产品</b>级Agent<b class='flag-5'>开源</b><b class='flag-5'>产品</b>

    何在deepin 25使用Blender 4.5.0

    设计师、动画师以及 3D 爱好者们,你是否想过在 deepin 玩转全球顶尖开源 3D 创作套件 Blender?
    的头像 发表于 07-24 16:38 1327次阅读

    成都 9月19-20日《产品EMC正向设计与检视》公开课火热报名中!

    课程名称:《产品EMC正向设计与检视》讲师:吴老师时间地点:成都9月19-20日主办单位:赛盛技术课程背景在产品系统设计阶段,如何在结构方面考虑电磁兼容设计?在产品PCB设计阶段,哪些
    的头像 发表于 07-10 11:54 316次阅读
    成都 9月19-20日《<b class='flag-5'>产品</b>EMC正向设计与检视》公开课火热报名中!

    迅为RK3562开发板2900页+资料_多种系统适配全开源

    迅为RK3562开发板ARM四核A53核心板多种系统适配全开源 RK3562开发板(2GB内存+16GB存储)
    发表于 06-17 10:50

    开源分享】:开源小巧的FPGA开发板——Icepi Zero

    。程序员可以使用它在多种架构测试他们的代码。 Icepi Zero 还有一个板载 USB 到 JTAG 转换器,因此不需要外部编程器。此外,Icepi Zero 是完全开源的,没有任何附加条件。如果你想
    发表于 06-09 14:01

    拥抱开源!一起来做FPGA开发板

    的发展注入了强劲动力。紫光同创作为其中的一家,推出的Titan系列、Logos系列、Compa系列、Kosmo系列等产品,在通信、工业、图像视频处理等行业表现出色。 今天,我们怀揣着对开源的热爱与信仰
    发表于 06-06 14:05

    上海 6月20日-21日《产品EMC正向设计与检视》公开课火热报名中!

    课程名称:《产品EMC正向设计与检视》讲师:吴老师时间地点:上海6月20-21日主办单位:赛盛技术课程背景在产品系统设计阶段,如何在结构方面考虑电磁兼容设计?在产品PCB设计阶段,哪些
    的头像 发表于 05-15 15:38 352次阅读
    上海 6月20日-21日《<b class='flag-5'>产品</b>EMC正向设计与检视》公开课火热报名中!

    直播|Tuya AI硬件开发平台开源!搭载超强AI能力,助力个人开发者打破技术壁垒

    为了帮助个人开发者有效降低开发智能产品的门槛,涂鸦之前推出过完全开源、充分开放的开发框架---TuyaOpenFramework(点击查TuyaOpen往期完整介绍)。它基于涂鸦沉淀十年潜心研发
    的头像 发表于 04-23 18:41 1433次阅读
    直播|Tuya AI硬件开发平台<b class='flag-5'>开源</b><b class='flag-5'>啦</b>!搭载超强AI能力,助力个人开发者打破技术壁垒

    霍尔开关的应用有哪些?矽睿半导体霍尔开关在产品计数的智能应用

    霍尔开关在产品计数中的智能应用主要体现在提高计数精度和效率方面。霍尔开关是一种感应元件,可以感知磁场的变化,并将其转化为电信号进行处理。这种特性使其在产品计数系统中具有广泛的应用。 霍尔开关在产品
    的头像 发表于 12-20 16:48 792次阅读

    ADS1292R有 \"1 ch ECG + 1 ch呼吸侦测\" 或 \"2 ch ECG\" 两种模式,是否可以在产品实现自行切换两种使用模式?

    请问 ADS1292R 有 \"1 ch ECG + 1 ch 呼吸侦测\" 或 \"2 ch ECG\" 两种模式,是否可以在产品实现让用户自行切换两种使用模式?
    发表于 12-13 14:43