色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

電子工程師 ? 來源:CSDN技術(shù)社區(qū) ? 作者:wenbodong ? 2021-06-04 11:24 ? 次閱讀

筆者最近在試用一款華芯微特的MCU,SWM32SRET6。其片上有FLASH 512KB, RAM 128KB, 內(nèi)部集成了TFT LCD控制器,并內(nèi)置8MB SDRAM,面向家電、工業(yè)控制消費電子等需求屏驅(qū)應(yīng)用的場景。這款芯片支持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內(nèi)置了一些mcu的下載算法,比如綠線勾劃的。同時,Keil也為mcu廠商提供了添加下載算法的方法,即放在DFP之中

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

再轉(zhuǎn)回RT-Thread Studio,是一樣的道理。RT-Thread Studio使用JLinkGDBServerCL.exe進行固件下載和調(diào)試,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內(nèi)核,也內(nèi)嵌了與stm32f4xx一樣的SWJ-DP。那么J-Link在下載時為何需要針對不同的mcu(即使是相同的cortex內(nèi)核)選擇不同的下載算法呢?

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

下載算法

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

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

可以指定兩種類型的FlashLoader:

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

CMSIS flash loader,通常是FLM格式。

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

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

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

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

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

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

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

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

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

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

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

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17171

    瀏覽量

    351526
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    16385

    瀏覽量

    178386
  • IAR
    IAR
    +關(guān)注

    關(guān)注

    5

    文章

    352

    瀏覽量

    36703
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4793

    瀏覽量

    68703
  • DP
    DP
    +關(guān)注

    關(guān)注

    1

    文章

    201

    瀏覽量

    39845

原文標(biāo)題:RT-Thread Studio燒寫國產(chǎn)MCU(SWM32S)固件的方法

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

