全志ARM926 Melis2.0系统的开发指引③

这篇具有很好参考价值的文章主要介绍了全志ARM926 Melis2.0系统的开发指引③。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

编写目的

本文档是全志 Melis2.0 系统的开发指引文档,旨在协助开发者了解和掌握 Melis 系统,快速搭建 Melis系统的开发环境,将 Melis2.0 系统应用到产品开发中。
全志ARM926 Melis2.0系统的开发指引③,Linux,ARM MCU,MCU C51,linux,c++,c语言,运维,服务器

6. 存储系统简介

6.1.概要描述

此文档主要介绍 Melis 2.0 的存储开发方法。与固件结构组成等。

6.2.文件系统接口

6.2.1. 文件系统支持

Melis2.0 支持可读写的文件系统分别是:fat exfat ntfs。支持只读文件系统 udf。(其中 melis 还支持全志自主研发的 minfs 文件系统,但上层不会使用)

6.2.2. 文件系统接口函数

图34:
全志ARM926 Melis2.0系统的开发指引③,Linux,ARM MCU,MCU C51,linux,c++,c语言,运维,服务器
melis 系统文件更多相关接口在 elibs_stdio.c 文件。此处就不一一列举了。

6.3. Flash 分区

Melis flash 固件通常共分为 5 个分区,分别为:BOOT0、BOOT1、MBR、ROOTFS、UDISK
BOOT0:boot0 的具体工作是先进行初始化处理器,icache,UART,定时器,JTAG,DRAM 和 HEAP 等操作,然后再将 boot1 装载进 DRAM。
BOOT1:boot1 主要负责装载系统内核、强制升级检测、调试开关和 boot_logo 的数据加载。除此之外,还需要进行内存管理,调频,初始化相关硬件。
MBR:主引导记录,记录分区信息。
ROOTFS:主要存放内核(epos.img)与各种驱动文件。
UDISK:保存系统运行过程中需要保存的用户数据,包括音量、语言设置、音视频端点信息等。如其中setting.bin 文件。
SYSDATAFS:此分区默认未分配,需要使用需要自己添加,该分区主要存储用户自定义数据。
图35:
全志ARM926 Melis2.0系统的开发指引③,Linux,ARM MCU,MCU C51,linux,c++,c语言,运维,服务器

6.3.1.如何配置可配分区的大小

分区大小的配置。其中 BOOT0,BOOT1,MBR 三个分区已经固定写死不能修改,可以修改的是 ROOTFS和 UDISK。而 UDISK 分区大小是 NOR Flash 大小减去前面分区分配的容量,剩下的全部默认分配给 UDISK 分区。这两个分区的的配置主要是在 SDK/workspace/suniv/eFex/sys_config.fex 中主键 part_num,和 partition0。
如下图
图36:
全志ARM926 Melis2.0系统的开发指引③,Linux,ARM MCU,MCU C51,linux,c++,c语言,运维,服务器
如上图所示,修改 ROOTFS 分区需要修改步骤如下

  1. 修改 sys_config.fex 文件的主键 partition0,子健 size_lo 的值,单位为 Kbyte。
  2. 修改 SDK/workspace/suniv/beetles 路径下的 rootfs.ini 文件中的主键[IMAGE_CFG],子键 size 的大小,需要和第一步配置的大小一致。
    图37:
    全志ARM926 Melis2.0系统的开发指引③,Linux,ARM MCU,MCU C51,linux,c++,c语言,运维,服务器
  3. 计算出 udisk 分区大小,总容量-BOOT0-BOOT1-ROOTFS。即 8192K- 24K- 120K- 1K- 7919K =128K。将该值填入 SDK/workspace/suniv/beetles 路径下的 udisk.ini 文件中的主键[IMAGE_CFG],子键 size。
    图38:
    全志ARM926 Melis2.0系统的开发指引③,Linux,ARM MCU,MCU C51,linux,c++,c语言,运维,服务器
  4. 重新打包生成固件。即完成 rootfs 和 udisk 分区的大小修改。

