国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

簡述RT-Thread Studio燒寫國產MCU(SWM32S)固件的方法

電子工程師 ? 來源:CSDN技術社區 ? 作者:wenbodong ? 2021-06-04 11:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

筆者最近在試用一款華芯微特的MCU,SWM32SRET6。其片上有FLASH 512KB, RAM 128KB, 內部集成了TFT LCD控制器,并內置8MB SDRAM,面向家電、工業控制消費電子等需求屏驅應用的場景。這款芯片支持RT-Thread,這也是筆者試用它的重要原因。

d6c6a1c0-c4c6-11eb-9e57-12bb97331649.png

d73f8bbc-c4c6-11eb-9e57-12bb97331649.png

d7621722-c4c6-11eb-9e57-12bb97331649.png

d7b0b1ca-c4c6-11eb-9e57-12bb97331649.png

d7de6c5a-c4c6-11eb-9e57-12bb97331649.png

Keil內置了一些mcu的下載算法,比如綠線勾劃的。同時,Keil也為mcu廠商提供了添加下載算法的方法,即放在DFP之中

d82acfdc-c4c6-11eb-9e57-12bb97331649.png

再轉回RT-Thread Studio,是一樣的道理。RT-Thread Studio使用JLinkGDBServerCL.exe進行固件下載和調試,J-Link同樣需要下載算法。Supported devices - J-Link列舉了其支持的mcu。對于不支持的,需要額外添加下載算法。

Supported devices - J-Link
https://www.segger.com/downloads/supported-devices.php

在講具體的方法之前,我們先思考一下,為什么需要下載算法?

SWJ-DP

d84b08ec-c4c6-11eb-9e57-12bb97331649.png

同樣,swm320也是Cortex-M4內核,也內嵌了與stm32f4xx一樣的SWJ-DP。那么J-Link在下載時為何需要針對不同的mcu(即使是相同的cortex內核)選擇不同的下載算法呢?

原因很簡單,雖然swm320與stm32f4xx擁有相同的Cortex-M4內核和SWJ-DP,但是它們的外設是由廠商自行設計,包括片內Flash。從片內Flash讀取數據與從RAM讀取數據一樣,執行ARM的讀取指令即可。而向片內Flash寫入數據,即所謂的編程,則要復雜一些。

下載算法

準確的說,對于J-Link來說,其下載固件到mcu中,需要一個加載程序Flashloader。Open_Flashloader詳細講述了如何去為一個新的mcu指定Flashloader。

Open_Flashloader
https://wiki.segger.com/Open_Flashloader

可以指定兩種類型的FlashLoader:

按Open_Flashloader文章的方法開發出的FlashLoader,是一個elf格式的可執行程序。

CMSIS flash loader,通常是FLM格式。

這個FLM,有沒有感覺很親切呢?這就是廠家提供的DFP中的那個東西,也正是Keil所使用的下載算法。把其添加到J-Link軟件之中即可。

找到RT-Thread Studio所使用的J-Link軟件目錄,筆者的為:

dc5bba62-c4c6-11eb-9e57-12bb97331649.png

ChipInfo是設備的基本信息,指定內核類型、RAM地址和大小。

Vendor 設備商名稱
Name 設備名稱,在工程調試配置里面會用到.
WorkRAMAddr 十六進制格式的RAM首地址,與WorkRAMSize一起指定了J-Link下載固件時可用的內存空間。一般可指定為MCU的整個RAM空間。
WorkRAMSize 十六進制格式的RAM大小,單位是字節。
Core MCU內核,比如Cotex-M4對應為JLINK_CORE_CORTEX_M4。
參數 含義

FlashBankInfo指定設備Flash的空間以及下載算法。

Name 給人看的,取個有意義的即可。比如片內Flash可命名為Internal Flash。
BaseAddr 十六進制格式的Flash首地址,與MaxSize一起指定了Flash的空間。
MaxSize 十六進制格式的Flash大小,單位是字節。
Loader FlashLoader的路徑,可為相對路徑,也可為絕對路徑。如果是相對路徑,則其為相對于JLinkDevices.xml文件的位置。如前所述,可以是elf也可以是FLM。
LoaderType FlashLoader的類型。目前只能為FLASH_ALGO_TYPE_OPEN。
AlwaysPresent 對于片內Flash,此值為1,表示本塊Flash是始終存在的。
參數 含義

dc74207a-c4c6-11eb-9e57-12bb97331649.png

在此之前,筆者還用過一款國產MCU(華大的HC32L110)。這兩個廠商的產品有一個共同之處:只支持在Keil和IAR中開發??催^筆者飛控移植系列文章的同學應該有印象,筆者喜歡使用Eclipse家族的IDE,而不喜歡Keil,因為它的代碼瀏覽和編輯功能太簡陋。

Eclipse家族IDE不能用于開發這些國產MCU,最大的問題就是在于下載和調試,也就是本文遇到的問題。筆者當初在使用HC32L110的時候,選擇了一個折衷的方法。在TRUEStudio(一款Eclipse IDE)中編寫代碼,也可編譯以查看語法錯誤。而真正的編譯固件和下載調試,則在Keil之中進行。這次看到RT-Thread Studio可以創建出swm320的工程,然而最終還是卡在了下載。筆者不想再妥協了,于是有了這篇文章。本文的方法不局限于華芯微特的MCU,是一個通用的解決方案噢。

添加下載算法一節提到兩種方法,這次選擇了第2種,一個快速而簡單的方案。其實筆者在看Open Flashloader那篇wiki時,正襟危坐,仔細閱讀,準備大干一翻,自己來開發這個Flashloader。這應該會是一次有趣的體驗,有空時搞一把,到時會分享給大家。