收藏 人收藏

    評論

    相關(guān)推薦

    S32K146 RT-Thread】之 使用SFUD組件驅(qū)動spi flash

    S32K146 RT-Thread】之 使用SFUD組件驅(qū)動spi flash
    的頭像 發(fā)表于 11-21 01:05 ?314次閱讀
    【<b class='flag-5'>S</b>32K146 <b class='flag-5'>RT-Thread</b>】之 使用SFUD組件驅(qū)動spi flash

    rt-thread studio導(dǎo)入bsp失敗的原因?

    rt-thread studio導(dǎo)入bsp失敗,bsp:gd32470z-lckfb
    發(fā)表于 09-27 09:54

    rt-thread studio導(dǎo)入bsp失敗的原因?

    rt-thread studio導(dǎo)入bsp失敗,bsp:gd32470z-lckfb
    發(fā)表于 09-13 07:49

    rt-thread studio手動導(dǎo)入bsp失敗的原因?怎么處理?

    rt-thread studio 手動導(dǎo)入bsp 失敗。 版本: 2.2.8 構(gòu)建ID: 202405200930 導(dǎo)入的bsp 是直接從rt-thread 代碼倉庫下載的
    發(fā)表于 09-13 06:45

    如何在RT-thread studio的裸機例程上移植freertos?

    如何在RT-thread studio的裸機例程上移植freertos
    發(fā)表于 09-13 06:32

    RT-Thread Studio導(dǎo)入keil MDK工程失敗的原因?怎么解決?

    RT-Thread Studio導(dǎo)入keil MDK工程失敗
    發(fā)表于 07-15 06:56

    6月6日杭州站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    6月6日下午我們將在杭州舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到RT-Thread資深
    的頭像 發(fā)表于 05-28 08:35 ?453次閱讀
    6月6日杭州站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    【本周六-上海】RT-Thread+NXP線下培訓(xùn),快速上手新系列MCU

    5月25號,RT-Thread將攜手恩智浦共同舉辦基于恩智浦MCXN系列MCU結(jié)合RT-Thread的應(yīng)用與實踐線下培訓(xùn)。我們將為大家?guī)矶髦瞧諱CXN系列MCU的詳細(xì)介紹、精彩Dem
    的頭像 發(fā)表于 05-22 08:35 ?553次閱讀
    【本周六-上海】<b class='flag-5'>RT-Thread</b>+NXP線下培訓(xùn),快速上手新系列<b class='flag-5'>MCU</b>

    【上海】5月25日-基于恩智浦MCX N系列MCU結(jié)合RT-Thread的應(yīng)用與實踐 線下培訓(xùn)

    5月25號,RT-Thread將攜手恩智浦共同舉辦基于恩智浦MCXN系列MCU結(jié)合RT-Thread的應(yīng)用與實踐線下培訓(xùn)。我們將為大家?guī)矶髦瞧諱CXN系列MCU的詳細(xì)介紹、精彩Dem
    的頭像 發(fā)表于 05-13 18:19 ?894次閱讀
    【上海】5月25日-基于恩智浦MCX N系列<b class='flag-5'>MCU</b>結(jié)合<b class='flag-5'>RT-Thread</b>的應(yīng)用與實踐 線下培訓(xùn)

    4月25日北京站RT-Thread線下workshop,探索RT-Thread混合部署新模式

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現(xiàn)同時運行RT-Thread和linux,本次workshop邀請到RT-Thread資深
    的頭像 發(fā)表于 04-16 08:35 ?426次閱讀
    4月25日北京站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式

    RT-Thread Studio添加軟件包報錯怎么解決?

    RT-Thread Studio添加軟件包報錯ImportError: No module named psutil
    發(fā)表于 03-01 08:41

    使用RT-Thread Studio下載代碼不能運行是為什么?

    直接使用源碼包里面的keil工程下載代碼正常執(zhí)行,但是使用RT-Thread Studio下載就不行了 使用的是TM4C123H6PM的例程,但是我的芯片是TM4C123H6PZ的,keil上是可以直接下載并正常工作的,但是RT-Thr
    發(fā)表于 03-01 08:22

    RT-Thread Studio使用GD-LINK下載,選擇DAP-LINK,編譯報錯怎么解決?

    下載源碼5.0.2, 使用RT-Thread Studio v2.2.7,導(dǎo)入bsp里面的RT-Thread Studio項目 MCU使用G
    發(fā)表于 02-26 06:47

    rt-thread studio地址偏移怎么配置?

    rt-thread studio地址偏移配置,這個再哪配置?
    發(fā)表于 02-23 06:24

    RT-Thread Studio為什么沒有找到外部中斷的配置?

    使用版本 RT-Thread Studio 版本: 2.2.7 構(gòu)建ID: 202308112000 使用接口 使用RT-Thread,STM32因為默認(rèn)是屏蔽掉外部中斷的接口代碼的 這樣用起來
    發(fā)表于 02-22 07:01
    主站蜘蛛池模板: 老阿姨儿子一二三区| 国产高潮国产高潮久久久久久| 2018三级网站免费观看| 久久免费视频| 97成人碰碰在线人妻少妇| 欧美性猛交xxxxxxxx软件| 最近韩国日本免费观看mv免费版| 国产乱国产乱老熟300部视频| 亚洲欧美日韩在线观看一区二区三区| 动漫美女禁区图| 亚洲国产欧美在线看片| 久久影院中文字幕| 穿着丝袜被男生强行啪啪| 亚洲精品嫩草AV在线观看| 国产午夜伦伦伦午夜伦| 在线观看国产视频| 青青草原免费在线| 国产亚洲精品久久久久苍井松 | 精品国产乱码久久久久久夜深人妻| 午夜伦理网| 国产在线精品一区二区在线看 | 伊人精品影院一本到综合| 久久99AV无色码人妻蜜| 伊人久久大香| 日韩国产精品欧美一区二区| 国产成人无码WWW免费视频在线| 熟妇内谢69XXXXXA片| 国产人人为我我为人人澡| 亚洲精品在线看| 欧美激情社区| 极品色αv影院| 顶级欧美不卡一区二区三区| 一个人看的HD免费高清视频| 三级黃60分钟| 男生射女生| 精品一品国产午夜福利视频| 高清bblxx手机在线观看| 97久久超碰中文字幕| 亚洲色欲色欲无码AV| 玩弄放荡人妻一区二区三区| 嫩草伊人久久精品少妇AV网站|