女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用國民技術的N32替換STM32的操作流程

STM32嵌入式開發 ? 來源:STM32嵌入式開發 ? 作者:STM32嵌入式開發 ? 2022-04-25 11:21 ? 次閱讀

前言

目前大形勢影響,芯片價格日益上漲,采購周期變長,導致國產芯片替代進口芯片成為大趨勢,該文章記錄了使用國民技術的N32替換STM32的操作流程。

話不多說,上步驟。

一、工程配置

1.安裝硬件庫

硬件庫為廠家提供的資料,如下圖所示,雙擊安裝,使得keil能夠找到該芯片。

82505ce6-c446-11ec-bce3-dac502259ad0.png

2.更改J-Flash配置

由于Keil官方沒有對該芯片的支持,所以J-Link下載時也無法找到該芯片,所以需要手動添加芯片。更改步驟官方提供有說明文檔。

826062d0-c446-11ec-bce3-dac502259ad0.png

主要步驟是:

修改JLinkDevices配置文檔

添加Nationstech的下載算法文件

添加Nationstech的JFlash 工程文件

添加解鎖Nationstech芯片讀保護L1 等級的應用程序

進行如上步驟后,啟動J-Flash就能夠掃描并連接到芯片,但是有可能keil鏈接的J-Flash和安裝的J-Flash不是一個路徑,所以將配置好的J-Flash文件替換keil下Keil5ARMSegger目錄文件,就能夠正常下載調試。

3.更改芯片

826d54ea-c446-11ec-bce3-dac502259ad0.png

4.添加驅動文件

將N32的底層驅動庫拷貝到工程目錄下,并將include路徑添加進去。

827ab0ea-c446-11ec-bce3-dac502259ad0.png

828ba616-c446-11ec-bce3-dac502259ad0.png

5.更改全局變量

829a4176-c446-11ec-bce3-dac502259ad0.png

6.將啟動文件和驅動文件替換為N32庫文件

82a5ee40-c446-11ec-bce3-dac502259ad0.png

7.將所有的stm32l1xx替換為n32g45x

二、底層驅動函數接口對照表

更改代碼,將STM32的驅動函數替換為N32的驅動函數,這部分比較繁瑣,需要慢慢替換,下面是我整理的替換對照表。

82bde5d6-c446-11ec-bce3-dac502259ad0.png

82d6e93c-c446-11ec-bce3-dac502259ad0.png

82eb5c28-c446-11ec-bce3-dac502259ad0.png

三、踩坑記錄

經過上面的替換,應該可以編譯過去了,但是這指示開始,后面悲劇的踩坑大戰才剛剛開始。

1.仿真卡死

程序仿真卡死,單步調試發現卡死在OSInit()函數里面,這個函數是OS的初始化函數,所以應該是OS配置的問題,排查下來發現是啟動文件里面的OS啟動項沒有更改,更改如下:

82f76d9c-c446-11ec-bce3-dac502259ad0.png

2.DMA配置出錯

程序能夠進入到任務中后,調試發現無法進入到串口接收中斷,但是示波器中有數據,而且中斷都沒有進入,應該是卡死在優先級高的中斷中,排查發現,是DMA發送中斷的配置有問題,導致一直卡死在DMA中斷中。下面是DMA部分的配置。

8304fcb4-c446-11ec-bce3-dac502259ad0.png

8311bfee-c446-11ec-bce3-dac502259ad0.png

3.Flash配置

由于國民芯片和STM32芯片的FLASH劃分有區別,所以FLASH的替換是比較費事的部分,先對比一下兩個片子的區別:

STM32L151的flash部分:

832479ea-c446-11ec-bce3-dac502259ad0.png

N32G455芯片的flash部分:

8331e5c6-c446-11ec-bce3-dac502259ad0.png

可以看出STM32單獨有EEPROM的劃分,而N32是沒有的,只有flash部分。所以要注意兩點:

Flash空間的問題,STM32可用空間要比N32的空間大;

底層接口函數,STM32有操作EEPROM的函數,而N32沒有,只能使用flash操作函數。

下面是flash部分的操作:

834548b4-c446-11ec-bce3-dac502259ad0.png

4.bootloader移植

由于本項目采用bootloader引導主程序的方式,因此要注意燒寫空間的配置,配置點在下面位置:

8356fa64-c446-11ec-bce3-dac502259ad0.png

當單獨調試其中的程序時,燒寫程序需要將整個flash擦除,要不運行不正常。

5.OS初始化卡死

又遇到程序卡死問題,這次是主程序,而且主程序起始地址為0x8000000時單獨運行良好,但是改成0x8007000用bootloader跳轉過去就卡死,也是卡死在OS的初始化中。因為單獨運行良好,所以排查起來困難些。最終定位是堆棧和堆的空間設置太大了,設置小了后就可以運行。更改該空間的位置如下:

8363fdd6-c446-11ec-bce3-dac502259ad0.png

而且問題還不是堆棧的空間不夠用,是空間設置太大了。有點無語。

6.程序跳轉后運行不正常

這是最后的問題,程序能夠從bootloader跳轉,但是運行不正常,咨詢了廠家技術人員,技術人員反饋可以采用分散加載的方式進行排查,也就是讓芯片直接在主程序燒錄的位置啟動,分散加載的教程網上比較多,主要需要設置燒錄域和啟動域地址,還有VTOR寄存器

配置如下所示:

8379a4ce-c446-11ec-bce3-dac502259ad0.png

需要編寫*.ini文件更改VTOR,ini文件編寫如下:

838639d2-c446-11ec-bce3-dac502259ad0.png

