STM32F407VET6学习笔记9:编译输出固定大小.bin文件

article/2025/7/29 18:15:05

今日学习如何输出固定大小的.bin编译文件

目录

Keil_V5  fromelf.exe  软件目录:

魔棒添加命令输出bin文件:

输出固定大小的bin文件:

计算bin文件大小: 

安装 SRecord 工具集:

使用SRecord:

 参考文章:


Keil_V5  fromelf.exe  软件目录:

Keil5软件目录有个fromelf.exe ,是一个重要的工具,主要用于处理编译后生成的可执行文件(通常是.axf.elf格式),将其转换为其他格式或提取特定信息。

这里先复制它的目录,后续会用到:

魔棒添加命令输出bin文件:

fromelf  --bin -o "$L@L.bin" "#L"$K\ARM\ARMCC\bin\fromelf.exe --bin --output=@L.bin !L

然后再编译一下就能发现Build Output多了俩条User command:

然后就能在编译输出结果里找到bin文件了

输出固定大小的bin文件:

计算bin文件大小: 

假设我想要固定66kb大小的bin文件,先用计算机计算一下:

安装 SRecord 工具集:

下载地址如下: SRecord 1.65

添加环境变量

使用SRecord:

win+r 进入cmd

先进入bin文件所在的文件目录:

cd E:\0A.Wifi_STM32F407VET6\my_testprojects\6.MY_Bootloader_UART_RX\MY_Bootloader\MDK-ARM\MY_Bootloader

再输入E:

再输入操作文件的命令:其中标颜色部分根据实际情况修改

srec_cat MY_Bootloader.bin -binary -fill 0xFF 0x0 0x10800 -o MY_Bootloader2.bin -binary

它的意思是将MY_Bootloader.bin填充大小至66kb,新文件名称为MY_Bootloader2.bin

srec_cat MY_Bootloader.bin -binary -fill 0xFF 0x0 0x10800 -o MY_Bootloader2.bin -binary

回车,查看到同一目录下有了66kb的bin文件:

 

 参考文章:

stm32 如何生成.bin文件-keil fromelf.exe使用_stm32生成bin文件-CSDN博客


http://www.hkcw.cn/article/spevifCLuY.shtml

相关文章

Spring Cloud 学习 —— 简单了解

Spring Cloud 简介 官方文档:https://docs.spring.io/spring-cloud-release/reference/index.html 在学习 Spring Cloud 之前,先了解一下什么是分布式系统? 分布式系统 分布式系统是由多个独立计算机(节点)通过网络…

FreeRTOS多任务系统①

多任务系统 回想一下我们以前在使用 51、STM32 单片机裸机(未使用实时操作系统)的时候一般都是在main 函数里面用 while(1)做一个大循环来完成所有的处理, 即应用程序是一个无限的循环, 循环中调用相应的函数完成所需的处理。 有时候我们也需要中断中完…

Celery简介

一、什么是异步任务队列 异步任务队列是指一种用于管理和调度异步执行任务的机制。具体来说,它允许将任务放入队列中,然后由后台进程异步处理这些任务,而不会阻塞主线程的执行。这种设计使得系统能够高效地处理耗时操作,同时保持…

【Livox雷达使用】

记录 目前livox雷达型号较多,适用范围广泛。后来出的雷达需要使用使用第二代SDK和驱动,如Mid360、HAP。之前在github上看有人问是否能一起安装,官方回答是可以的,我把livox SDK、livox_ros_driver和SDK2、driver2都下载了进行比较…

RS232转Profinet网关在检漏仪与西门子PLC里的应用

RS232转Profinet网关在检漏仪与西门子PLC里的应用 在工业自动化和控制领域,设备间的高效通信至关重要。RS232转Profinet网关作为一种关键的转换工具,能够将传统的RS232接口设备接入现代化的Profinet网络,从而实现数据的无缝传输和设备的远程…

公链地址生成曲线和算法

在区块链公链中,除了 ECDSA(基于 secp256k1 曲线) 和 EdDSA(基于 Ed25519 曲线) 之外,还有其他一些加密算法和椭圆曲线被用于生成公私钥对、签名验证或地址生成。这些算法和曲线的选择通常基于安全性、性能…

⭐ Unity AVProVideo插件自带播放器 脚本重构 实现视频激活重置功能

