IMX6学习记录(18)-分析官方镜像制作文件

2023-11-12

上面是我的微信和QQ群,欢迎新朋友的加入。

1.源码

打开/home/jun/i.mx6/sdk/SDK_2.2_MCIM6ULL/tools/imgutil/evkmcimx6ull下面的mkimage.sh文件

#!/bin/bash

function usage()
{
  echo "Usage: $0 target"
  echo "       target: ram -- the image will be loaded to RAM and run, the application must be built with ram link file"
  echo "       target: flash -- the image will be run on flash directly, the application must be build with flash link file"
  echo "       target: sd -- the image will be loaded from SD to RAM and run, the application must be build with ram link file"
  echo "Example: $0 ram"
}

if [ "$#" -ne 1 ]; then
  usage $0
  exit 1
fi

SYSTEM=`uname -s`
if [ $SYSTEM == "Linux" ]; then
    DCD_BUILDER=dcdgen.bin
    IMG_BUILDER=imgutil.bin
else
    DCD_BUILDER=dcdgen.exe
    IMG_BUILDER=imgutil.exe
fi

../bin/$DCD_BUILDER dcd.config dcd.bin
if [ "$1" == "ram" ]; then
    ../bin/$IMG_BUILDER --combine base_addr=0x80000000 ivt_offset=0x1000 app_offset=0x2000 dcd_file=dcd.bin app_file=sdk20-app.bin ofile=sdk20-app.img image_entry_point=0x80002000
elif [ "$1" == "flash" ]; then
    ../bin/$IMG_BUILDER --combine base_addr=0x60000000 ivt_offset=0x1000 app_offset=0x2000 dcd_file=dcd.bin app_file=sdk20-app.bin ofile=sdk20-app.img image_entry_point=0x60002000
elif [ "$1" == "sd" ]; then
    ../bin/$IMG_BUILDER --combine base_addr=0x80000000 ivt_offset=0x400 app_offset=0x2000 dcd_file=dcd.bin app_file=sdk20-app.bin ofile=sdk20-app.img image_entry_point=0x80002000
else
    echo "Unsupported target $1"
    usage $0
fi

2.分析

#!/bin/bash

function usage()
{
  echo "Usage: $0 target"
  echo "       target: ram -- the image will be loaded to RAM and run, the application must be built with ram link file"
  echo "       target: flash -- the image will be run on flash directly, the application must be build with flash link file"
  echo "       target: sd -- the image will be loaded from SD to RAM and run, the application must be build with ram link file"
  echo "Example: $0 ram"
}

if [ "$#" -ne 1 ]; then
  usage $0
  exit 1
fi

如果输入不带参数,就打印这一段信息出来,可以尝试一下

SYSTEM=`uname -s`
if [ $SYSTEM == "Linux" ]; then
    DCD_BUILDER=dcdgen.bin
    IMG_BUILDER=imgutil.bin
else
    DCD_BUILDER=dcdgen.exe
    IMG_BUILDER=imgutil.exe
fi

判断当前实在linux环境还是windows环境下,会加载不同的文件

../bin/$DCD_BUILDER dcd.config dcd.bin
if [ "$1" == "ram" ]; then
    ../bin/$IMG_BUILDER --combine base_addr=0x80000000 ivt_offset=0x1000 app_offset=0x2000 dcd_file=dcd.bin app_file=sdk20-app.bin ofile=sdk20-app.img image_entry_point=0x80002000
elif [ "$1" == "flash" ]; then
    ../bin/$IMG_BUILDER --combine base_addr=0x60000000 ivt_offset=0x1000 app_offset=0x2000 dcd_file=dcd.bin app_file=sdk20-app.bin ofile=sdk20-app.img image_entry_point=0x60002000
elif [ "$1" == "sd" ]; then
    ../bin/$IMG_BUILDER --combine base_addr=0x80000000 ivt_offset=0x400 app_offset=0x2000 dcd_file=dcd.bin app_file=sdk20-app.bin ofile=sdk20-app.img image_entry_point=0x80002000
else
    echo "Unsupported target $1"
    usage $0
fi

重点地方,判断是哪种文件类型,写入对应的地址

也就是这里,限制了文件名必须是sdk20-app

个人感觉是个很傻的操作

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IMX6学习记录(18)-分析官方镜像制作文件 的相关文章

