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

news2024/11/15 15:52:53

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

  • 编写目的
  • 6. 存储系统简介
    • 6.1.概要描述
    • 6.2.文件系统接口
      • 6.2.1. 文件系统支持
      • 6.2.2. 文件系统接口函数
    • 6.3. Flash 分区
      • 6.3.1.如何配置可配分区的大小
    • 6.4.存储介质开发
      • 6.4.1. NOR Flash
        • 6.4.1.1.添加新 Nor Flash
        • 6.4.1.2.Nor Flash 保存用户数据
      • 6.4.2. SDMMC Card
  • -. 全志相关工具和资源
    • -.1 全志固件镜像修改工具 ImageModify.exe 下载
    • -.2 全志固件USB刷机工具 PhoenixSuit 下载
    • -.3 全志Melis2.0 用户手册.pdf下载
    • -.4 全志melis2.0 sdk源码库下载

编写目的

本文档是全志 Melis2.0 系统的开发指引文档,旨在协助开发者了解和掌握 Melis 系统,快速搭建 Melis系统的开发环境,将 Melis2.0 系统应用到产品开发中。
在这里插入图片描述

6. 存储系统简介

6.1.概要描述

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

6.2.文件系统接口

6.2.1. 文件系统支持

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

6.2.2. 文件系统接口函数

图34:
在这里插入图片描述
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:
在这里插入图片描述

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

分区大小的配置。其中 BOOT0,BOOT1,MBR 三个分区已经固定写死不能修改,可以修改的是 ROOTFS和 UDISK。而 UDISK 分区大小是 NOR Flash 大小减去前面分区分配的容量,剩下的全部默认分配给 UDISK 分区。这两个分区的的配置主要是在 SDK/workspace/suniv/eFex/sys_config.fex 中主键 part_num,和 partition0。
如下图
图36:
在这里插入图片描述
如上图所示,修改 ROOTFS 分区需要修改步骤如下

  1. 修改 sys_config.fex 文件的主键 partition0,子健 size_lo 的值,单位为 Kbyte。
  2. 修改 SDK/workspace/suniv/beetles 路径下的 rootfs.ini 文件中的主键[IMAGE_CFG],子键 size 的大小,需要和第一步配置的大小一致。
    图37:
    在这里插入图片描述
  3. 计算出 udisk 分区大小,总容量-BOOT0-BOOT1-ROOTFS。即 8192K- 24K- 120K- 1K- 7919K =128K。将该值填入 SDK/workspace/suniv/beetles 路径下的 udisk.ini 文件中的主键[IMAGE_CFG],子键 size。
    图38:
    在这里插入图片描述
  4. 重新打包生成固件。即完成 rootfs 和 udisk 分区的大小修改。

6.4.存储介质开发

6.4.1. NOR Flash

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

6.4.1.1.添加新 Nor Flash

在 sys_config.fex 添加新物料,如下所示:
图39:
在这里插入图片描述
除了在 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 下载

在这里插入图片描述
下载地址:
固件镜像修改工具 ImageModify.exe下载 ImageModify_20230906.rar

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

在这里插入图片描述
下载地址:
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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1060860.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Llama2-Chinese项目:6-模型评测

测试问题筛选自AtomBulb[1]&#xff0c;共95个测试问题&#xff0c;包含&#xff1a;通用知识、语言理解、创作能力、逻辑推理、代码编程、工作技能、使用工具、人格特征八个大的类别。 1.测试中的Prompt   例如对于问题"列出5种可以改善睡眠质量的方法"&#xff…

DP读书:《openEuler操作系统》(四)鲲鹏处理器

鲲鹏处理器 一、处理器概述1.Soc2.Chip3.DIE4.Cluster5.Core 二、体系架构1.计算子系统2.存储子系统3.其他子系统 三、CPU编程模型1.中断与异常2.异常级别a.基本概念b.异常级别切换 下面为整理的内容&#xff1a;鲲鹏处理器 架构与编程&#xff08;一&#xff09;处理器与服务器…

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

全志ARM926 Melis2.0系统的开发指引④ 编写目的7. 固件打包脚本7.1.概要描述7.2.术语定义7.2.1. makefile7.2.2. image.bat 7.3.工具介绍7.4.打包步骤7.4.1. makefile 部分7.4.2. image.bat 部分 7.5.问题与解决方案7.5.1. 固件由那些文件构成7.5.2. melis100.fex 文件包含什么…

(二)正点原子STM32MP135移植——TF-A移植

目录 一、TF-A概述 二、编译官方代码 2.1 解压源码 2.2 打补丁 2.3 编译准备 &#xff08;1&#xff09;修改Makfile.sdk &#xff08;2&#xff09;设置环境变量 &#xff08;3&#xff09;编译 三、移植 3.1 复制官方文件 3.2 修改电源 3.3 修改TF卡和emmc 3.4 添…

Monkey基本使用及介绍

1 简介.. 1 1.1 Monkey是干什么的.. 1 1.2 我们为什么要用monkey. 1 1.3 试行monkey的计划.. 2 2 monkey使用.. 4 2.1 基本常识.. 4 2.2 基本使用.. 6 2.2.1 通过adb 来启动monkey. 6 2.2.2 一些命令选项.. 7 2.2.3 一些测试例子.. 7 2.2.4 执行注意事项.. 9 2.2.5侦…

pandas read_json时ValueError: Expected object or value的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

数据结构 1.2 算法