一、功能概述 本笔记记录直接修改插件自带的场景播放其中 原始的 MediaPlayerUI 脚本,实现激活时自动重置播放器的功能。 我用的插件版本是 AVPro Video - Ultra Edition 2.7.3 修改后的脚本将具备以下特性: 激活 GameObject 时自动重置播放位置到开头 可配置是否在重置后自…

C#命名类型前缀习惯改进

我这几天有一个疑惑,我之前用过一些变量命名,有些混乱,如string sql,string strSql,string sqlStr, string strName,string nameStr,bool boValid,stringbuilder sbFileN…

生成式AI如何重塑设计思维与品牌创新?从工具到认知革命的跃迁

当MidJourney生成的视觉方案出现在国际设计奖项的决赛名单,当Adobe Firefly成为设计师的标配工具,一个问题正从行业边缘走向中心:生成式人工智能(GAI)究竟在解构还是重构创意领域?作为深度参与AI与设计融合…

零知开源——STM32F407VET6驱动Flappy Bird游戏教程

简介 本教程使用STM32F407VET6零知增强板驱动3.5寸TFT触摸屏实现经典Flappy Bird游戏。通过触摸屏控制小鸟跳跃,躲避障碍物柱体,挑战最高分。项目涉及STM32底层驱动、图形库移植、触摸控制和游戏逻辑设计。 目录 简介 一、硬件准备 二、软件架构 三、…

超高频RFID读写器天线分类及应用场景

超高频RFID(Radio Frequency Identification,射频识别)技术作为一种先进的自动识别技术,已经在多个领域得到了广泛应用。作为RFID系统的重要组成部分,超高频RFID读写器天线不仅影响着系统的读取距离、读取速度和准确性,还决定了RFID系统的适应性和灵活性。本文将详细介绍…

第J2周:ResNet50V2算法实战与解析

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 batch_size32:每次训练取32张图像组成一个 batch img_size(224, 224):图像输入大小匹配 ResNet50 的输入要求 epochs10:训练…

界面控件DevExpress WinForms中文教程:Banded Grid View - 如何固定Bands?

DevExpress WinForms拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜…

安全帽检测

通过百度网盘分享的文件:工地项目 链接:https://pan.baidu.com/s/1pVxriAKKodwrcf_4Ou-OZg?pwdn2rv 提取码:n2rv --来自百度网盘超级会员V2的分享 YOLOv5训练自定义模型 YOLOv5需要安装pytorch、cuda、cudnn,可以参考我的环…

晨控CK-UR08与欧姆龙PLC配置Ethernet/IP通讯连接操作手册

晨控CK-UR08与欧姆龙PLC配置Ethernet/IP通讯连接操作手册 晨控CK-UR08系列作为晨控智能工业级别RFID读写器,支持大部分工业协议如RS232、RS485、以太网。支持工业协议Modbus RTU、Modbus TCP、Profinet、EtherNet/lP、EtherCat以及自由协议TCP/IP等。 本期主题:围绕…

windows无法安装到这个磁盘,选中的磁盘采用gpt分区仪式

解决办法: 我才用的是一个网友分享的微软官方解决办法,成功了,但是不知道会不会i有什么影响。将所有分区删掉,这时磁盘变成为分配的空间。我个人是两块固态,一块m.2,一块sata;所以我直接将500g…

JVM内存模型

JVM内存模型 说明: 1、JVM由装载子系统、运行时数据区(jvm内存模型)、字节码执行引擎; 2、运行时数据区包含堆、元空间、栈、本地方法栈和程序计数器; 3、堆、元空间是线程共享;方法栈、程序计数器是线程…

【Python】第一弹:对 Python 的认知

目录 一、Python 的背景 1.1. Python 的由来 1.2 Python 的作用 1.3 Python 的优缺点 1.4 Python 的开发工具 一、Python 的背景 1.1. Python 的由来 Python 由荷兰数学和计算机科学研究学会的吉多・范罗苏姆 (Guido van Rossum)在 20 世纪 80 年代…

动态规划基础

动态规划是一种算法思想,关键是理解思想和什么时候用。 算法思想 动态规划用于解决多阶段决策最优化问题,这类问题类似递推。 1.阶段 将问题分为多个阶段,每个阶段之间有联系,即可递推。一般可按问题求解次序或问题的递归性质划…

WEB3——什么是ABI

怎么获得ABI? 在编译完合约后,可以在左边下面点击复制ABI ABI(Application Binary Interface,应用二进制接口)是用来让前端或服务端 JavaScript 代码与智能合约进行交互的桥梁,它描述了合约的函数、事件和…