久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5459|回復: 4
收起左側

HC32F460的IAP例程與資料

  [復制鏈接]
ID:270576 發表于 2021-6-23 18:25 | 顯示全部樓層 |閱讀模式
這是華大的HC32F460的IAP例程,供大家參考。
51hei.png

以上資料下載: hc32f460_iap資料.7z (3.11 MB, 下載次數: 215)
  1. /*******************************************************************************
  2. * Include files
  3. ******************************************************************************/
  4. #include "iap.h"
  5. #include "basic.h"
  6. #include "flash.h"
  7. #include "uart.h"
  8. #include "modem.h"
  9. #include "User_Timer.h"

  10. /*******************************************************************************
  11. * Local type definitions ('typedef')
  12. ******************************************************************************/

  13. /*******************************************************************************
  14. * Local pre-processor symbols/macros ('#define')
  15. ******************************************************************************/

  16. /*******************************************************************************
  17. * Global variable definitions (declared in header file with 'extern')
  18. ******************************************************************************/
  19. uint32_t JumpAddress;
  20. func_ptr_t JumpToApplication;

  21. /*******************************************************************************
  22. * Local function prototypes ('static')
  23. ******************************************************************************/
  24. static en_result_t IAP_JumpToApp(uint32_t u32Addr);
  25. static void IAP_ResetConfig(void);

  26. /*******************************************************************************
  27. * Local variable definitions ('static')
  28. ******************************************************************************/

  29. /*******************************************************************************
  30. * Function implementation - global ('extern') and local ('static')
  31. ******************************************************************************/
  32. /**
  33. *******************************************************************************
  34. ** \brief Initialize IAP
  35. **
  36. ** \param [in] None
  37. **
  38. ** \retval None
  39. **
  40. ******************************************************************************/
  41. void IAP_Init(void)
  42. {
  43.     SystemClock_Init();
  44.     LED_Init();
  45.     UART_Init();
  46. }

  47. /**
  48. *******************************************************************************
  49. ** \brief UART receive byte.
  50. **
  51. ** \param [out] u8RxData                   Pointer to Rx data.
  52. **
  53. ** \retval Ok                              Receive data finished.
  54. ** \retval Error                           Don't receive data.
  55. **
  56. ******************************************************************************/
  57. void IAP_Main(void)
  58. {
  59.     uint32_t u32AppFlag;
  60.     en_result_t enRet;

  61.     while (1)
  62.     {
  63.         enRet = Modem_Process(BOOT_WAIT_TIME);
  64.         if ((enRet == Ok) || (enRet == ErrorTimeout))
  65.         {
  66.             u32AppFlag = *(__IO uint32_t *)BOOT_PARA_ADDRESS;
  67.             if ((0xFFFF != u32AppFlag))
  68.             {
  69.                 if (Error == IAP_JumpToApp(APP_ADDRESS))
  70.                 {
  71.                     LED0_OFF();
  72.                     LED1_ON();   
  73.                 }
  74.             }
  75.             else
  76.             {
  77.                 LED0_ON();
  78.                 LED1_ON();
  79.             }
  80.         }
  81.         else
  82.         {
  83.             LED1_OFF();
  84.             LED0_ON();
  85.         }
  86.     }
  87. }

  88. /**
  89. *******************************************************************************
  90. ** \brief IAP main function
  91. **
  92. ** \param [in] u32Addr                     APP address
  93. **
  94. ** \retval Error                           APP address error
  95. **
  96. ******************************************************************************/
  97. static en_result_t IAP_JumpToApp(uint32_t u32Addr)
  98. {
  99.     uint32_t u32StackTop = *((__IO uint32_t *)u32Addr);

  100.     /* Check if user code is programmed starting from address "u32Addr" */
  101.     /* Check stack top pointer. */
  102.     if ((u32StackTop > SRAM_BASE) && (u32StackTop <= (SRAM_BASE + RAM_SIZE)))
  103.     {
  104.         IAP_ResetConfig();
  105.         /* Jump to user application */
  106.         JumpAddress = *(__IO uint32_t *)(u32Addr + 4);
  107.         JumpToApplication = (func_ptr_t)JumpAddress;
  108.         /* Initialize user application's Stack Pointer */
  109.         __set_MSP(*(__IO uint32_t *)u32Addr);
  110.         JumpToApplication();
  111.     }

  112.     return Error;
  113. }

  114. /**
  115. *******************************************************************************
  116. ** \brief Boot reset configure
  117. **
  118. ** \param [in] None
  119. **
  120. ** \retval None
  121. **
  122. ******************************************************************************/
  123. static void IAP_ResetConfig(void)
  124. {
  125.     LED_DeInit();
  126.     UART_DeInit();
  127.     Timer_DeInit();
  128.     SystemClock_DeInit();
  129. }

  130. /******************************************************************************
  131. * EOF (not truncated)
  132. *****************************************************************************/
復制代碼


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

無效樓層,該帖已經被刪除
ID:94968 發表于 2021-9-2 16:49 | 顯示全部樓層
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

無效樓層,該帖已經被刪除
5#
無效樓層,該帖已經被刪除
ID:7861 發表于 2022-3-31 16:28 | 顯示全部樓層
感謝感謝,找了很久終于找到了
回復

使用道具 舉報

7#
無效樓層,該帖已經被刪除
ID:1021750 發表于 2022-4-26 09:53 | 顯示全部樓層
這個資料在哪里找的啊?我去官網都沒找到
回復

使用道具 舉報

9#
無效樓層,該帖已經被刪除
10#
無效樓層,該帖已經被刪除
ID:398504 發表于 2023-3-13 22:01 | 顯示全部樓層
感謝,,,,馬上下載來研究研究
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久久涩 | 久久久久久久久久久久91 | 欧美精品在欧美一区二区 | 成人在线播放 | 黄色91在线| 中文字幕 在线观看 | 色爱综合网 | 欧美专区在线 | 91亚洲精 | 伊人狠狠 | 日韩av在线中文字幕 | 激情五月婷婷综合 | 免费国产视频在线观看 | 精品久久国产 | 日本黄视频在线观看 | 欧美精品91 | 夜夜艹 | 日韩国产精品一区二区三区 | 亚洲aⅴ | 欧美11一13sex性hd| www国产精 | 精品久久久久久久 | 国产视频久久久 | 国产一区二区三区 | 国产一区二区三区 | 精品无码久久久久久国产 | 狠狠操狠狠搞 | 一区二区三区精品在线视频 | 综合激情久久 | 欧美成视频 | 久久久精品一区二区三区四季av | 91精品国产91久久久久久吃药 | 免费 视频 1级 | 免费在线观看av网址 | 欧美日韩国产一区二区三区 | 久久一区二区三区免费 | 91精品在线观看入口 | 日韩精品在线观看一区二区三区 | 亚洲69p| 成人国产精品一级毛片视频毛片 | 亚洲在线 |