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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5298|回復: 4
打印 上一主題 下一主題
收起左側

HC32F460的IAP例程與資料

  [復制鏈接]
跳轉到指定樓層
樓主
這是華大的HC32F460的IAP例程,供大家參考。


以上資料下載: 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 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:94968 發表于 2021-9-2 16:49 | 只看該作者
好資料,51黑有你更精彩!!!
回復

使用道具 舉報

板凳
ID:7861 發表于 2022-3-31 16:28 | 只看該作者
感謝感謝,找了很久終于找到了
回復

使用道具 舉報

地板
ID:1021750 發表于 2022-4-26 09:53 | 只看該作者
這個資料在哪里找的啊?我去官網都沒找到
回復

使用道具 舉報

5#
ID:398504 發表于 2023-3-13 22:01 | 只看該作者
感謝,,,,馬上下載來研究研究
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日批 | 污视频免费在线观看 | 蜜桃视频在线观看免费视频网站www | 性做久久久久久免费观看欧美 | 欧美一区二区大片 | 国产美女h视频 | 精品在线一区 | 人人爽人人草 | 欧美自拍日韩 | 日韩欧美在线免费观看视频 | 国产精品不卡一区 | 青青草一区二区 | 91xxx在线观看 | 99reav| 北条麻妃99精品青青久久主播 | 免费成人午夜 | 一区视频在线 | 黄一级| 日韩一二三区视频 | 国产精品视频一二三区 | 狠狠色综合久久丁香婷婷 | 日本午夜一区 | 区一区二在线观看 | 国产综合久久久 | 欧美free性| 亚洲精品美女视频 | 欧美精品一区在线发布 | 四虎影音| 欧美日韩在线免费 | 国产乱码久久久久久一区二区 | 亚洲高清中文字幕 | 99这里只有精品视频 | 九色视频网站 | 狠狠操av| 91免费在线播放 | 成年人在线视频 | 成年网站在线观看 | 国产乱一区二区三区视频 | 欧美电影免费观看高清 | 亚洲一区影院 | 荷兰欧美一级毛片 |