在项目中使用了IAP来完成程序的升级,升级的部分由bootloader完成,基本过程如下: (1)bootloader放在flash的0地址处,而应用程序放在bootloader后面的一段flash中 (2)每次上电后都先运行bootloader,它会检测是否需要升级,并处理升级过程 (3)bootloader中有main函数,应用程序也有main函数,bootloader的main执行的最后一步,是跳转到应用程序的main入口 现在有个疑问,想咨询一下: 我使用的IAR,需要配置bootloader堆栈大小和应用程序的堆栈大小,假设说设置了bootloader的栈大小为A,应用程序栈大小为B, (1)这两个栈用的是同一片内存吗,还是说两个栈的是相互独立的? (2)bootloader跳转到应用程序的main之后,bootloader的堆栈还有作用吗,会不会被释放掉? |
RE:STM32使用bootloader完成IAP升级,堆栈的问题
RE:STM32使用bootloader完成IAP升级,堆栈的问题
RE:STM32使用bootloader完成IAP升级,堆栈的问题
还可以参考一下这篇文章