編輯:jq

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

    關注

    147

    文章

    18944

    瀏覽量

    398738
  • 控制器
    +關注

    關注

    114

    文章

    17800

    瀏覽量

    193496
  • IAR
    IAR
    +關注

    關注

    5

    文章

    412

    瀏覽量

    38563
  • 代碼
    +關注

    關注

    30

    文章

    4970

    瀏覽量

    74014
  • DP
    DP
    +關注

    關注

    1

    文章

    241

    瀏覽量

    42348

原文標題:RT-Thread Studio燒寫國產MCU(SWM32S)固件的方法

文章出處:【微信號:gh_ed4f95bde4df,微信公眾號:華芯微特32位MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RT-Thread Studio V2.3.0 版本正式發布!

    支持針對rt-thread版本號大于5.1.0時使用Env2.0.0高版本2新增支持卸載studio時選擇是否保留已下載的SDK資源包文件3修復SDK管理器選擇了版
    的頭像 發表于 11-29 09:29 ?1132次閱讀
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b> V2.3.0 版本正式發布!

    ENV的scons能生成RT-Thread studio工程嗎?

    scons能生成RT-Thread studio工程嗎?教程中使用scons —target==MDK5來生成MDK工程,怎么生成RT-Thread Stdudio工程呢?
    發表于 10-13 07:42

    rt-thread studio 導入BSP 失敗怎么解決?

    rt-thread studio 手動導入bsp 失敗。 版本: 2.2.8 構建ID: 202405200930 導入的bsp 是直接從rt-thread 代碼倉庫下載的 .log
    發表于 10-11 11:07

    請問rt-thread studio可以開發完整的mcu程序嗎?

    請教一下:rt-thread studio IDE開發環境,能完整開發的rt-threadmcu程序嗎? 好多教程的步驟: 1。在rt-thr
    發表于 10-09 09:21

    rt-thread studio無法離線使用怎么處理?

    在離線狀態下,無法使用rt-thread studio。一定要逼著你聯網才能用,許多公司處于保密需要,都是無法聯網使用的
    發表于 09-29 10:22

    通過scons生成RT-Thread Studio工程,編譯報rtconfig_preinc.h告警怎么解決?

    我在 github 下載 V5.1.0 的代碼,在 gd32f450 的 bsp 中通過命令 scons --dist-ide 生成能夠在 RT-Thread Studio 下運行的工程。在編譯時會
    發表于 09-29 09:01

    rt-thread studio被排除構建的資源如何啟用?

    請問rt-thread studio被排除構建的資源如何啟用? 自己新建了兩個文件夾,里邊寫了些應用程序,原本是可以構建的,在點擊了RT-Thread Settings在保存后這兩個文件夾就被排除構建了,請問應該怎么重新應用?
    發表于 09-28 07:58

    使用RT-Thread studio 開發RT-Thread Nano項目的時候 串口的驅動是要自己嗎?

    剛入坑。使用RT-Thread studio 開發RT-Thread 標準板項目的時候直接使用里邊的串口uart_dev=rt_device_find(“uart5”);然后操作設備,
    發表于 09-26 08:14

    如何使用rt-thread studio中,使用 定制化的SDK建立工程?

    --target=eclipse生成 rt-thread studio 工程 在rt-thread studio中,使用sdk Manager 導入配置成功。 配置成功了, 問題:
    發表于 09-26 06:16

    RT-Thread Studio 2.2.8創建新項目直接構建編譯報錯怎么解決?

    RT-Thread Studio 2.2.8 嘗試了RT-Thread Source Code 5.1.05.0.24.0.34.0.2版本 創建新的項目工程后,沒有任何修改直接構建編譯報錯
    發表于 09-24 07:28

    RT-Thread studio報錯怎么解決?

    rt-thread studio中創建k210項目,在創建項目時需要選擇開發板,生成相關文件,配置什么的沒有修改過,運行main.c,打印輸出。編譯就會出現如下報錯。這兩個文件倒是可以找到,但是將其復制到PATH路徑下也沒有用。希望有人能指點下,謝謝!
    發表于 09-17 06:55

    RT-Thread Studio在Windows Arm上RT-Thread Studio Setting配置項頁面無法顯示怎么解決?

    例如Apple Silicon的MacBook上的Windows 11 Arm版虛擬機,RT-Thread Studio Setting配置項頁面無法顯示。
    發表于 09-16 06:10

    rt-thread studio 2.2.9如何使用最新的RT-Thread v5.2.0 released?

    rt-thread studio2.2.9如何使用最新的RT-Thread v5.2.0 released? 原先以為修改index_all.json,發現聯網的時候,會自動覆蓋 另lastet版本
    發表于 09-16 06:06

    RT-Thread studio如何設置vi/vim編輯模式呢?

    求助,RT-Thread studio如何設置vi/vim編輯模式呢? 嘗試找RT-Thread studio軟件里面的設置,沒找到呢。
    發表于 09-15 07:44

    用SPI玩轉WiFi,RT-Thread ESP-Hosted驅動深度適配指南 | 技術集結

    還在為MCU的WiFi連接方案發愁?RT-Thread社區開源ESP-Hosted驅動,通過標準SPI接口即可實現,并且該倉庫已整理成RT-Thread軟件包。RT
    的頭像 發表于 07-09 19:03 ?1662次閱讀
    用SPI玩轉WiFi,<b class='flag-5'>RT-Thread</b> ESP-Hosted驅動深度適配指南 | 技術集結