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,剩下的那点空间浪费掉了

相关推荐
@晓凡7 小时前
keil5找不到下载器
stm32
Devlab8 小时前
LVGL设计大师——网页版anyui来了!!
嵌入式硬件·物联网·低代码·ui·iot
Dr.kangder11 小时前
嵌入式面试总结(十五)——异常处理
单片机·面试·职场和发展·系统架构·嵌入式
zlinear数据采集卡13 小时前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
ACP广源盛1392462567313 小时前
蚂蚁百灵 Ling‑3.0‑flash 开源 + 昇腾 0‑Day 原生适配@ACP#GSV9001E 在国产算力矩阵中的机会与落地场景
大数据·人工智能·分布式·单片机·嵌入式硬件
Rocktech_ruixun15 小时前
机器人端侧大模型部署对主板有哪些要求?瑞迅主控板分级方案对比
人工智能·嵌入式硬件·机器人
振南的单片机世界15 小时前
SysTick硬核拆解:既是HAL_Delay的“心跳”,也是RTOS的“节拍器”
arm开发·stm32·单片机·嵌入式硬件
Lzh编程小栈16 小时前
【嵌入式底层】SPI超透彻详解:通信原理、四线结构、四种模式、寄存器底层 + 面试全集
c语言·stm32·单片机·面试·职场和发展
Rocktech_ruixun16 小时前
机器人数据采集能力取决于什么?瑞迅科技RK3588/3576核心板方案深度解析
人工智能·嵌入式硬件·机器人
水果里面有苹果16 小时前
28-DRV8825PWPR步进电机驱动器
单片机