hex文件大小与STM32中芯片flash大小的关系

发布者:GoldenSerenity最新更新时间:2019-01-15 来源: eefocus关键字:hex文件  STM32  片flash 手机看文章 扫描二维码
随时随地手机看文章

之前一直以为STM32flash空间大小和hex文件相关,以为hex文件大小超过flas大小后程序就会出问题但是我发现hex文件大于flash也可以正常下载,有的程序也可以正常运行,有的不可以,所以经过总结如下:


1、flhex文件其实是个格式规范的文本文件。程序代码大小与hex文件大小没有绝对的关联性,因为我们在用串口下载程序时一般都是用的hex文件下载,,所以大家会以为hex文件大小和flash大小息息相关,hex文件大小超过了flash大小就会出问题,我也以为是这样,直到最近我发现有hex文件大于flash的大小但是依然可以写进去,因为真正烧写进去的是二进制文件,在hex文件中包含了bin文件的信息


2、hex文件大小和bin文件大小没有决定性关系


hex文件内容很多,其中就包含了bin文件二进制的内容,所有很多软件都能直接把hex文件转化成bin文件,烧写进flash的文件不是hex而是一堆bin文件


3、flash大小和bin文件大小息息相关


bin文件就是完全的程序文件,里面包含了所有的程序内容,bin文件烧写进flash就可以执行,可以用STlink进入仿真查看相关的flash,就是bin文件内容


关键字:hex文件  STM32  片flash 引用地址:hex文件大小与STM32中芯片flash大小的关系

上一篇:STM32堆栈大小及位置
下一篇:stm32的存储器结构

推荐阅读最新更新时间:2024-03-16 16:22

