STM32C8T6---解析bin文件

本身bin文件是四字节对齐的,中断向量表一共六十四字节,一共有十六个中断向量,我们只需要知道头两个就可以了:

第一个是我们编译出来的这个bin文件最开始的00地址到第四个字节的地址,它里面的内容就是RAM内存起始地址

第二个是复位中断,也就是说我们把程序写进flash中,他得执行这个复位中断之后才能给你执行你的系统初始化啥的然后进入你的main方法中,然后这个复位中断的地址是写入flash地址+4,因为他这个是四字节对齐,

你用bootloader给单片机发送一个程序,他不是跳转到你发送程序的起始地址执行,他是要在这个地址上+4到复位中断去执行,然后后面程序开始正常运行

我用stm32cubemx生成了一个简单的点灯程序,然后运行了解析bin文件的指令,

certutil -dump "D:\STM32CubeMX_demo\P01_LED0\MDK-ARM\P01_LED0\P01_LED0.bin"


那个10可能是HAL库在进行栈分配的时候要求字节对齐,然后往后错了10字节

还有一个要注意的就是我们把这套二进制代码烧进flash中占多少内存呢

在map文件最底部我们可以看到

我这里可以看到一共占用了3.71kb但实际上呢我们的flash是按页来使用的

对于小容量来说这里一页占用1k,也就是说即使最后flash编写出来占用3.71kb但实际上它占用了4kb,剩下的那点空间浪费掉了

相关推荐
深圳市恒锐丰科技杨生42 分钟前
EG1165 / EG1165S 600V 半桥 PWM 控制芯片|屹晶 EGmicro
嵌入式硬件·硬件工程
捷瑞电子工坊2 小时前
嵌入式蓝桥杯从零点亮第一个LED
stm32·蓝桥杯·cubemx·嵌入式·led·ll·锁存
louis.D.2 小时前
Git 本地单线速查
单片机
小李不想当小白3 小时前
PCB结构与组成(PCB设计入门学习笔记)
经验分享·笔记·单片机·嵌入式硬件·学习·pcb工艺·pcb
新晨单片机设计3 小时前
S004R-基于STM32单片机智能门禁系统(密码、指纹、人脸、刷卡、蓝牙)【Proteus仿真+Keil程序+原理图】
stm32·单片机·嵌入式硬件·proteus
至为芯3 小时前
PY32F071至为芯支持32位ARM内核的高主频MCU单片机
单片机·集成电路·芯片
桀人4 小时前
MCU系统架构——总线——统一编址
stm32·单片机·嵌入式硬件
可乐鸡翅好好吃4 小时前
通讯协议--硬件模拟和软件模拟
stm32·嵌入式硬件
Zw-awa4 小时前
STM32F103C8T6 最小系统板:从型号差异到启动方式
stm32
新思维软件5 小时前
基于边缘计算与多模态感知的服药依从性系统|X604261
嵌入式硬件·物联网开发