keil5给stm32单片机烧录程序还是执行原来程序

keil5给stm32单片机烧录程序还是执行原来程序,第1张

Keil5可以给STM32单片机烧录程序,也可以执行原有程序。

Keil5通过专用的烧录器,可以将程序直接烧入STM32单片机的内存中,实现程序的烧录。Keil5还支持从STM32单片机的内存中读取原有程序,实现程序的执行。因此,Keil5可以给STM32单片机烧录程序,也可以执行原有程序。

此外,Keil5还支持从STM32单片机的内存中读取原有程序,并进行编译、调试和优化,实现对原有程序的优化和改进。因此,可以说Keil5可以实现程序的完整管理,从烧录、执行到优化,可以用于STM32单片机的程序管理。

这不是移植啊, 你是需要看35库和20库的不同,修改代码的,比如在35库中USART1_IRQn是这样,但是在20库中是USART1_IRQChannel,你需要找差异,修改

一般STM32的bootloader本来就已经通过编译环境做好了,若你想自己了解活着写一下试试的话,其实编写bootloader主要事项有以下:

1、为你的bootloader程序选择存储器地址,因为STM32的存储器FLASH存储程序代码空间为512K,需要进行划分。

2、如果需要使用JTAG在线调试,则需要配置区域:

3、为您的用户程序选择合适的存储空间:

同时配置在线调试区域:

4、bootloader程序编写基本流程如下:

1)检测有无需要更新的标志,用户可自定义。比如说读取flash某位置存储的字节作为标志位。

2)如需更新,则调用STM32的FLASH程序擦鞋用户代码部分。

3)将新的bin文件(即2进制文件直接烧写进去,需要将keil生成的hex文件转换为bin文件,然后存储到外扩展的flash中)写入到STM32自带的FLASH中去,记住需要与上述设置的用户代码存储区一致。

4)更新成功后再跳转至用户程序。

5、用户程序需要注意一点,需要在程序运行前重新设置中断向量表,即:NVIC_SetVectorTable()。

6、用STM32自带的烧录软件进行烧录时,需要修改项目如下:

1)打开安装后目标文件中的map文件夹,我们所用的STM32为512Kflash,所以选取STM32_High-density_512KSTmap,将其分解为两个STmap文件(此文件可用记事本 打开)

STmap文件中,扇区是以每2K为一page来显示的,所以boot区我们只需要到page7,用户区我们需要page8到最后。

修改完成后再次打开此软件会发现多出了两个flash选项,可以根据此处来选择需要存储的代码区

如果您要接手别人的STM32程序,通常情况下不需要重新编写。但是,在接手之前,您需要了解程序代码的结构和实现细节,以确保对程序的后续维护和开发工作具有充分的理解和掌握。此外,如果您需要根据实际需求修改软件功能或性能,您可能需要通过修改现有代码或增加新代码来满足需求。最后,一定要注意程序的兼容性和安全性问题,以避免可能的错误和风险。

是需要重新配置软件的,主要表现在PLL,修改最少的就是把主频调整为前后一致。

一般增大晶振后如果不调软件,主频可能会超出芯片范围,导致程序跑飞,时钟过高也会导致外设的一些配合问题出现。

以上就是关于keil5给stm32单片机烧录程序还是执行原来程序全部的内容,包括:keil5给stm32单片机烧录程序还是执行原来程序、stm32程序 如何2.0库升级3.5库、stm32的bootloader程序是出厂自带的还是后来烧录的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9707603.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存