stm32f2BootLoader升级初接触

最近在进行分时系统硬件部分的开发,由于水平不高所以程序有些漏洞,优化空间很大,由于是产品级的硬件,所以软件升级方便也是很重要的一点

前些时段由于需要操作flash和SD卡读写,对BootLoader的实现原理也不是很熟悉,所以一直拖着没有做,前两天做了数据SD卡读写记录,把板子上的其他模块都调试了一遍,发现在没有接口躲避BootLoader了,所以今天开始着手BootLoader。

说是开发也不算是,已经有一块STM32f1的例子,STM32f1和STM32f2在BootLoader上的不同是两者的flash操作不同

STM32f1的flash擦除操作是以page为单位擦除,而STM32f2将flash分成sector,4个16Kb的sector,1个64Kb,6个128Kb。由于其是sector为单位擦除,擦除时不仅擦除了之前存放的app,也有可能把在此sector中其他的东西擦除掉,所以首先需要确定以下问题:

1、需要确定BootLoader跳转的程序有多大,需要分放在哪个sector里。

2、明确擦除page和擦除sector的不同————软件实现的不同

3、flash写操作会不会也不同,还是通用FLASH_If_Write(flashdestination, (uint32_t*)&send_buf, (j/4));


1、跳转程序需要512Kb的空间,每个程序需要两个128Kb的sector来储存。

你可能感兴趣的:(stm32)