完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
想给STM32做串口升级功能,研究STM32程序执行步骤。
1.STM32程序下载起始地址0x08000000,0x08000004这个地址是中断地址 2.先自己设计一个bootloader程序 ,然后再设计一个应用程序 3.给stm32 bootloader分配下载程序的空间,我用的是STM32F407ZGT6,具有1m的flash (1)bootloader:0x0800 0000 ~0x0800 4000 size:0x4000(16K) (2)应用程序1:0x0800 4000 ~ 0x0808 0000 (3)应用程序2:0x0808 0000~0x0810 0000 :基本上是把1Mflash平分了 4.设计bootloader程序 上面就是bootloader的程序,跟应用程序的区别就是flash烧写的起始地址区别。bootloader的主要功能就是让程序跳转 5.需要注意的地方 (1)注意:因为程序起始地点增加了bootloader功能,所以程序的中断指针也需要偏移。 NVIC_SetVectorTable(NVIC_VectTab_FLASH,APP1_ADDRESS); //将这段代码放入应用程序中即可,如果不放的话会出现中断异常。 (2)注意:SystemInit();//这个函数,程序每次开始执行时都会执行一次这个函数,这个函数中就会对中断向量表位置进行默认偏移,所以在这个函数后面要重新配置一次偏移。 (3)后来我单一使用串口中断程序,发现进不了中断。最终发现是__set_PRIMASK(1);这个函数将能关闭的中断都关闭掉了,但是程序默认是开启的。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1115 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1140 浏览 1 评论
572 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
428 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1026 浏览 2 评论
1614浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
281浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
291浏览 3评论
276浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
253浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-20 14:20 , Processed in 0.902824 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191