OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3147|回复: 0

关于USB IAP的问题,老师卡在地址的判断语句上

[复制链接]

3

主题

11

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2019-7-23
在线时间
13 小时
发表于 2019-8-12 14:57:42 | 显示全部楼层 |阅读模式
1金钱
原子哥的串口IAP实验这段代码我移植到USB IAP实验上,,判断是否为0X08XXXXXX.这个判断语句始终判断是错误,而串口IAP实验判断是正确的的if(((*(vu32*)(0X20001000+4))&0xFF000000)==0x08000000)//判断是否为0X08XXXXXX.这条语句按说都应该是正确的啊
if(key==WKUP_PRES)        //WK_UP按键按下
                {
                               
                                        printf("开始更新固件...\r\n");       
                                        LCD_ShowString(30,210,200,16,16,"Copying APP2FLASH...");
                                        if(((*(vu32*)(0X20001000+4))&0xFF000000)==0x08000000)//判断是否为0X08XXXXXX.
                                        {         
                                                iap_write_appbin(FLASH_APP1_ADDR,fatbuf,120*1204);//更新FLASH代码   
                                                LCD_ShowString(30,210,200,16,16,"Copy APP Successed!!");
                                                printf("固件更新完成!\r\n");       
                                        }else
                                        {
                                                LCD_ShowString(30,210,200,16,16,"Illegal FLASH APP!  ");          
                                                printf("非FLASH应用程序!\r\n");
                                        }
                                clearflag=7;//标志更新了显示,并且设置7*300ms后清除显示                                                                         
                }if(key==WKUP_PRES)        //WK_UP按键按下
                {
                               
                                        printf("开始更新固件...\r\n");       
                                        LCD_ShowString(30,210,200,16,16,"Copying APP2FLASH...");
                                        if(((*(vu32*)(0X20001000+4))&0xFF000000)==0x08000000)//判断是否为0X08XXXXXX.
                                        {         
                                                iap_write_appbin(FLASH_APP1_ADDR,fatbuf,120*1204);//更新FLASH代码   
                                                LCD_ShowString(30,210,200,16,16,"Copy APP Successed!!");
                                                printf("固件更新完成!\r\n");       
                                        }else
                                        {
                                                LCD_ShowString(30,210,200,16,16,"Illegal FLASH APP!  ");          
                                                printf("非FLASH应用程序!\r\n");
                                        }
                                clearflag=7;//标志更新了显示,并且设置7*300ms后清除显示                                                                         
                }

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-15 20:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表