剖析STM32FLASH和SRAM的使用情况
01前言 STM32片上自带FLASH和SRAM,简单讲FLASH用来存储程序的,SRAM是用来存储运行程序中的中间变量。本文详细分析下如何查看程序中FLASH和SRAM的使用情况。 本文开发工具: keil5 芯片: STM32F105VCT6 02FLASH和SRAM介绍 FLASH存储器又成为闪存,它与EEPROM都是掉电后数据不丢失的存储器,但是FLASH的存储容量都普遍的大于EEPROM,在存储控制上,最主要的区别是FLASH芯片只能一大片一大片地擦除,而EEPROM可以单个字节擦除。 SRAM是静态随机存取存储器。它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。STM32F1系列可以通过
[单片机]
剖析<font color='red'>STM32</font>的<font color='red'>FLASH</font>和SRAM的使用情况
STM32经典概述,纯干货
首先,在学习Cortex-M3时,我们必须要知道必要的缩略语。 整理如下:AMBA:先进单片机总线架构 ADK:AMBA设计套件AHB:先进高性能总线 AHB-AP:AHB访问端口APB:先进外设总线 ARM ARM:ARM架构参考手册ASIC:行业领域专用集成电路 ATB :先进跟踪总线BE8:字节不变式大端模式 CPI:每条指令的周期数DAP:调试访问端口 DSP:数字信号处理(器)DWT:数据观察点及跟踪 ETM:嵌入式跟踪宏单元FPB:闪存地址重载及断点 FSR:fault状态寄存器HTM:Core Sight AHB跟踪宏单元ICE:在线仿真器 IDE:集成开发环境IRQ:中断请求(通常是外中断请求)ISA:指令系统架构
[单片机]
<font color='red'>STM32</font>经典概述,纯干货
stm32变更外部晶振时钟配置
学习野火的固件库UART1串口案例时,用的是SIM9008模块应用板上的STM32103F103RB芯片,使用的外部晶振是12M。 串口读取的是乱码 默认的外部晶振是8M 由于stm32的库默认是外部晶振8M的情况下实现的,所以配置串口波特率的时候也是按8M,包括主频。 如果采用外部晶振8M或12M,配置时钟为72MHZ 。 1)在system32_stm32f10x.c文件中的void SetSysClockTo72(void)里这样改: 8M: RCC- CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);//8*9=72 12M: RCC- CFGR |=
[单片机]
STM32 网络通信Web Server中 SSI与CGI的应用解析
本次主要解析STM32网络通信中WebServer应用,从网页界面的编写到浏览器与STM32之间进行通信的数据来说明SSI与CGI的原理及应用,并对GET与POST指令进行应用解析。 硬件和软件环境: 1.硬件环境:STM32F407,网卡芯片LAN8720,其他部分参考正点原子的407探索者开发板。 2.软件环境:keil5,LWIP1.4.1,主要是基于正点原子STM32F407探索者的第六十章网络通信实验程序。 一、程序流程解析 为了方便查看浏览器与STM32之间的数据通信,建议程序中使用固定IP的方式,如192.168.1.101,建议使用软件Wireshark来查看网络数据。 首先是打开Wireshark,选
[单片机]
<font color='red'>STM32</font> 网络通信Web Server中 SSI与CGI的应用解析
STM32配置时钟时注意设置FLASH等待周期
兴致勃勃地把复位及时钟控制(RCC)的寄存器定义写完了,没得午觉睡倒算了,还累得满头大汗 看来这事有点吃力不讨好,真想用别人现成的头文件算了,最后还是咬咬牙自己写吧,至少可以让自己对寄存器结构熟悉一些。 傍晚回来再写个测试程序,满以为一次就OK的,可是调试时却发现,运行到选择PLL时钟后程序就跑飞 顿时就傻眼了 检查各个寄存器配置,似乎没什么问题啊:选择外部8M时钟,不分频输入到PLL,设置PLL为9倍频(注意实际写入到寄存器中为7),AHB、ABP2不分频,ABP1为2分频(注意设置为8才是2分频),都没有超过最大频率啊。看来想要搞个72M的主频遇到麻烦了 试着将倍频降下来,当主频为48M时,系统可以正常工作了,莫
[单片机]
舵机驱动-GPIO MG995 STM32
应为TIM都用光了,只能使用GPIO,使用GPIO 好处就是很好移植。程序如下: 省略GPIO等初始化。PIN设置为 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; #ifndef _MOTOR_STEP_H_ #define _MOTOR_STEP_H_ #define MIN_DEGREE (0) #define MAX_DEGREE (90) #include stm32f10x.h s8 MotorMoveDegree(u8 degree);
[单片机]
STM32学习——低功耗模式
芯片型号 : STM32F10X 参考资料:STM32F10XXX使用手册 朱友鹏单片机完全学习课程 在STM32的电源管理系统中,软件工程师需要关注的是低功耗模式的选择和实现。在设计产品时会出现如使用电池供电需要较低功耗的情景,此时就需要使用低功耗模式。 CPU不需继续运行的时候就是执行无意义代码时(如空循环)。CPU从低功耗模式中被唤醒后,还需一定时间才能进入正常工作状态,这段时间就是低功耗模式的启动时间,低功耗模式都要事先选好唤醒源和唤醒事件,否则不能正常工作。低功耗模式的选择标准就是以上三者,结合这三者以选择合适的低功耗模式。 睡眠(SLEEP)模式:CPU停止工作但外设仍然运行。唤醒源为所有中断。 停
[单片机]
<font color='red'>STM32</font>学习——低功耗模式
一文了解STM32启动过程
1 概述 说明 每一款芯片的启动文件都值得去研究,因为它可是你的程序跑的最初一段路,不可以不知道。通过了解启动文件,我们可以体会到处理器的架构、指令集、中断向量安排等内容,是非常值得玩味的。 STM32作为一款高端 Cortex-M3系列单片机,有必要了解它的启动文件。打好基础,为以后优化程序,写出高质量的代码最准备。 本文以一个实际测试代码--START_TEST为例进行阐述。 整体过程 STM32整个启动过程是指从上电开始,一直到运行到 main函数之间的这段过程,步骤为(以使用微库为例): ①上电后硬件设置SP、PC ②设置系统时钟 ③软件设置SP ④加载.data、.
[单片机]
一文了解<font color='red'>STM32</font>启动过程
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved