历史上的今天
返回首页

历史上的今天

今天是:2024年09月25日(星期三)

正在发生

2019年09月25日 | 如何合理的运用stm32的flash内存

2019-09-25 来源:eefocus

关于stm32的flash操作,网上已经有很多详细的介绍了,这里只是总结一些告诫。


在使用flash存储数据的时候,对于新手来说,并不知道该把数据存在哪一个地址上,怕存到程序区域,或者越界。


关于这一点很容易搞清楚,首先我们需要看我们编译出的程序有多大。


上图可以计算出程序的大小,

bin=Code+RO+RW

17984+440+152=18576 字节


由于stm32的flash是按页计算大小的,所以程序写入时会是19K,或者20K,这个关系到flash大小问题,小容量的一个页是1K,大容量是2K,因为在写入数据时会先擦除该页,如果此时写入的数据在18576-19000K之间,那么18000-18576属于程序段的数据将被擦除,可能导致程序无法运行了。所以此时应该把数据保存在19K后。


如果你的芯片是64K,那么可以用于存数据的地址范围为19k——64K直接,也就是0x08004A38——到0x080010000.


说一下 ZI 数据,这个数据全是0xFF,所以是无效数据,所以在编译时并没有编译到程序中,在运行时才会有内存使用,所以应该也需要留出这个区域的大小供程序运行。

推荐阅读

史海拾趣

DAQ Electronics LLC公司的发展小趣事

在DAQ Electronics LLC公司的发展历程中,质量一直是其坚守的核心原则。公司建立了严格的质量控制体系,从原材料采购到产品生产、检测、包装等各个环节都进行严格把控。这种对质量的坚持,使得DAQ Electronics LLC公司的产品在市场上获得了良好的口碑和信誉。客户对公司的产品和服务给予了高度评价,也为公司的持续发展提供了有力保障。

FSP [FSP TECHNOLOGY INC.]公司的发展小趣事

随着技术的不断成熟和产品线的丰富,DAQ Electronics LLC公司开始积极拓展市场。公司通过与科研机构、高校以及企业建立合作关系,将数据采集技术应用于更多领域。在科学研究领域,DAQ Electronics LLC公司的数据采集设备为实验数据的准确获取提供了有力保障;在工业生产领域,其设备则帮助企业实现了对生产过程的实时监控和数据分析。

柯爱亚(ceaiya)公司的发展小趣事

柯爱亚一直秉承“持续改进,满足客户要求,不断创新,超越客户期望”的品质方针。公司严格把控产品质量,从原材料采购到生产流程,再到产品检测,每一个环节都力求精益求精。这种对品质的坚持赢得了客户的信任,柯爱亚的产品逐渐在市场上树立了良好的口碑。

BLACK&DECKER公司的发展小趣事

BLACK&DECKER一直致力于产品革新和专利申请。1914年,公司为世界第一台配有枪式手柄、扳机开关和通用马达的便携式手电钻申请了专利。这一发明极大地提高了工作效率,并在市场上取得了巨大的成功。此后,BLACK&DECKER不断推出创新产品,如1946年发明的世界上第一台专为家用消费者设计的便携式电钻,以及后续的电动篱笆剪、全绝缘电钻等一系列重要发明。

GarrettCom公司的发展小趣事

布局:随着全球化进程的加速推进,GarrettCom(现为Belden的一部分)积极实施全球化战略。公司在全球范围内设立了多个分支机构和服务中心,以便更好地服务全球客户。同时,公司还加强了与国际知名企业的合作与交流,共同推动电子行业的发展和进步。

成果:通过全球化战略的实施和市场拓展的努力,GarrettCom(现为Belden的一部分)在全球市场上取得了显著的成绩。公司的产品和解决方案被广泛应用于全球各地的工业项目中,赢得了广泛的好评和认可。同时,公司还积极参与国际竞争与合作,不断提升自身的品牌影响力和市场竞争力。

Hanghsing Enterprise Co Ltd公司的发展小趣事

背景:GarrettCom始创于1989年,专注于工业网络通信产品的研发与制造。在那个工业自动化初具规模的年代,GarrettCom凭借其卓越的产品质量和创新的解决方案,迅速在市场中崭露头角。公司推出的工业以太网交换机和路由器等产品,以其高稳定性和可靠性,赢得了众多工业客户的信赖。

发展:随着工业自动化程度的不断提升,GarrettCom不断加大研发投入,推出了一系列适应恶劣工业环境的产品。这些产品不仅满足了工业自动化对通信稳定性的严苛要求,还推动了工业通信技术的进步。通过不断的技术创新和市场拓展,GarrettCom逐步确立了其在工业通信领域的领先地位。

问答坊 | AI 解惑

嵌入式Linux应用程序开发详解

嵌入式Linux应用程序开发详解…

查看全部问答>

我的试验板原理图

集成很多东东在里面!!!…

查看全部问答>

帮忙设计一下串口通信程序

两个单片机相互通讯,数据包 = 3字节指令 + 1~4字节的数据。 一次大概有50个数据包。 一个单片机发送数据包,另外一个接收。 两个单片机都在一块板子内。 请问:这两个串口的程序该怎么设计,才能保证数据不会出错。(对数据的正确性要求很高) ...…

查看全部问答>

锂电池充电问题

我的CN3052A最大充电电流只有250mA左右,规范是不是说500吗?散热的问题能影响这么大吗?由于要用USB充电,不能采样大电流充电芯片…

查看全部问答>

WinCE 5.0 2440 唤醒时死机问题

我用 S3C2440 Samsung 官方的 Windows CE 5.0 BSP,休眠后,按下唤醒按钮,程序跳到 Stepldr 中继续执行,执行到 WAKEUP_POWER_OFF 子程序,进行对休眠的唤醒,详细代码如下: WAKEUP_POWER_OFF     ; Release SCLKn after wake-up fro ...…

查看全部问答>

在wince 6.0中如何进行应用程序开发?

在wince 6.0中如何进行应用程序开发?是直接在platform builder中写应用程序吗?我在vs2005中建立一个smart device的工程,无论是用自己导出的sdk,还是用自带的pocket pc sdk,运行时总是出现这样的错误:There were deployment errors.不知怎么解决 ...…

查看全部问答>

有谁用过irf7832吗

有谁用过irf7832吗?这款mos管的驱动能力如何呀?…

查看全部问答>

稀里糊涂STM32讲义更新问题

由于笔记比较多,慢慢整理!!!会在原帖中以跟帖的形式的更新资料的!大家可以的根据讲义的资料自己动手的!有STM32的板子就行了。。。。。。记得下载STM32的固件库和手册啊!…

查看全部问答>

MQX在kinetis上开发入门

再转一个,是苏州大学飞思卡尔实验室写的目前飞思卡尔芯片推广做的是糟糕透了,大概也只有我们几个大学教师写了点东西,用他们芯片做东西的工程师几乎是没有任何贡献高校学生对其芯片的了解也微乎其微。飞思卡尔真应该支持下学校,而不仅仅是苏大一 ...…

查看全部问答>

【转】Intel 的东进与 ARM 的西征 (1)-- 九韶定音剑 vs 九耳连环刀

本帖最后由 jameswangsynnex 于 2015-3-3 19:58 编辑 对于 Intel CEO 欧德宁来说,2012 年的冬天注定会是一个漫长的时节,冬令时的钟摆刚刚拨过,他就披上了过冬棉衣。虽然一众下属没有人敢于在他面前说出“寒冷”二字,但,全世界都已经知道,Int ...…

查看全部问答>