产品是手持带电池,自己写了一个iap,每次只要通过iap升级一次应用程序,升级完后启动应用区的读保护,再次升级就不能成功,程序一直卡在去除读保护这部分,已经去除成功,复位一下系统重启,读保护还在。要拔电池才能把读保护去掉,才能升级成功,F1系列只要复位就可以了,难道L系列必须用断电才能去保护? |
stml32L iap.rar
下载2.76 MB, 下载次数: 192, 下载积分: ST金币 -1
STM32f407ZG使用STM32CubeMX创建USB应用失败
关于STM32的高精度定时器应用问题请求帮助
STM32L031X 1.65V 低压应用
L6470的应用问题,高速不转振动
STM32F1的IAP程序,APP1和APP2两个应用程序交替更新的问题
MDK能否仿真App应用程序(STM32起始地址不为0x08000000)?
现金悬赏-STM32F4Cube生成的USB HID应用无法接收数据
STM32F030F4P6待机模式唤醒应用问题
J-Trace调试器针对什么应用场合?
STM32的USB host CDC应用
代码如下帮忙看看吧
现象:不加入读保护,程序运行正常,加入读保护后断电,在上电后灯不亮了,程序不运行了,硬件没有任何问题。
void Flash_RProt_ENABLE(void)
{
u8 status;
FLASH_Unlock();//解锁FLASH
FLASH_OB_Unlock();//解锁选项字
FLASH_ClearFlag(FLASH_FLAG_EOP|FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_SIZERR | FLASH_FLAG_OPTVERR);
status=FLASH_OB_GetRDP();
if(status==0)
{
FLASH_OB_RDPConfig(OB_RDP_Level_1);//Read protection of the memory
FLASH_OB_Lock();
FLASH_Lock();
}
}
int main(void)
{
Flash_RProt_ENABLE();
Main_Init();//时钟初始化,IO口初始化
while(1)
{LED1_OPEN() }
}
void Flash_RProt_ENABLE(void)
{
u8 status;
FLASH_Unlock();//解锁FLASH
FLASH_OB_Unlock();//解锁选项字
FLASH_ClearFlag(FLASH_FLAG_EOP|FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_SIZERR | FLASH_FLAG_OPTVERR);
status=FLASH_OB_GetRDP();
if(status==0)
{
FLASH_OB_RDPConfig(OB_RDP_Level_1);//Read protection of the memory
FLASH_OB_Lock();
FLASH_Lock();
}
}
int main(void)
{
Flash_RProt_ENABLE();
Main_Init();//时钟初始化,IO口初始化
while(1)
{LED1_OPEN() }
}