在生产时就是两道工序
先写入IAP,再通过IAP写入用户程序。在生产时就是两道工序,且生产时可能不会通过IAR+JLINK向芯片写IAP,应该是通过专门的烧录器+适配器向芯片烧写程序。如果能合并为1个,一次性烧写最好了,节省一道工序。
你找个STM32,用J-Link写入IAP,用IAR写入用户程序。然后用J-Flash将STM32的Flash内容全部读出来,保存为Bin文件就可以了。
你手上是有JLink吗,用Segger上的JLink 驱动下的JFlash
如你确定需要使用文件合并的方式,你可以先算出IAP的长度,在用户程序中算好需要偏移的地址,用UltraEdit是Hex文件形式打开,copy后保存,再做hex到Bin的转换
楼上的办法不错,但注意确定Flash读写保护的状态
对母片的操作时,不要加读保护。
关键字:STM32 bin文件 合并
引用地址:
STM32的两个.bin文件如何合并?
推荐阅读最新更新时间:2024-03-16 15:01
STM32实现灯的PWM输出以及定时器输入捕获频率和占空比
寄存器版本的实现 程序中的频率和占空比:频率控制在1KHZ----20KHZ,步进值为1KHZ,占空比控制在5%----90%内,步进值为5%。 程序的主要功能: 1.按键一:控制四个灯的PWM输出频率和占空比 2.按键二:改变频率大小。 3.按键三:选择一个通道。 4.按键四:改变按键三选择通道的占空比。 5.按键五:实现输入捕获频率和占空比(组内成员提供了关键思想)。 说明: 1.本次为了方便实现占空比的值为整数,默认给ARR的值+1,还希望不要误解; 2.代码里面输入捕获的实现用了全映射,通道三用来捕获的IO口被之前的按键占用,若读者想实现定时器的四路输入捕获,还请自行改变IO口,方便使用。 3.本次用更新中断来获取捕获的值
[单片机]
STC12C5A60S2使用NRF24L01和stm32通信
/******************************************/ // // 该程序工作的主频是12MHz,单片机使用STC12C5A60S2 // /******************************************/ #include STC12C5A60S2.H #define uchar unsigned char #define uint unsigned int /********** NRF24L01寄存器操作命令 ***********/ #define READ_REG 0x00 //读配置寄存器,低5位为寄存器地址 #define WRITE_REG
[单片机]
STM32串口USART2程序
简介:对控制LED指示灯的IO口进行了初始化,将端口配置为推挽上拉输出,口线速度为50Mhz。PA2,PA2端口复用为串口2的TX,RX。在配置某个口线时,首先应对它所在的端口的时钟进行使能。否则无法配置成功,由于用到了端口B, 因此要对这个端口的时钟。进行使能,同时由于用到复用IO口功能用于配置串口。因此还要使能AFIO(复用功能IO)时钟。 原理图: 程序分析: int main(void) { uint8_t a=0; /* System Clocks Configuration */ RCC_Configuration();//系统时钟设置 /*嵌套向量中断控制器 说明了U
[单片机]
STM32的Cortex-M3中断异常处理
前段时间用STM32F103VBT6写了一个中断的函数,借此机会想了解下STM32的中断机制,用过之后发现STM32的中断配置相当灵活,稳定行很高,测试发现几乎没出过什么差错。我在程序里开了三个中断,一个计数器用于精确延时用,另外两个为外部事件处理中断,下面一一详细介绍,方便初学者入门。 在进行STM32中断配置之前首先需要了解下它的中断部分: 一、Cortex-M3中断机制 在STM32处理器中有43个可屏蔽中断通道(不包含 16个 Cortex?-M3的中断线)。共设置了16个可编程的优先等级(使用了 4位中断优先级);它的嵌套向量中断控制器(NVIC)和处理器核的接口紧密相连,可以实现低延迟的中断处理和有效处理地处理
[单片机]
STM32 关于复位类型的判断及软件复位 bug
STM 32在复位时,有严重BUG: 1.上电复位和外置的看门狗芯片重启复位是无法区分开来的!RCC_FLAG_BORRST, RCC_FLAG_PINRST, RCC_FLAG_LPWRRST三个都复位了! 2.这样当要在上电复位初始化关键代码时,这些代码看门狗复位则不用重启,这个关键代码会导致应用业务的异常!若两个中断分不开,导致系统异常看门狗复位时影响业务! /* RCC_FLAG_BORRST: POR/PDR or BOR reset //Power-on/power-down reset (POR/PDR reset) or brownout (BOR) reset RCC_FLAG_PINRST: P
[单片机]
STM32的ADC采样频率及相应时间的确定
STM32 ADC 介绍 STM32 ADC 是一个12 位精度、 一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模式执行。 ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。 ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生。转换时最快为1us,当ADC的输入时钟超过14MHz 时其会损失一些精度。当然如果可以达到我们的精度,输入时钟高点也没事。 在网上看到一回答ADC不超过14MHz 的答案:资料上的都是推荐,事实上很多芯片的设计都是有超额余量的,很多人都会超额的利用这些资源,并且很好的工作。
[单片机]
STM32定时器原理与使用
1.定义 设置等待时间,到达等待时间之后执行指定的硬件操作。 定时器最基本的功能就是定时,比如说定时发送串口数据,定时采集AD数据,也可以产生PWM方波等,定时器产生PWM控制电机状态是工业控制的普通。 ----------------------------------------------------------------------------------------------------------------------------------------------------------- 2、STM32F4xx系列的芯片:2个高级控制定时器(TIM1和TIM8)、10个通用定时器(10TIM2
[单片机]
史上最全STM32调试步骤!
STM32调试步骤 调试前,首先跳线J9的2-3脚短接,跳线J4的右边两个脚短接,跳线J5短接,J8短接,J2的1-2短接,3-4短接。 将Jlink与学习板,USB延长线与学习板,串口延长线与学习板(或者USB转串口线与学习板)连接起来,这时LED灯LED5,LED6都应该点亮,如果不亮,说明板子有问题。 打开串口助手,按照如下设置: 1、从桌面打开J-Flash ARM V4.02如图所示。 也可以按照如下顺序打开J-Flash ARM 。 “开始à程序àSEGGERàJ-Link ARM V4.02àJ-Flash ARM”,如下图所示。 2、打开J-Flash ARM后,先进行芯片选项设置,打开Optionsà
[单片机]