OpenEdv-开源电子网

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

STM32RCT6用sd卡升级程序出现一些问题,不知道为什么跳转不到APP程序啊,求指教

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2018-8-9
在线时间
3 小时
发表于 2018-8-9 21:25:29 | 显示全部楼层 |阅读模式
[mw_shl_code=c,true]#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
#include "key.h"
#include "usmart.h"
#include "malloc.h"  
#include "MMC_SD.h"
#include "ff.h"  
#include "exfuns.h"
#include "stmflash.h"
#include "iap.h"
#include "Bootloader.h"

int main(void)
{
       u8 t=0,key;                  
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
        delay_init();                     //延时函数初始化          
        uart_init(115200);                 //串口初始化为9600
        exfuns_init();                //为fatfs相关变量申请内存                                 
        LCD_Init();                        //初始化液晶
        LED_Init();         //LED初始化         
        KEY_Init();
        mem_init();                        //初始化内存池

while(SD_Initialize())                                        //检测SD卡
        {
                LCD_ShowString(30,70,210,24,24,"                         ");
                delay_ms(200);
                LCD_ShowString(30,70,210,24,24,"No SD Card,Please cheack!");                                  
                delay_ms(200);
                LED0=!LED0;//DS0闪烁
        }


POINT_COLOR=RED;//设置字体为红色          
        LCD_ShowString(30,40,210,24,24,"SD Card IAP!");
  LCD_ShowString(30,70,210,24,24,"SD Card OK!                      ");
  LCD_ShowString(30,100,200,16,16,"KEY_UP:FirmwareUpdate");
       
        exfuns_init();                                                        //为fatfs相关变量申请内存                                 
  f_mount(fs[0],"0:",1);                                         //挂载SD卡


        while(1)
        {

            key=KEY_Scan(0);
                if(key==WKUP_PRES)
                {
                        FirmwareUpdate();//升级程序

                        printf("固件升级完毕,开始跳转App程序执行!\r\n");
                        USART_Cmd(USART1, DISABLE);  //失能串口1 ,防止跳转到App程序时死机
                        iap_load_app(FLASH_APP1_ADDR);//运行App代码
               }
                   t++;
                delay_ms(10);
               if(t%20==0)
                {
                        LED0=!LED0;
                        printf("请按下KEY_UP进行升级!\r\n");
                }
               
        }
}

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

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2018-8-9
在线时间
3 小时
 楼主| 发表于 2018-8-9 22:16:11 | 显示全部楼层
本帖最后由 AllenDuke 于 2018-8-9 22:17 编辑

有没有知道的大神,指导一下,是不是我的bootloader太长了
TIM截图20180809221656.jpg
回复 支持 反对

使用道具 举报

6

主题

315

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1669
金钱
1669
注册时间
2018-1-29
在线时间
160 小时
发表于 2018-8-10 07:18:50 | 显示全部楼层
嗯,bootloader一般要短小精悍.你这RO-Data都181KB了,太吓人了!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-12 19:00

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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