温馨提示:该页面为Windows软件,不支持手机用户安装使用
在单片机设计的开发过程中,经常需要将两个独立的bin文件合并成一个文件,以便于烧录和生产制造。UBIN.exe是一款功能强大的工具,能够实现两个二进制bin文件的合并,支持任意特定偏移合并。使用它可以将编译好的两个bin文件按照程序员的需求合并,而不需要费力地去重建项目重新编译。有兴趣的朋友可以试一下。
使用方法首先简单介绍一下STM32的IAP。IAP(In-application-programming),即在应用中编程。拥有它发布产品后,仍然可以方便地升级固件,而不用拆卸并用JTAG等方法升级程序流程。IAP系统的固件一般由两部分构成,IAP BootLoader Code和Application Code,如下图所示。
开机启动时首先运行IAP BootLoader Code,并检查相对情况,分辨是执行升级的步骤还是直接运行当地的Application Code。一般来说BootLoader和Application是各自编译的,会形成两个二进制文件。在工厂生产时,如果各自烧录这两个文件,显然有些不便。这时我们就可以将两个BIN文件合并成一个,直接烧录。假设Application Code的偏移地址为0x1000,IAP固件在Flash中的分布如下图所示。
下面详细介绍第一种方式,使用二进制文件合并工具(UBIN.exe),这一实用工具是之前在S3C2410上开发uCOS时做的,功能非常简单,考虑一般的需求。首先添加第一个文件1.bin,其地址为0x0000,所以偏移设定为0x00000000,设定完偏移后点击“添加”按钮。然后添加第二个文件,偏移根据需要设定为0x00001000,如下图所示。
设定目标文件为C:\dst.bin,然后点击“合并”按钮。正常情况下会成功形成目标文件,并有如下图所示的信息提示。
这种方式相对比较灵活,对合并文件的数量和偏移地址没有限制。缺点是不兼容配置文件,不能保存专设的配置,所以每次合并都得手动做很多重复工作。在调试环节会比较麻烦。
下面介绍一种根据命令行工具合并两个文件的方式。该方式需要采用fsutil.exe、cat.exe和hbin.exe。写一个批处理命令文件,分别启动这三个工具,最后将1.bin和2.bin合并成dest.bin。批处理命令文件的内容如下:
del dest.bin
fsutil file createnew dest.bin 4096
cat 2.bin >> dest.bin
hbin 1.bin dest.bin
批处理命令文件各行各业的简单说明,del dest.bin,删除原先的目标文件fsutil file createnew dest.bin 4096,建立一个大小为4096字节数的空白文件dest.bin,该值的尺寸由偏移地址0x1000决定cat 2.bin >> dest.bin,将2.bin追加到空白文件dest.bin后面hbin 1.bin dest.bin,将1.bin插入到dest.bin的头部,填充dest.bin头部4k字节的空白dest.bin就是我们最后需要的合并完成的文件。将它与第一种方式合并的文件dst.bin比较一下,如下。可以看到两种方式合并出的文件,完全一样。第二种方式的好处在于,可以在集成化开发工具中设定编译选项,在编译完成后自动执行该批处理命令,这样编译完成后即可获得可以直接烧录到Flash中的二进制文件,节省了一些时间。
安装快捷方式
修改或删除您的SD卡中的内容
拥有完全的网络访问权限
控制振动
查看网络连接
开机启动
防止手机休眠
在其他应用之上显示内容
录音
更改您的音频设置
拍摄照片和视频
连接WLAN网络和断开连接
查看WLAN连接
关闭其他应用
卸载快捷方式
让应用始终运行
修改系统设置
检索正在运行的应用
读取您的通讯录
与蓝牙设备配对
访问蓝牙设置
发送持久广播
写入/删除您的通讯录
使用指纹硬件
更改网络连接性
展开/收拢状态栏
查找设备上的帐号
写入/删除您的通讯录
读取同步设置
启用和停用同步
停用屏幕锁定
允许接收WLAN多播
添加或修改日历活动,并在所有者不知情的情况下向邀请对象发送电子邮件
读取日历活动和机密信息
关闭其他应用
请求安装文件包
连接WLAN网络和断开连接
拥有完全的网络访问权限
查看WLAN连接
查看网络连接
访问确切位置信息(以 GPS 和网络为依据)
访问大致位置信息(以网络为依据)
拍摄照片和视频
防止手机休眠
安装快捷方式
开机启动
发送持久广播
控制近距离通信
对正在运行的应用重新排序
读取您的SD卡中的内容