这两天调试stm32的一段程序,最开始能读取到芯片,烧写总是失败。先检查晶振,发展没有起振,把10pF电容换成两个20pF的之后,示波器能观察到波形了。但烧写还是失败,整个过程是,链接芯片正常,写入flash也正常,但是校验的时候出错,提示 …
分类 : 硬件 › STM › 36个相关结果 283次浏览
IAP下载的时候需要两段地址不同的程序,一段bootloader,另一段应用程序。一般bootloader的位于程序启动地址,应用程序放的位置就随意了。下面说下两段程序一次烧写的使用方法,使用工具 keil, STVP. 1,首先分别设置两 …
终于完成了STM32的在线下载功能,下面把各个坑总结一下: 1,flash读写时死机 后来发现是数组下标溢出,由于keil中启动函数堆栈默认是0x400个字节,而stm32的flash读写每次要求读写1页,即2048个字节,所以在写入的时候 …
终于实现了BootLoader到APP的跳转,下面说下如何操作。 首先是跳转函数: void go_to_app(uint32_t AppAddress) { uint32_t JumpAddress; if(((*(__I …
这两天调试程序升级,在flash读写函数中,总是造成MCU跑死,一步步定位,发现在下面的一段代码中发生了错误: // write flash for(ui_jj=0, ul_idx=0; ui_jj<(IFLASH_PAGE_ …
调试STM32设备的时候,早上还好好的,突然提示找不到设备了,在Debug中,SW Device显示 No target connected。开始以为板子坏了,换了一块同样出现,换线,反复重启都没用,在网上查了一下,说法挺多,但是我用下面这 …
调试串口数据接收的时候,发现一个很奇怪的现象,接收速率9600,在进入中断后,如果处理的时间过长,就会出现卡死现象,表现为:串口数据可以正常接收,但是持续进入中断,主循环无法执行。 部分中断函数如下: 在中断函数中加延时,比如,处理后延 …