6.4.存储介质开发

6.4.1. NOR Flash

NOR Flash 暂不支持根据物料信息来适配物料读写命令模式,目前是固定使用双线读,单线写的模式。

6.4.1.1.添加新 Nor Flash

在 sys_config.fex 添加新物料,如下所示:
图39:
全志ARM926 Melis2.0系统的开发指引③,Linux,ARM MCU,MCU C51,linux,c++,c语言,运维,服务器
除了在 sys_config.fex 添加新物料。还可以在代码里面添加新物料参数。
NOR Flash 驱动核心代码位于 eMod/drv_storages/spinor/spinor_drv/hal_spinor.c 中,需增加对新
物料的支持,可以在 spinor_info_set[] 数组中新增物料信息,如物料名称,jedec id,擦除块大小,容量等。不过在此处添加物料信息,如果物料不是 8MBit,在此处添加物料信息,有可能会出现烧录失败的现象,因此建议通过 sysconfig.fex 中添加新物料。

6.4.1.2.Nor Flash 保存用户数据

系统挂载的 udisk 和 sysdatafs 分区,当应用对这两个分区进行读写操作时,只是对内存数据进行操作,flash 里面数据时不会被修改,如果需要将修改的数据写进 flash 里,需要调用刷 flash 的接口。两个分区的保存流程接口是一样的,但参数存在一点差异,具体流程这里就不赘述,详情参考<<用户数据保存>>。

6.4.2. SDMMC Card

SDK 里面提供了两个 sdmmc 的驱动,sdmmc1 和 sdmmc2。其中 sdmmc 是对应我们平常 norflash 启动后插入的 sd 卡的驱动。sdmmc2 是对应卡启动的卡驱动。

-. 全志相关工具和资源

-.1 全志固件镜像修改工具 ImageModify.exe 下载

全志ARM926 Melis2.0系统的开发指引③,Linux,ARM MCU,MCU C51,linux,c++,c语言,运维,服务器
下载地址:
固件镜像修改工具 ImageModify.exe下载 ImageModify_20230906.rar

-.2 全志固件USB刷机工具 PhoenixSuit 下载

全志ARM926 Melis2.0系统的开发指引③,Linux,ARM MCU,MCU C51,linux,c++,c语言,运维,服务器
下载地址:
USB刷机工具 PhoenixSuit下载 PhoenixSuit_CN_V1.1.1_20230906.rar

-.3 全志Melis2.0 用户手册.pdf下载

下载地址:
全志Melis2.0 用户手册.pdf下载 documents_20230906_melis_v2.0.rar

-.4 全志melis2.0 sdk源码库下载

下载地址:
全志melis2.0 sdk源码库下载 melis2.0-sdk-release_20230906V2.0.rar文章来源地址https://www.toymoban.com/news/detail-720352.html