算法的基本概念 算法的定义 算法是对特定问题求解步骤的一种描述&#xff0c;它是指定的有限序列&#xff0c;其中的每条指令表示一个或多个操作。 例、 算法的特性 &#xff08;5个&#xff09; 1.有穷性 一个算法总在执行有穷步之后结束&#xff0c;且每一步都可以在有穷…

Redis作为缓存,mysql的数据如何与redis进行同步?

Redis作为缓存&#xff0c;mysql的数据如何与redis进行同步&#xff1f; 一定要设置前提&#xff0c;先介绍业务背景 延时双删 双写一致性:当修改了数据库的数据也要同时更新缓存的数据&#xff0c;缓存和数据库的数据要保持一致 读操作:缓存命中&#xff0c;直接返回;缓存未…

位移贴图和法线贴图的区别

位移贴图和法线贴图都是用于增强模型表面细节和真实感的纹理贴图技术&#xff0c;但是它们之间也存在着差异。 1、什么是位移贴图 位移贴图&#xff1a;位移贴图通过在模型顶点上定义位移值来改变模型表面的形状。该贴图包含了每个像素的高度值信息&#xff0c;使得模型的细节…

Nginx与Spring Boot的错误模拟实践:探索502和504错误的原因

文章目录 前言502和504区别---都是Nginx返回的access.log和error.log介绍SpringBoot结合Nginx实战502 and 504准备工作Nginx配置host配置SpringBoot 502模拟access.logerror.log 504模拟access.logerror.log 500模拟access.logerror.log 总结 前言 刚工作那会&#xff0c;最常…

基于Java Web 的购物网站

本系统采用基于JAVA语言实现、架构模式选择B/S架构&#xff0c;Tomcat7.0及以上作为运行服务器支持&#xff0c;基于JAVA等主要技术和框架设计&#xff0c;idea作为开发环境&#xff0c;数据库采用MYSQL5.7以上。 开发环境&#xff1a; JDK版本&#xff1a;JDK1.8 服务器&…

【前后缀技巧】2022牛客多校3 A

登录—专业IT笔试面试备考平台_牛客网 题意&#xff1a; 思路&#xff1a; 这种是典中典中典&#xff0c;对于gcd&#xff0c;背包问题都是一样的处理方式 预处理出前缀lca和后缀lca&#xff0c;枚举哪个消失即可&#xff0c;可以统计方案数 Code&#xff1a; #include &l…

karmada v1.7.0安装指导

前言 安装心得 经过多种方式操作&#xff0c;发现二进制方法安装太复杂&#xff0c;证书生成及其手工操作太多了&#xff0c;没有安装成功&#xff1b;helm方式的安装&#xff0c;v1.7.0的chart包执行安装会报错&#xff0c;手工修复了报错并修改了镜像地址&#xff0c;还是各…

在Ubuntu 20.04搭建最小实验环境

sudo apt-get -y install --no-install-recommends wget gnupg ca-certificates安装导入GPG公钥所需的依赖包。 sudo wget -O - https://openresty.org/package/pubkey.gpg | sudo apt-key add -导入GPG密钥。 sudo apt-get -y install --no-install-recommends software-p…

【APUE】文件系统 — 类 du 命令功能实现

一、du命令解析 Summarize disk usage of the set of FILEs, recursively for directories. du 命令用于输出文件所占用的磁盘空间 默认情况下&#xff0c;它会输出当前目录下&#xff08;包括该目录的所有子目录下&#xff09;的所有文件的大小总和&#xff0c;以 1024B 为单…

包装机(栈和队列的应用)

一种自动包装机的结构如图 1 所示。首先机器中有 N 条轨道&#xff0c;放置了一些物品。轨道下面有一个筐。当某条轨道的按钮被按下时&#xff0c;活塞向左推动&#xff0c;将轨道尽头的一件物品推落筐中。当 0 号按钮被按下时&#xff0c;机械手将抓取筐顶部的一件物品&#x…

论文阅读——Pyramid Grafting Network for One-Stage High Resolution Saliency Detection

目录 基本信息标题目前存在的问题改进网络结构CMGM模块解答为什么要用这两个编码器进行编码 另一个写的好的参考 基本信息 期刊CVPR年份2022论文地址https://arxiv.org/pdf/2204.05041.pdf代码地址https://github.com/iCVTEAM/PGNet 标题 金字塔嫁接网络的一级高分辨率显著性…

虚拟机通过nat模式端口映射实现内网穿透

虚拟机通过nat模式端口映射实现内网穿透 1.网络状态 windows虚拟主机的IP为局域网的私有IP192.168.1.7linux的虚拟主机IP为nat的172.36.4.1062.linux修改nat模式的端口映射 3.windows宿主机防火墙添加规则,&#xff08;或者直接关闭公共网络防火墙&#xff0c;不安全&#xf…

多个excel合并

目的&#xff1a;将同一个文件下的多个 “京东差评.xlsx” 合并为一个&#xff1a;“京东汇总.xlsx" 代码如下&#xff1a; # -*- coding: utf-8 -*- """ Created on Wed Oct 4 12:52:32 2023author: 64884 """import pandas as pd impor…

ffmpeg之去除视频水印

ffmpeg去除水印使用delogo视频滤镜。 delogo参数: x,y,w,h分别表示logo区域的左上角位置及宽度和高度&#xff1b; show:0表示不显示logo区域&#xff0c;1表示显示logo区域。 执行下面的命令&#xff1a; ffmpeg -i 1.mp4 -vf delogox300:y10:w80:h30:show0 out.mp4 效果…