随机推荐

  • AES加密算法详解(图文解释)

    由于DES加密算法被破解了 3DES加密算法虽然没有被破解 但是3DES算法的加解密效率低 所有现在都使用AES算法 AES加密算法是密码学中的高级加密标准 AES为分组加密法 把明文分成一组一组的 每组长度相等 每次加密一组数据 直到加密
  • 使用Go语言和以太坊智能合约交互

    尽管最近遇到了些麻烦 但以太坊仍然是区块链领域内智能合约的最大参与者 这似乎不会很快改变 在我看来 技术本身具有很大的潜力 是从学术的角度看很有意思 但正如上面提到的问题和之前的许多问题是区块链技术方面的 智能合约 特别是具有Solidit
  • 使用 Spark DataFrame 进行大数据分析

    目录 1 什么是 spark dataframe 2 为什么要用 spark dataframe 3 创建 dataframe 4 操作 dataframe 4 1 在 dataframe 上执行 sql 语句 4 2 spark data
  • java command not found 问题出现和解决

    在启动定时任务的时候 有时会出现java command not found的错误提示 是找不到JAVA环境变量所导致的 在此记录 防止遗忘 在任意目录下执行 export JAVA HOME home uat ops java jdk d
  • cucu: a compiler you can understand (part 1)

    原文地址 http blog csdn net roger wong article details 8498591 译者序 最近在学习一些编译器的基本知识 就找到了这篇英文的博客 在csdn搜了一下貌似没有人翻译 所以我干脆翻译了算了 反
  • 学会Mybatis框架:一文掌握MyBatis与GitHub插件分页的完美结合【三.分页】

    Welcome Huihui s Code World 接下来看看由辉辉所写的关于Mybatis的相关操作吧 目录 Welcome Huihui s Code World 一 Mybatis分页 1 Mybatis自带分页 2 插件分页 二
  • ‘windows socket error:由于目标机器积极拒绝,无法连接。(10061),on API 'connect'的错误?

    1 gt 连接时出现 windows socket error 10061 on API connect 是SOCKET没有启动 SCKTSRVR EXE 或者无法连接到服务器 端口等 使用socketconnect很简单 只要在应用服务器
  • 【华为OD机试真题 JAVA】贪吃蛇

    JS版 华为OD机试真题 JS 贪吃蛇 标题 贪吃蛇 时间限制 1秒 内存限制 262144K 语言限制 不限 贪吃蛇是一个经典游戏 蛇的身体由若干方格连接而成 身体随蛇头移动 蛇头触碰到食物时 蛇的长度会增加一格 蛇头和身体的任一方格或者
  • python3**2的值_Python表达式3**2**3的值为_______________。

    填空题 Python表达式3 2 3的值为 单选题 探岳的产品定位是 填空题 Java 程序分为两类 即 和 Java 小应用程序 单选题 一汽 大众成立时间是 填空题 Java 中事件源发生事件时 就自动调用执行被类实现的某个接口方法 填
  • rust工程

    文章目录 Cargo macOS配置rust环境 vscode配置 目录结构 Cargo toml cargo命令 hello world 跟web交互 WebAssembly 跟Android交互 配置Android环境 JNI例子 ND
  • Python大作业(极简版3000字)

    Python大作业 作业要求 作业要分摘要和正文两部分 在书写时 请注意以下几点 1 摘要字数在300字左右 可分条描述 但不许有图 表和流程图 2 正文字数为1500 2000字 截图不算字数 3 在编程环境中写代码 并将程序代码及运行结
  • 软件测试终极难题:先学性能测试还是先学自动化测试?

    应该先学性能 还是应该先学自动化 这个问题是很多想要提升的人都会比较犹豫的 因为不知道怎么学更好 更合适 那今天我们就来给大家讲讲这个问题 在选择这两个方向的时候 我们应该先明确测试方法都是做什么的 性能测试首先我们是要解决这个软件功能已经
  • WIN7+VSCODE如何搭建C++开发环境

    1 参考文档 Ref 1 https zhuanlan zhihu com p 87864677 2 搭建环境 OS windows 7 vscode 1 70 2 C Extension version C C v1 2 2 3 编译 运
  • QT信号槽机制理解

    1 信号和槽概述 gt 信号槽是 Qt 框架引以为豪的机制之一 所谓信号槽 实际就是观察者模式 发布 订阅模式 当某个 事件 发生之后 比如 按钮检测到自己被点击了一下 它就会发出一个信号 signal 这种发出是没有目的的 类似广播 如果
  • 【源码+文档】大富翁(Monopoly)

    功能点与实现思路 游戏开始界面 选择界面 设置界面 背景音乐 退出功能 游戏回合制 通过回调函数的不断嵌套调用实现 人物行走动画 使用TexturePacker将人物动作打包生成图集与plist文件 将图集全部加载到SpriteFrameC
  • KVM虚拟机克隆和快照使用方法

    一 KVM虚拟机克隆方法 1 克隆KVM虚拟机的语法和注意事项 语法 virt clone o 原虚拟机 n 新虚拟机 f 新虚拟机存放的路径 注 需要克隆的虚拟机必须是关机状态 不然没办法克隆 2 克隆KVM虚拟机 centos7 0 1
  • 【华为OD机试真题2023B卷 JAVA&JS】找终点

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 找终点 知识点数组 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 给定一个正整数数组 设为nums 最大为100个成员 求从第一个成员开始 正好走到数组最后一个成员
  • 脉冲触发器(JK触发器)

    1 一般脉冲触发器 电路结构 将边沿触发器的两个电平触发D触发器换成电平触发的SR触发器 工作原理 即 上升沿 CLK由0 1时 CLK 由1 0 FF1由 锁存 正常工作 FF2由正常工作 锁存 Q1由锁存时的不变 可随S R变化 Q保持
  • 脚本:python实现樱花树

    文章目录 代码 效果 Reference 代码 from turtle import from random import from math import def tree n l pd 下笔 阴影效果 t cos radians hea
  • IMX6学习记录(18)-分析官方镜像制作文件

    上面是我的微信和QQ群 欢迎新朋友的加入 1 源码 打开 home jun i mx6 sdk SDK 2 2 MCIM6ULL tools imgutil evkmcimx6ull下面的mkimage sh文件 bin bash func