【MCU】國民N32固件庫移植


前言

鏈接

  • 李柱明博客
  • 移植AT32庫&FreeRTOS教程
    • 由於大部分國產MCU移植固件庫、RTOS源碼都是差不多的,所以本文不講細節,如想熟悉移植的套路,就參考上面鏈接去移植自己手上的MCU。相信移植一次後就懂了,然後自己寫一篇博文記錄一下,可以理清移植思路,也可以分享給眾多道友。
  • 下面主要列出國民技術移植要點。(基於ST工程

移植N32Gxxx系列要點

  1. 文件替換
    1. 啟動文件:如:startup_n32g45x.s
    2. 系統文件:如:system_n32g45x.c
    3. 內核文件:如:core_cm4.h 等等。可以把國民技術官方提供的文件夾一鍵copy過去。
    4. 外設驅動庫:如:n32g45x_xxx.c、n32g45x_xxx.h、misc.c、misc.h
    5. 中斷回調函數專用文件:如:n32g45x_it.c、n32g45x_it.h
  2. 工程配置
    1. 修改芯片選擇。(安裝號芯片包
    2. 修改工程中全局宏。
    3. 更改燒錄算法文件。
  3. 代碼修改
    1. 修改主頻。首次,建議和原工程主頻保持一致。修改在系統文件 system_n32g45x.c 中修改即可。
    2. 時鐘。這個要特別留意。所使用的國民32時鐘樹與移植的STM32型號時鐘樹是否一致,若不一致則修改對應code即可。
    3. 國民庫中各種外設名稱與ST庫有不少差異(注意,是名稱有差異,但是框架和實現原理都差不多),所以只需要修改對應正確的名稱即可。(慢慢換吧,雖然多,都是可以使用一鍵一鍵替換。)。實在不行就參考例程來改。
    4. DMA 可能需要重新映射。
  4. 燒寫環境搭建
    1. 安裝芯片包才能在 MDK 上選擇正確的芯片。
    2. 若MDK或jlink無法識別MCU型號導致無法燒寫,可以參考以下操作:
      1. 下載由國民技術提供的 jlink 工具文件:jlink工具添加Nationstech芯片Vx.x.x。如:

      2. 文件夾內容解析:

        • Device:下載算法文件。
        • Samples:J-Flash 工程。
        • Nationstech-JLinkDevices.xml:需要添加的國民技術芯片型號文件。
        • JLinkNsUnlockTool V1.0.1.exe:解鎖國民技術芯片讀保護 L1 級別應用程序。
        • JLinkNsUnlockToolConfig.ini:解鎖讀保護應用程序所需的配置文件。
        • jlink工具添加Nationstech芯片流程_V1.0.pdf:官方教程(推薦)。
    3. 修改 JLinkDevices 配置文檔。
      1. 找到 JLink 安裝路徑,打開 JLinkDevice 文檔。(可使用notepad打開
      2. 把國民技術提供的 Nationstech-JLinkDevices.xml 文檔裏面 Nationstech 芯片配置內容複製到 JLink 安裝路徑下的 JLinkDevice 文檔末尾。點擊保存(按格式添加。)。
    4. 添加 Nationstech 的下載算法文件。
      1. jlink工具添加Nationstech芯片V*x.x.x/Devices路徑下的 Nationstech 文件夾拷貝到 JLink 安裝路徑/Devices 文件夾下。
    5. 添加 Nationstech 的 JFlash 工程文件。
      1. jlink工具添加Nationstech芯片V*x.x.x/Samples/JFlash/ProjectFiles路徑下的 Nationstech 文件夾拷貝到 JLink 安裝路徑/Samples/JFlash/ProjectFiles 文件夾下。
    6. 添加解鎖 Nationstech 芯片讀保護 L1 等級的應用程序。
      1. JLinkNsUnlockToolConfig.iniJLinkNsUnlockTool V1.0.1.exe拷貝到 JLink 安裝路徑下。