zoukankan      html  css  js  c++  java
  • 【iCore4 双核心板_ARM】例程三十四:U_DISK_IAP_ARM实验——更新升级STM32

    实验现象及操作说明:

    1、本例程共有两个代码包,APP和IAP,IAP程序功能实现将APP程序升级至STM32中。

    2、直接上电或烧写程序将执行升级的APP应用程序。

    3、按下按键上电或写程序将进行升级,升级文件.bin文件存入在U盘中

    BIN升级文件产生方法:

    1、编译APP工程,产生.hex文件。

    2、将.hex文件拖至HEX2BIN.EXE即可产生.bin文件。

    核心代码:

    int main(void)
    {
    
      /* USER CODE BEGIN 1 */
    
      /* USER CODE END 1 */
    
      /* MCU Configuration----------------------------------------------------------*/
    
      /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
      HAL_Init();
    
      /* USER CODE BEGIN Init */
    
      /* USER CODE END Init */
    
      /* Configure the system clock */
      SystemClock_Config();
    
      /* USER CODE BEGIN SysInit */
    
      /* USER CODE END SysInit */
    
      /* Initialize all configured peripherals */
      MX_GPIO_Init();
      MX_USB_HOST_Init();
      MX_FATFS_Init();
    
      /* USER CODE BEGIN 2 */
        if(ARM_KEY_STATE == KEY_UP)
            goto start;
        
      /* USER CODE END 2 */
    
      /* Infinite loop */
      /* USER CODE BEGIN WHILE */
      while (1)
      {
      /* USER CODE END WHILE */
        MX_USB_HOST_Process();
    
      /* USER CODE BEGIN 3 */
    
      }
        start:
            //²âÊÔÓû§´úÂëÊÇ·ñ´ÓAPPLICATION_ADDRESS±»±à³Ì
            if (((*(__IO uint32_t*)APPLICATION_ADDRESS) & 0x2FFE0000 ) == 0x20000000){ 
                
                //Ìø×ªÖÁÓû§³ÌÐò
                JumpAddress = *(__IO uint32_t*) (APPLICATION_ADDRESS + 4);
                Jump_To_Application = (pFunction) JumpAddress;
                
                //³õʼ»¯Óû§³ÌÐòµÄ¶ÑÕ»Ö¸Õë
                __set_MSP(*(__IO uint32_t*) APPLICATION_ADDRESS);
                
                //Ìø×ªÖÁÓ¦ÓóÌÐò
                Jump_To_Application();
            }else{                
                led_trade();
            }
      /* USER CODE END 3 */
    
    }

    源代码下载链接:

    链接:http://pan.baidu.com/s/1jIrF5jC 密码:eec1

    iCore4链接:

  • 相关阅读:
    CENTOS安装部署zabbix
    分解XML方法
    Git使用摘要
    POJ 1274 The Perfect Stall 水二分匹配
    [leetcode]Pascal's Triangle II
    swift学习笔记(六)析关闭过程和使用分配给属性的默认值
    Qt学习一门:直接使用QT具
    mybatis13 resultMap
    mybatis12 Usermapper.xml
    mybatis11 sqlMapConfig.xml文件说明
  • 原文地址:https://www.cnblogs.com/xiaomagee/p/7613947.html
Copyright © 2011-2022 走看看