到了这里,关于全志ARM926 Melis2.0系统的开发指引③的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 全志F1C200S ARM926 Melis2.0系统的开发相关工具文档及SDK源码库

    本文档是全志 Melis2.0 系统的开发指引文档,旨在协助开发者了解和掌握 Melis 系统,快速搭建 Melis系统的开发环境,将 Melis2.0 系统应用到产品开发中。 Melis2.0 系统是基于全志芯片平台自主研发的一套软件系统,其内容涵盖 SDK 代码包、资源制作工具组、编译链接脚本、固件打

    2024年02月07日
    浏览(69)
  • 全志F1C200S ARM926EJ-S内核处理器-开发板及用户使用说明

    F1C200S采用全志F1C200S ARM926EJ-S内核处理器,片内自带64MB SIP-DDR1,DDR频率可稳定运行在156Mhz,CPU主频可达720Mhz运行。板载USB、Flash、TF卡座、40P LCD接口、咪头等。支持720P视频输出,支持H.264、MJPEG等解码。 1,内核:ARM 926EJS @ 900MHz; 2,内存:DDR1 内置64M; 3,支持存储卡:板载自

    2024年02月07日
    浏览(39)
  • [ARM+Linux] 基于全志h616外设开发笔记

    修改用户密码 配置网络 nmcli dev wifi  命令扫描周围WIFI热点   nmcli dev wifi connect  xxx  password xxx 命令 连接WiFi 查看ip地址的指令: ifconfig ip addr show wlan0 SSH登录         这是企业开发调试必用方式,比串口来说不用接线,前提是接入网络并获得板子IP 地址,且系统做了SSH的

    2023年04月21日
    浏览(42)
  • ARM-Linux开发与MCU开发的不同之处分析

    目录 一、ARM-Linux应用开发和单片机开发的不同 二、Arm-Linux基本开发环境 针对ARM-Linux程序的开发,主要分为三类:应用程序开发、驱动程序开发、系统内核开发。针对不同种类的软件开发,有其不同的特点。 今天,我们来看看ARM-Linux开发和MCU开发的不同点,以及ARM-Linux的基本

    2024年02月10日
    浏览(46)
  • 基于全志A33开发板linux系统移植学习记录(Boot0)

    第一章 Boot0基于ARMGCC的编译与修改 入行快两年,希望通过学习系统移植巩固下相关的知识,目标板使用基于全志A33 的astar-parrot开发板,开始本来想着使用Boot0来加载uboot,但后期发现为了代码统一和便捷性,最终还是选择了SPL作为跳板,但Boot0流程相对清晰,所以将对其做的

    2023年04月08日
    浏览(45)
  • HUAWEI 擎云L420 折腾记 (搭建arm gcc、openocd 雅特力 MCU开发环境)

    心血来潮,能不能在纯国产的笔记本、系统上进行开发, 划拉了一下市面上能买到的设备,也就华为擎云L410 、L420 还能买得起,用的上,因此小黄鱼2xxx 买了一部99新的擎云L420 开始尝试是否能搭建起来工作环境。 wq退出保存 之后 java -verison java 环境ok 安装十分顺利,默认版

    2024年02月17日
    浏览(45)
  • 记录移植Python3到arm开发板linux系统中

    开发板情况 arm板是公司采购的工控机。主要用来 使用python3解析excel表格处理数据。 配置如下: 配置 版本 cpu imx6dl(armv7架构) 操作系统 linux3.10 python版本 2.7 项目情况 项目中最好使用 python3 。可行的有以下几种方式: 方式 优缺点 可行度 重做文件系统 订制程度比较高,后期增

    2024年02月04日
    浏览(50)
  • 1802_在Linux系统上开发ARM单机片机嵌入式软件

             全部学习汇总: GreyZhang/little_bits_of_linux: My notes on the trip of learning linux. (github.com) 1. 在Linux上也有嵌入式的开发环境,或许还有很多。不过,我现在接触到的大部分还是Windows居多。这一份文件介绍的是一个mbed platform这样一个开源的ARM嵌入式开发环境。可以支持C以

    2024年02月07日
    浏览(52)
  • 全志ARM-超声波测距

    超声波测距模块是用来测量距离的一种产品,通过发送和收超声波,利用时间差和声音传播速度, 计算出模块到前方障碍物的距离 1.测距原理: 给Trig端口至少10us的高电平发送声波,Echo信号,由低电平跳转到高电平,开始发送波;Echo,由高电平跳转回低电平,表示波回来了

    2024年04月28日
    浏览(32)
  • linux下进行MCU开发环境搭建

    在linux环境下开发可以利用shell命令实现对文件的批处理 伟大的程序员应该都用类unix系统! 可以实现对底层编译技术的了解,以便于更好的掌握嵌入式技术 通用性,采用开源工具,从底层开发项目,可以不受制于特定厂商的ide工具.可以实现通用架构! 在linux下进行嵌入式技术开发的

    2024年02月19日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包