在keil中加載,使得軟件啟動后先配置單片機

8390a552-c446-11ec-bce3-dac502259ad0.png

配置好后可以實現分散加載,能夠是程序在燒錄位置啟動,發現程序分散加載可以運行正常,但是bootloader跳轉不正常,因此需要排查跳轉部分的問題。最終定位STM32在主程序啟動時不會重啟向量表,而N32會重啟向量表,在主程序啟動位置更改如下:

83a6a50a-c446-11ec-bce3-dac502259ad0.png

跳轉部分代碼如下:

83b78492-c446-11ec-bce3-dac502259ad0.png

CSDN德瑪西亞吳彥祖

原文鏈接:https://blog.csdn.net/zhang421412170/article/details/116779169

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    459

    文章

    52205

    瀏覽量

    436472
  • STM32
    +關注

    關注

    2290

    文章

    11017

    瀏覽量

    362477

原文標題:國產芯片N32替換STM32的步驟

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    ES_國民技術N32G435系列勘誤手冊V1

    NATION/國民技術N32G435系列SDK開發資料
    發表于 03-17 16:35 ?0次下載

    AN_國民技術通用MCU RT_Thread設備注冊應用筆記V1

    NATION/國民技術N32G435系列SDK開發資料
    發表于 03-17 16:35 ?0次下載

    AN國民技術_N32G43x_N32L43x_N32L40x系列低功耗應用筆記V1

    NATION/國民技術N32G435系列SDK開發資料
    發表于 03-17 16:34 ?0次下載

    國民技術--N32G43XRL-STB_硬件評估板

    NATION/國民技術N32G435系列SDK開發資料
    發表于 03-17 16:33 ?0次下載

    UM_國民技術N32G43x系列用戶手冊V1

    NATION/國民技術N32G435系列SDK開發資料
    發表于 03-17 16:32 ?0次下載

    國民技術_N32G435系列數據手冊

    NATION/國民技術N32G435系列SDK開發資料
    發表于 03-17 16:31 ?1次下載

    國民技術_N32G435系列產品簡介

    NATION/國民技術N32G435系列SDK開發資料
    發表于 03-17 16:31 ?0次下載

    活動回顧丨國民技術N32 MCU新成員N32G430 亮相電機驅動與控制技術研討會

    6月10日,由大比特主辦的電機驅動與控制技術研討會在深圳成功舉辦。國民技術受邀出席了此次研討會。此次研討會上,國民技術重點展示了業內32位性
    的頭像 發表于 11-27 15:00 ?578次閱讀
    活動回顧丨<b class='flag-5'>國民</b><b class='flag-5'>技術</b>攜<b class='flag-5'>N32</b> MCU新成員<b class='flag-5'>N</b>32G430 亮相電機驅動與控制<b class='flag-5'>技術</b>研討會

    N32 MCU新成員N32G430,創Arm Cortex-M4F業內性價比新標桿

    內核產品價格,創立32位MCU業內性價比新標桿!國民技術N32系列MCU自推出以來已量產12個系列共100余款產品,市場取得全面突破,呈現規模效應,已得到各行業標
    的頭像 發表于 11-27 15:00 ?663次閱讀
    <b class='flag-5'>N32</b> MCU新成員<b class='flag-5'>N</b>32G430,創Arm Cortex-M4F業內性價比新標桿

    國民技術N32 MCU產品榮獲IEC/EN/UL 60730功能安全認證

    近日,國民技術宣布,其多個系列的N32 MCU產品成功通過全球領先的檢驗、鑒定、測試和認證機構SGS的嚴格審核,榮獲IEC/EN/UL 60730功能安全測試認證,并獲得了SGS頒發的相關認證證書。這一殊榮標志著
    的頭像 發表于 11-12 16:40 ?1051次閱讀

    SGS授予國民技術IEC/EN/UL 60730功能安全認證證書

    近日,國際公認的測試、檢驗和認證機構SGS為國民技術股份有限公司(以下簡稱“國民技術”)頒發IEC/EN/UL 60730功能安全認證證書。獲此證書,標志著
    的頭像 發表于 10-29 14:47 ?1301次閱讀

    國民技術N32 MCU通過IEC/EN/UL 60730功能安全認證

    近期,國民技術多個系列的N32MCU產品先后通過了全球領先的檢驗、鑒定、測試和認證機構SGS的IEC/EN/UL60730功能安全測試認證,獲得SGS頒發的IEC/EN/UL60730認證證書,助力
    的頭像 發表于 10-25 08:07 ?887次閱讀
    <b class='flag-5'>國民</b><b class='flag-5'>技術</b><b class='flag-5'>N32</b> MCU通過IEC/EN/UL 60730功能安全認證

    GD32如何替換STM32

    GD32替換Stm32注意事項
    發表于 08-23 11:31 ?5次下載

    國民技術N32H4系列MCU賦能工業與數字能源新紀元

    近日,在深圳舉辦的2024全球MCU及嵌入式生態發展大會上,電子工程領域的權威媒體AspenCore匯聚了眾多行業精英。國民技術副總經理鐘新利受邀出席大會主峰會,并發表了題為“N32H4系列MCU高能助力工業與數字能源”的精彩演
    的頭像 發表于 07-29 11:23 ?1580次閱讀

    國民技術亮相2024慕尼黑上海電子展

    在近日于慕尼黑上海電子展上,國民技術以一場科技盛宴驚艷全場,隆重推出了其精心研發的多款高性能專用MCU產品,包括N32H482、N32H487、N
    的頭像 發表于 07-10 14:26 ?1410次閱讀