发布日期:2024-07-18 14:49 点击次数:168 |
咱们使用STM32芯片竖立居品时,随机需要自带升级功能。因此,确随即除了需要准备基本的应用代码外,还得准备一套升级代码。频频称前者为IAP代码或BOOT代码,后者称之为APP代码。一般来讲,这两套代码基于两个工程完成并生成相应的本质文献,初度烧录时往往但愿两套代码归拢在一说念进行烧录,这么简单、省事。
这里就该需求,行使ST提供的器具软件STLINKUtility来示范下归拢流程。
因为仅仅模拟两个不同地址区的文献归拢,是以这里的两个工程代码险些相通,也很八成,仅仅存放的地址空间不同。
我使用的竖立板是STM32L476RGNucleo板。代码功能齐是继承按键,每收到1次按键当作,就打印出咫尺处所职责区。当收到3次按键后则从面前职责区跳往另一职责区。
两个工程的内存及中断矢量安排如下两幅图:
除了上头实在立各别外,两个工程的代码险些相通,仅仅输出指示有别。
这里使用的是IAR IDE环境,基于上头两个工程鉴别生成IAP.HEX和APP.HEX两个本质文献。
然后大开STLINKUtility器具,相连竖立板,将芯片擦除干净。接着,APP开发业务运行烧录,先烧IAP.hex文献。【其实先烧录谁无所谓】
之后,将面前IAP.HEX文献关闭,再调APP.hex文献进行烧录。督察此次烧录时选择跳过FLASH的擦除操作,因为刚运行也曾全擦,并且前边也曾写了IAP代码。
到此,两个工程的代码齐写进芯片了。
当今,先在VIEW菜单里点击下Device Memory,然后在File菜单里选择文献另存操作。你选择HEX或BIN身手齐不错。
使用BIN身手的话督察烧录时给出正确的肇端地址。这个另存出来的文献便是归拢过的文献了,不错成功拿来烧录。
底下是我基于归拢文献烧录的测试甘休。跟本色预期甘休相通,每按键1次作念1次输出,3次后跳转,这么走动操作。
操作很八成,也很简单。之前偶尔也会有东说念主问起这个话题。此次整理本文作念考证时,甘休在作念归拢时老是失败。因为之前有考证过,服气这个操作是可行的。其后怀疑可能是我电脑系统方面的原因,换成婚里那台电脑测试起来就很顺畅,来回考证屡次齐平素。看来,我那台电脑该重装或换掉了。