码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 全志ARM926 Melis2.0系统的开发指引⑤


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

    • 编写目的
    • 8. 固件修改工具(ImageModify)使用
      • 8.1.界面说明
      • 8.2.操作步骤
        • 8.2.1. 配置平台
        • 8.2.2. 选择固件
        • 8.2.3. 选择要替换的文件
        • 8.2.4. 替换文件
        • 8.2.5. 保存固件
      • 8.3.注意事项
      • 8.4.增加固件修改权限设置
        • 8.4.1. 概述
        • 8.4.2. 操作说明
          • 8.4.2.1.打包
          • 8.4.2.2.modifycfg.fex 文件编辑说明
    • -. 全志相关工具和资源
      • -.1 全志固件镜像修改工具 ImageModify.exe 下载
      • -.2 全志固件USB刷机工具 PhoenixSuit 下载
      • -.3 全志Melis2.0 用户手册.pdf下载
      • -.4 全志melis2.0 sdk源码库下载

    编写目的

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

    在这里插入图片描述

    8. 固件修改工具(ImageModify)使用

    8.1.界面说明

    ImageModify 工具路径为“SDK\softwares\ImageModify”。ImageModify 的作用是通过该工具直接替换
    固件内部分文件,生成一个新固件。
    主界面如下:
    图44:
    在这里插入图片描述

    1. 选择固件文件按钮

    2. 替换目标的系统盘文件浏览

    3. 选中的文件信息

    4. 替换按钮

    5. 图片浏览区

    6. 进度条

    7. 保存按钮
      注:由于软件版本不同,界面可能存在一点差异。

    8.2.操作步骤

    8.2.1. 配置平台

    在软件运行目录下运行批处理文件 config.bat。此批处理具体作用可参考软件目录下文档《固件修改工具 V300 说明文档》。
    图45:
    在这里插入图片描述
    根据平台的类型选择不同的数字,以 C200S 为例子,则选择 5 即可。

    8.2.2. 选择固件

    在运行目录下启动固件修改工具 ImageModify.exe 或者 ImageModify-not compress logo.exe。
    图46:
    在这里插入图片描述
    运行界面如下:
    图47:
    在这里插入图片描述
    点击 … ,选择要打开的固件文件。固件打开后有如下界面:
    图48:
    在这里插入图片描述

    8.2.3. 选择要替换的文件

    固件打开后,在目标替换文件浏览区可以看到该分区下的所有目录和文件,如下图
    图49:
    在这里插入图片描述
    点击需要替换的文件:
    图50:
    在这里插入图片描述
    在上图可以看到选中的文件

    8.2.4. 替换文件

    在步骤 3 中选中文件后,点击 Replace 按钮 ,选择新的文件进行替换。
    图51:
    在这里插入图片描述

    8.2.5. 保存固件

    当替换完所有要替换的文件后,点击按钮 ,等待进度条提示如下:
    图52:
    在这里插入图片描述
    表示保存成功。会在打开固件目录下会生成一个.img 的新固件。
    图53:
    在这里插入图片描述

    8.3.注意事项

    nor 系统的配置脚本要更新一下,参见软件工具目录下“nor 系统配置脚本”文件夹,修改了

    1. update.bat 中增加

    @copy .\ramfs.ini .\ramfs\ramfs_ini.tmp
    @copy .\rootfs.ini .\rootfs\rootfs_ini.tmp
    2. image.bat 文件中增加

    del .\ramfs\ramfs_ini.tmp
    del .\rootfs\rootfs_ini.tmp
    3. beetles\rootfs 里面添加 app_config.fex 文件。可参考修改工具\nor 系统配置脚本下面的修改范例
    4. 若 beetles\rootfs 里面 app_config.fex 文件存在则无需添加。app_config.fex 文件内容也有限制,
    app_config 里面结构基本是类似于主键和子键的结构形式,如下所示
    图54:
    在这里插入图片描述此处仅为举例,不考虑 client 的实际作用。

    [client]
    clientid=4C4E
    如上例子键等号后面的值如果数字开头不能带有字母,否则在 save 时,会提示如下错误
    图55:
    在这里插入图片描述
    子键等号后面的值如果以字母开头或者 0x 开头则可为任意字符串。正常保存生成新固件。如下图:
    图56:
    在这里插入图片描述

    8.4.增加固件修改权限设置

    8.4.1. 概述

    为了避免用户随意修改或者保护固件修改权限,需要在固件中增加限制修改的方法。通过这种机制,
    固件发布者可以设置允许修改的文件列表,进入修改权限的密码等信息。

    8.4.2. 操作说明

    8.4.2.1.打包

    将 modifycfg.fex 文件放在打包路径下,在 image.cfg 文件中的[FILELIST]段中增加如下项

    {filename = INPUT_DIR"beetles\modifycfg.fex", maintype = ITEM_COMMON, subtype = “MDF_CONFIG000000”,}, modifycfg.fex 文件是设置修改权限的文件。

    8.4.2.2.modifycfg.fex 文件编辑说明

     设置终端客户验证修改权限的密码

    Password=“12345”
    如果不需要密码,则将该字段设置成 Password=""即可。

     设置一级代理商验证修改权限的密码

    xPassword=“12345”
    如果不需要密码,则将该字段设置成 Password=""即可。

     设置是否限制

    Limited=1
    = 1 表示限制,=0 表示全部可以修改

     设置允许修改的文件列表

    FilesTab=
    {
    {File=" \res\boot_ui\logo.bmp"}, {File=" \apps\desktop.bin"}, {File=" \drv"}, --定义 drv 整个目录都可以修改

    }

    如果整个目录可修改,就定义一个目录名称即可,如例子中的

    {File=" \drv"},
    备注:
    如果是修改 bin 档(非 img 档),那么权限设置功能无法生效,所有文件将可见并可替换。

    -. 全志相关工具和资源

    -.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

  • 相关阅读:
    八股文-TCP的四次挥手
    C++面向对象三大特性之一------多态(下)
    SG-Former实战:使用SG-Former实现图像分类任务(一)
    namespace命名空间
    C++函数总结,看这一篇就够了
    数据结构与算法 -- 队列
    Go语言学习笔记之基础语法(一)
    栈的应用----括号匹配问题
    什么是Docker和Docker-Compose?
    一个获取当前登录机器IP的工具类
  • 原文地址:https://blog.csdn.net/kingpower2018/article/details/133519304
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号