3 打包工具介绍
本文只介绍Tina 打包时特有的工具,其他通用工具如unix2dos 等请自行百度。在tina SDK 中特有的打包工具保存在如下路径:
3.1 update_mbr
工具名称 | update_mbr |
---|---|
功能说明 | 根据分区配置文件,更新主引导目录文件sunxi_mbr.fex ,sunxi_gpt.fex 及分区的下载文件列表dlinfo.fex 。 |
使用方法 | update_mbr 如果不指定mbr_count,mbr_count = 4; update_mbr 使用此用法必须指定mbr_count,本来输出的sunxi_mbr.fex 会改名为output_name。 |
参数说明 | partition_file:分区配置文件,如sys_partition.bin mbr_count:mbr 的备份数量,如果不指定,缺省mbr_count = 4; output_name:修改sunxi_mbr.fex 的输出名,没有特殊需求不建议使用此用法。 |
应用举例 | update_mbr sys_partition.bin 4 update_mbr sys_partition.bin 1 sunxi_mbr_tmp.fex (没有特殊需求不建议使用此用法) |
3.2 merge_full_img
工具名称 | merge_full_img |
---|---|
功能说明 | 指定起始逻辑地址,把boot0,boot1,mbr 及分区文件下载列表里的文件合 并成img 固件包,应用于小容量的nor flash。此时没有分区的概念。 |
使用方法 | merge_full_img –out –boot0 –boot1 –mbr –partition |
| 参数说明 | –out
–boot0
–mbr
–boot0 boot0_spinor.fex \
–boot1 ${BOOT1_FILE} \
–mbr sunxi_mbr.fex \
–logic_start ${LOGIC_START} \
–partition_file |
3.3 script
(1) 注意: 此处讲述的不是Linux 通用的script 工具(Linux 下script 工具用于终端会话录制) (2) 它是全志实现的一个同名工具,工具功能说明如下:
工具名称 | script |
---|---|
功能说明 | 解析输入文本文件的所有数据项,生成新的二进制bin 文件,以便程序解析。 生成的目标文件与源文件名字(除后缀) 一样,但后缀为.bin。 |
使用方法 | script |
参数说明 | source_file:输入的文本文件,可多个 |
应用举例 | scriptsys_config.fex scriptsys_partition.fex |
3.4 dragonsecboot
工具名称 | dragonsecboot |
---|---|
功能说明 | 1) 根据指定的keys 生成toc0 文件。 2) 根据指定的keys 和cnfbase 生成toc1 文件。 3) 根据配置文件生成keys。 4) 按配置文件的配置进行打包生成目的文件。 |
使用方法 | dragonsecboot -toc0 dragonsecboot -toc1 dragonsecboot -key dragonsecboot -pack |
参数说明 | -toc0:表示要生成toc0 文件 -toc1:表示要生成toc1 文件 -key:表示要生成key -pack:表示进行打包 cfg_file:配置文件 keypath:key 的路径 cnfbase:输入的cnf_base.cnf 文件 version_file:固件防回滚配置文件 |
应用举例 | dragonsecboot -pack boot_package.cfg dragonsecboot -key dragon_toc.cfg keys dragonsecboot -toc0 dragon_toc.cfg keys version_base.mk dragonsecboot -toc1 dragon_toc.cfg keys cnf_base.cnf version_base.mk |
3.5 update_boot0
工具名称 | update_boot0 |
---|---|
功能说明 | 根据配置脚本内容,修正boot0 头部的参数。修正参数:debug_mode、 dram_para 参数、uart 参数、bootcpu、jtag 参数、NAND 参数等。 |
使用方法 | update_boot0 |
参数说明 | boot0:boot0 文件 sys_config_file:系统配置文件storage_type:存储介质类型 |
应用举例 | update_boot0 boot0_nand.fex sys_config.bin NAND update_boot0 boot0_sdcard.fex sys_config.bin SDMMC_CARD update_boot0 boot0_spinor.fex sys_config.bin SDMMC_CARD |
3.6 update_dtb
工具名称 | update_dtb |
---|---|
功能说明 | 把Linux 设备树二进制dtb 文件进行512 字节对齐后再预留空间。 |
使用方法 | update_dtb |
参数说明 | dtb_file:输入的Linux 设备树二进制dtb 文件reserve_size:输出目标文件预留多少字节 |
应用举例 | update_dtb sunxi.fex 4096 |
3.7 update_fes1
工具名称 | update_fes1 |
---|---|
功能说明 | 从系统配置文件中取出数据对fes1 头部相关参数进行修正。 修正参数包括:DRAM 参数、UART 参数、JTAG 参数等。 |
使用方法 | update_fes1 |
参数说明 | fes1_file:更修正的FES1 文件 config_file:输入的系统配置文件 |
应用举例 | update_fes1 fes1.fex sys_config.bin |
3.8 signature
工具名称 | signature |
---|---|
功能说明 | 对MBR 指定要进行签名的分区文件进行签名。 |
使用方法 | signature |
参数说明 | sunxi_mbr_file:输入的MBR 文件 dlinfo_file:输入的分区下载列表文件 |
应用举例 | signature sunxi_mbr.fex dlinfo.fex |
3.9 update_toc0
工具名称 | update_toc0 |
---|---|
功能说明 | 从系统配置文件中取出相关参数对toc0 配置参数进行修正,修正参数包括: DRAM、UART、JTAG、NAND、卡0 、卡2 、secure 参数等。 |
使用方法 | update_toc0 |
参数说明 | toc0_file:输入的toc0 文件 config_file:输入的系统配置文件 |
应用举例 | update_toc0 toc0.fex sys_config.bin |
3.10 update_uboot
工具名称 | update_uboot |
---|---|
功能说明 | 从系统配置文件中取出相关参数对uboot 头部参数进行修正。 修正参数包括:UART 参数、TWI 参数、target 参数、SDCARD 参数等。 |
使用方法 | update_uboot update_uboot -merge update_uboot -no_merge |
参数说明 | uboot_file:要更新的uboot 文件 config_file:系统配置文件 -merge:系统配置文件会拼接在uboot 文件尾部 -no_merge:系统配置文件不会拼接在uboot 文件尾部注意:没有显式指明-no_merge 参数默认会把系统配置文件拼接在uboot 文件尾部 |
应用举例 | update_uboot u-boot.fex sys_config.bin update_uboot -merge u-boot.fex sys_config.bin update_uboot -no_merge u-boot.fex sys_config.bin |
3.11 update_scp
工具名称 | update_scp |
---|---|
功能说明 | 从系统配置文件中取出相关参数对scp (小cpu 运行代码只有带有小cpu 方案的芯片 会用到)头部参数进行修正。修正参数包括:UART 参数、dram_para 参数等。 |
使用方法 | update_scp |
参数说明 | uboot_file:要更新的scp 文件 config_file:系统配置文件 |
应用举例 | update_scp scp.fex sunxi.fex |
3.12 u_boot_env_gen
工具名称 | u_boot_env_gen |
---|---|
功能说明 | 解析env 文件生成uboot 能识别的env 二进制数据文件,功能与标准的mkenvimage 工具类似。 |
使用方法 | u_boot_env_gen |
参数说明 | env_file:输入的evn 文件 env_bin_file:输出的env 二进制文件 |
应用举例 | u_boot_env_gen env.cfg env.fex |
3.13 fsbuild
工具名称 | fsbuild |
---|---|
功能说明 | 根据boot-resource.ini 生成fat 格式文件。 |
使用方法 | fsbuild |
参数说明 | rootfs_config_file:fat 系统配置文件 magic:用于fat 文件系统校验 |
应用举例 | fsbuild boot-resource.ini split_xxxx.fex |
3.14 update_toc1(旧版本工具,后面会弃用,可以不理会
工具名称 | update_toc1 |
---|---|
功能说明 | 从系统配置文件中取出相关参数对toc1 配置参数进行修正,修正参数包括: board_id_simple_gpio 参数(需配置启用,目前已没有方案使用)。 |
使用方法 | update_toc1 |
参数说明 | toc1_file:输入的toc1 文件 config_file:输入的系统配置文件 |
应用举例 | update_toc1 toc1.fex sys_config.bin |
3.15 programmer_img
工具名称 | programmer_img |
---|---|
功能说明 | 生成mmc 介质的烧录固件。 |
使用方法 | programmer_img programmer_img |
参数说明 | in_img:输入的文件或镜像 boot0_file:boot0 文件 uboot_file:uboot 文件 partition_file:分区配置文件 mbr_file:sunxi_mbr 文件output_img:输出的文件或镜像 |
应用举例 | programmer_img boot0_sdcard.fex boot_package.fex ${out_img} programmer_img sys_partition.bin sunxi_mbr.fex ${out_img} ${in_img} |
3.16 dragon
工具名称 | dragon |
---|---|
功能说明 | 根据img 配置文件和分区配置文件生成固件。 |
使用方法 | dragon |
参数说明 | img_config:配置文件,描述img 文件格式和包含其他文件列表 partition_file:分区配置文件 |
应用举例 | dragon image.cfg sys_partition.fex |
3.17 sigbootimg
工具名称 | sigbootimg |
---|---|
功能说明 | 在输入文件的后面添加一个证书,并输出一个带证书的文件。 |
使用方法 | sigbootimg –image |
参数说明 | input_img:输入的文件或镜像 cert_file:文件或镜像对应的证书 output_img:带证书的文件或镜像 |
应用举例 | sigbootimg –image boot.fex –cert boot.fex –output boot_sig.fex |