精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

工程師自述:如何將RA2E1并入到RT-Thread的主線倉庫

RTThread物聯網操作系統 ? 來源:未知 ? 2023-03-25 20:50 ? 次閱讀

支持RT-Thread最新版本的瑞薩RA2E1開發板終于要大展身手了

熟悉RT-Thread和瑞薩MCU的朋友都知道,當前RT-Thread倉庫的主線代碼是不支持RA2E1這個BSP的。剛好,最近我在聯合瑞薩推廣一個叫《致敬未來的攻城獅計劃》,使用的就是RA2E1開發板,正好乘著這個機會把RA2E1這個BSP合入到主線去,想必一定非常有趣。

1 寫在前面

借助一個有趣的計劃,完成一個有趣的任務,這本身就是一件很有趣的事情。

幫助一群未來的攻城獅快速地成長,把一顆芯片平臺讓更多人的發現并用起來,讓RT-Thread的生態越來越豐富,這些事情,我們正在做,也會一直做下去,希望有更多的人加入并參與我們的實踐中來。

本文的主要任務,還是聚焦在如何將RA2E1并入到RT-Thread的主線倉庫。

2 《致敬未來的攻城獅計劃》

2.1 計劃內容

一個嶄新的計劃,尋找那群有志于向嵌入式發展的未來工程師

活動計劃初衷

《致敬未來的攻城獅計劃》來源于架構師李肯的一個念想,我一直在尋找那群渴望學習并專注于提升自我的技術朋友,他們可能還是憧憬在象牙塔里的大學生,也可能是初出茅廬的小助理,還有可能是一群轉行無門的技術小白,但是他們都有一顆熱誠扎入嵌入式領域的心,我稱他們為【未來的攻城獅】,而我正是希望成為他們的星光指路人。

本次計劃的初衷與瑞薩MCU不謀而合,瑞薩非常支持這群《未來的攻城獅》,愿意為他們的持續學習提供必要的硬件支持。

正是在這樣的背景下,《致敬未來的攻城獅計劃》孕育而生,一群閃亮的新星即將登場,嵌入式的技術即將因你們而更加精彩!

想要了解更多關于這個計劃的內容,可以關注我的個人社區:https://bbs.csdn.net/topics/613916237 (復制鏈接到瀏覽器即可打開

2.2 當前進展

《致敬未來的攻城獅計劃》,從3月中旬就開始宣傳推廣,經過一周的報名篩選,我們挑選了10名優秀的、有潛力的未來攻城獅,第一時間聚攏大家,聊一聊這次計劃的主要目的和開展形式,很快得到了大家的一致認可和支持,計劃得以快速啟動。

作為本次計劃的主贊助商,瑞薩也在收到審核通過的名單后,迅速把板子發過來,這不剛過去一周,很多小伙伴已經把板子玩上幾天了,好不愜意。

昨天開始,我在社區發布本期計劃的激勵措施,號召大家再社區打卡學習,現在好多小伙伴已經開始火熱打卡學習了,歡迎大家來圍觀。(復制下面的鏈接到瀏覽器即可打開

【致敬未來的攻城獅計劃】任務提交及獎懲措施的相關說明 https://bbs.csdn.net/topics/614070195

【致敬未來的攻城獅計劃】學習打卡頻道 https://bbs.csdn.net/forums/recan-iot?typeId=2717193

267e1ecc-cb0b-11ed-bfe3-dac502259ad0.pngimage-20230323232547334

269cc3ae-cb0b-11ed-bfe3-dac502259ad0.png

image-20230323232348559

3 讓RA2E1支持RT-Thread

3.1 遇到的問題

最早我們在為《致敬未來的攻城獅計劃》選型開發板的時候,也有過考慮的,盡快要選擇一款能快速用上RT-Thread的板子。

當得知RT-Thread主線代碼其實已經支持了RA2L1的,而我們選型的RA2E1與RS2L1基本是完全兼容的,只是存儲有些不一樣。

自然我的第一感覺也是,那就用它吧。應該問題不大,畢竟還有RA2L1在那里兜底。

然而,不幸的是,當我們參與計劃的小伙伴拿到板子后,根據我給他們的信息提示,去RT-Thread的主線倉庫拉取RA2L1的代碼時,到KEIL中一編譯,竟然發現有20幾個編譯錯誤。Word天吶,簡直有點不敢相信,然后一看倉庫代碼的提交記錄,最后一次提交大概是2個月前,感覺代碼也不舊啊?怎么會這樣,有些納悶!

26b0b38c-cb0b-11ed-bfe3-dac502259ad0.pngimage-20230324001213154

3.2 查找資料

果然,白嫖是不可能的,這輩子都不可能白嫖的,關鍵時候還是要靠自己的雙手來解決問題(此處沒有開車)!

遇到問題,首先我想到的可能是 RT-Thread的官方技術論壇 (https://club.rt-thread.org/index.html),雖然現在的活躍度比較差一些,但整體來說,還是能夠找到一些有用的東西,幫助自己解決一些問題。

抱著試一下的心態去搜索,果然論壇里面很多介紹RA2L1這塊芯片(板子)的,也有一個搭建開發環境踩坑的筆記之類的,看起來還是比較多。

26e8cccc-cb0b-11ed-bfe3-dac502259ad0.png

image-20230324001606438

經過一番篩選,我找到了這一篇文章: RT-Thread-【開發板評測】Renesas RA2L 點亮LCD (SPI)RT-Thread問答社區 - https://club.rt-thread.org/ask/article/89f43e3f0d1370be.html 里面的幾點對我接上面遇到的編譯問題就很有幫助。

2708293c-cb0b-11ed-bfe3-dac502259ad0.png

image-20230324001708825

根據他的提示,很快我明白了原理,原理是RT-Thread主倉庫的代碼并不是根據這套板子來配置的,而是其他的一些配置,所以,需要解決編譯的問題,要修改以下幾個配置:

  • 使能RA2L1的uart9
  • RT-Thread的調試串口啟用uart9
  • RT-Thread的串口驅動版本選用V2

以上幾個步驟需要借助env工具,然后配置完了,重新使用scons --target=mdk5生成KEIL的工程。

經過上面的配置后,再編譯新的工程,終于是0 error了。

27351b18-cb0b-11ed-bfe3-dac502259ad0.pngimage-20230324002116202

3.3 新的問題來了

本以為,探索之旅到此結束,沒想到把編譯出來的可執行文件通過燒錄器下載到(RA2E1)板子上,居然跑不起來,連我們常見的燈也不閃了,簡直傻眼了。我開始想起最早的時候選項時:RA2E1與RA2L1是兼容的!

該不會除了啥問題吧?排除掉是板子的問題以及接線的問題之后,我開始鎖定,非常有可能就是兩個板子不完全兼容導致的。

手上有調試器,自然先跑一把調試下看看。記得上一小節找到的那個帖子,有說他遇到的問題是直接開始,最后排查是串口的問題導致,注釋掉某一行代碼就解決了,我們也嘗試用這個小方法,還是不行,結果是一樣的,燈不閃爍,串口無輸出。

使用單步一調試,跳出這樣的出錯,本想去搜搜看,可是壓根沒有這樣關鍵字的資料。

2749d378-cb0b-11ed-bfe3-dac502259ad0.png

image-20230324002829364

雖然沒有啥解決方法,但是從這張錯誤中,我們可以看到,一定是MEMORY出問題了。

這時候我想起最早的選項,兩者代碼上是兼容的,但是就是內存不太一樣。

至此,我基本斷定了就是Memory Layout導致的問題,但是具體要怎么修改才行呢。還是沒有思路。

3.4 咨詢大神

自己想了一天,加上工作也比較忙,一直拖著沒有解決。

想著這個問題我不能托太久,不然學習的小伙伴,也沒法往下基于這個板子學習RT-Thread了。

于是我想到一個方法,那我就厚著臉皮去問一下瑞薩原廠的開發工程師吧。

之前參加 RA4M2網關設計大賽的時候,有加到RA的工程師,我就虛心地去請教了一下:

27a3214e-cb0b-11ed-bfe3-dac502259ad0.pngimage-20230324003415509

大家都工作忙,也不可能真的手把手教你去解決,關鍵時候還得靠自己。

從這次簡短的溝通,基本已經完全確認方向了,就是內存的配置問題。

有了思路,就好辦了,問題應該很快就有方法了。

3.5 潛心研究

在這里,我不得不提一句,瑞薩的資料是真的多,多到什么程度呢?就是多到你不知道該看哪個?或者說,究竟哪個文檔或資料才能找到你想要的東西。

27c6eb1a-cb0b-11ed-bfe3-dac502259ad0.pngimage-20230324003833787

既然上面大致都已經定位到內存的問題,那我首先要做的就是找出 RA2E1 和 RA2L1 在內存上的差別究竟在哪里?

這些信息從哪里可以得出,那自然是官方的datasheet 最權威了。

最后,我也是大致翻看,發現這份《RA2E1硬件用戶手冊(中英).pdf》有講到Memory劃分的詳細內容,既然RA2E1有,自然RA2L1也有類似的文檔,所以我就從官方找到了《RA2L1硬件用戶手冊(中英).pdf》。

分別找到他們的內存劃分那一章節:

27d91ee8-cb0b-11ed-bfe3-dac502259ad0.pngimage-2023032400420304927fc41b6-cb0b-11ed-bfe3-dac502259ad0.pngimage-20230324004243815280a27a4-cb0b-11ed-bfe3-dac502259ad0.pngimage-20230324004402451284a667a-cb0b-11ed-bfe3-dac502259ad0.pngimage-20230324004331818

有了這些內存分布之后,基本就知道怎么改了。

3.6 試著解決問題

熟悉KEIL編譯環境的都知道,在KEIL里面,關于芯片的內存分布是在一種叫分散文件的東西里面配置,它的文件名后綴是 .scat

順著工程目錄找到對應的分散文件,看到里面開頭有這么一段:

#!armclang-mcpu=cortex-m4--target=arm-arm-none-eabi-E-xc-I.
#include"memory_regions.scat"

雖然不太懂它的語法,但是一猜就知道,這種就是文件包含,也就是說芯片的內存劃分是單純放在memory_regions.scat文件里面。

這里,其實我還做了一個小動作,就是我從其他小伙伴手上拿到一份,可以工作的示例工程(這個工程是使用瑞薩的配置工具,從0到1自己配置出來的),所以它里面的內存劃分肯定是正確的。

兩個分散文件一拎出來,我一對比,就發現問題所在了:

286ebb74-cb0b-11ed-bfe3-dac502259ad0.png

image-20230324005115092

結合上一小節看到的RA2E1的內存分布,一下子就明白了,RAM的起始地址必須配置成上圖中的右邊部分。

為了快速驗證,我直接把小伙伴的分散文件替換成我本地的RA2E1工程(實則是RT-Thread倉庫的RA2L1工程)。

一編譯,同樣的0錯誤可用,然后我就快速地發起功能驗證。

3.7 皆大歡喜

看到這個小標題自然就知道,問題迎刃而解,達到了我們預期的效果:燈也照常閃了,串口也正常輸出了,RT-Thread的標志性的啟動LOG輸出也來了,一切都回到熟悉的樣子。

28909fb4-cb0b-11ed-bfe3-dac502259ad0.pngimage-20230324005532626

我也在我們致敬未來攻城獅的小群里,第一時間發布了喜訊,號召大家盡快把RT-Thread學起來。

289ea154-cb0b-11ed-bfe3-dac502259ad0.png

image-20230324005706003

對我的本次修改感興趣的可以關注我的代碼倉庫,不出意外的話,應該拉下來就能編譯、燒錄、調試、運行。有心者,請記一下這個倉庫地址:https://gitee.com/recan-li/ra4m2-rt-thread

4 小小總結

經過這幾天的計劃開展和對RA2E1的摸索,有幾點東西想總結一下:

  • 現在的就業環境可以說是非常卷,但是我能從這幫未來的攻城獅中看到上進的求知欲,滿滿的都是欣慰;能帶這樣一幫優秀的潛力股,是我的榮幸。
  • 雖然有時候會收到一些,在我看來是比較簡單的問題,但對于初學者來說,可能就是一個一時半會難以跨越的門檻,這時候就是需要同伴、老師點撥一下,受點啟發,一下子思路就打開了。
  • 學習道路總是枯燥且漫長的,尤其像這次這樣,突然就給你一個你從來就沒有見過,更沒有接觸過的東西,要你在一個月內學出點東西來,并以文檔或者視頻的方式,展示你的學習成果,這本身就是一件比較難的事情;如果你能從中克服自己的惰性,積極參與學習,同時打破自己內心的恐懼,埋下心來取堅定地學習它,并用最飽滿的熱情去輸出你的成果,這本身就是一件很鍛煉人的事情。經過這樣的一次學習訓練,將來你遇到類似的工作場景,你一定要感謝現在努力上進的你自己,因為當下培養的自學能力,你將受益一生。
  • 程序猿最怕的兩個事情:一是,要接手(學習)的項目沒有文檔;二是,自己的項目要自己去寫文檔!現在,我覺得我應該補充一句:“文檔多了,也不一定是好事,滿城盡是黃金甲,到底哪個才是你真正需要的關鍵內容,需要你的敏銳的檢索能力及專業篩選能力”。
  • 工欲善其事,必先利其器:這里指的就是開發環境,很多小伙伴就是卡在這里,無法進行下一步學習;有點夸張的說,開發環境搞好了,50%就到手了。
  • 從一堆看似無關緊要的錯誤里面尋找解決問題的線索,這也是學習和解決問題能力的一種體現,可以有意識地培養自己這方面的能力。
  • 溫故而知新,放在寫代碼是也是完全講得通的;而與此對立面就是,長時間不維護的代碼,時間一久,拉出來可能就會出莫名其妙的問題,就像本次遇到的RT-Thread主倉庫的bsp/ra2l1,拉下來,編譯20幾個錯誤,什么狀況,DDDD !

———————End———————

RT-Thread線下入門培訓

1.免費2.動手實驗+理論3.主辦方免費提供開發板4.自行攜帶電腦,及插線板用于筆記本電腦充電5.參與者需要有C語言單片機(ARM Cortex-M核)基礎,請提前安裝好RT-Thread Studio 開發環境

2913f652-cb0b-11ed-bfe3-dac502259ad0.png

立即掃碼報名

報名鏈接

https://jinshuju.net/f/UYxS2k

巡回城市:青島、北京、西安、成都、武漢、鄭州、杭州、深圳、上海、南京

你可以添加微信:rtthread2020 為好友,注明:公司+姓名,拉進RT-Thread官方微信交流群!

你也可以把文章轉給學校老師等相關人員,讓RT-Thread可以惠及更多的開發者


原文標題:工程師自述:如何將RA2E1并入到RT-Thread的主線倉庫

文章出處:【微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。


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

    關注

    31

    文章

    1273

    瀏覽量

    39925

原文標題:工程師自述:如何將RA2E1并入到RT-Thread的主線倉庫

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    RT-Thread 新里程碑達成——GitHub Star 破萬!

    RT-Thread實時操作系統開源項目在GitHub上的star數量突破一萬!截止發文,RT-Thread作為實時操作系統在業界Star數量排名第一!倉庫地址:https://github.com
    的頭像 發表于 07-04 08:35 ?399次閱讀
    <b class='flag-5'>RT-Thread</b> 新里程碑達成——GitHub Star 破萬!

    先楫半導體所有開發板已上RT-Thread主線

    目前,先楫半導體在RT-Thread主線支持的開發板包含以下這些
    的頭像 發表于 06-05 08:17 ?526次閱讀
    先楫半導體所有開發板已上<b class='flag-5'>RT-Thread</b><b class='flag-5'>主線</b>啦

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

    嵌入式軟件工程師郭占鑫老師為您講解有關技術知識和實踐經驗。通過本次workshop能深入理解RT-Thread專業版與混合部署的潛力,在RK3568平臺上提升系統實時
    的頭像 發表于 05-28 08:35 ?410次閱讀
    6月6日杭州站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    【上海】5月25日-基于恩智浦MCX N系列MCU結合RT-Thread的應用與實踐 線下培訓

    基于FRDM-MCXN947和RT-Thread的動手實踐,率先完成的同學有福利哦~同時,我們還特別設置了現場交流環節,RT-Thread和恩智浦的資深技術工程師
    的頭像 發表于 05-13 18:19 ?734次閱讀
    【上海】5月25日-基于恩智浦MCX N系列MCU結合<b class='flag-5'>RT-Thread</b>的應用與實踐 線下培訓

    5月16日南京站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    嵌入式軟件工程師郭占鑫老師為您講解有關技術知識和實踐經驗。通過本次workshop能深入理解RT-Thread專業版與混合部署的潛力,在RK3568平臺上提升系統實
    的頭像 發表于 05-01 08:35 ?331次閱讀
    5月16日南京站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    RT-Thread混合部署Workshop北京站來啦!

    嵌入式軟件工程師郭占鑫老師為您講解有關技術知識和實踐經驗。通過本次workshop能深入理解RT-Thread專業版與混合部署的潛力,在RK3568平臺上提升系統
    的頭像 發表于 04-19 08:34 ?417次閱讀
    <b class='flag-5'>RT-Thread</b>混合部署Workshop北京站來啦!

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

    嵌入式軟件工程師郭占鑫老師為您講解有關技術知識和實踐經驗。通過本次workshop能深入理解RT-Thread專業版與混合部署的潛力,在RK3568平臺上提升系統
    的頭像 發表于 04-16 08:35 ?394次閱讀
    4月25日北京站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式

    機器視覺RT-Thread Vision Board主要特點

    RT-Thread 與 瑞薩電子 攜手推出全新的硬件產品—— Vision?Board ! RT-Thread?Vision?Board 為工程師們提供了一個靈活、全面的開發平臺,助力開發者在機器
    的頭像 發表于 04-15 08:35 ?549次閱讀

    瑞薩與RT-Thread推出基于RT-Thread&amp;OpenMV的RA8人機交互方案

    瑞薩與戰略合作伙伴RT-Thread攜手于2024年2月底正式發布了全新的硬件產品——基于RT-Thread&OpenMV的RA8人機交互解決方案Vision Board。
    的頭像 發表于 04-01 14:10 ?866次閱讀
    瑞薩與<b class='flag-5'>RT-Thread</b>推出基于<b class='flag-5'>RT-Thread</b>&amp;OpenMV的<b class='flag-5'>RA</b>8人機交互方案

    4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺上實現同時運行RT-Thread和linux,本次workshop邀請到RT-Thread資深嵌入式軟件
    的頭像 發表于 03-27 11:36 ?777次閱讀
    4月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    本周三-西安!RT-Thread工程師線下見面會 &amp;amp; Vision Board動手實踐

    期待能跟社區工程師朋友們坐下來面對面聊聊天,歡迎報名!與此同時,瑞薩RA8超高算力MCU巡回技術研討會也將在西安(3月27日)進行,RT-Thread將帶領RA8
    的頭像 發表于 03-27 08:34 ?277次閱讀
    本周三-西安!<b class='flag-5'>RT-Thread</b><b class='flag-5'>工程師</b>線下見面會 &amp;amp; Vision Board動手實踐

    4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    嵌入式軟件工程師農曉明老師為您講解有關技術知識和實踐經驗。通過本次workshop能深入理解RT-Thread專業版與混合部署的潛力,在RK3568平臺上提升系統實
    的頭像 發表于 03-27 08:34 ?494次閱讀
    4月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    3月27日-西安!RT-Thread工程師Meetup &amp;amp; Vision Board動手實踐

    期待能跟社區工程師朋友們坐下來面對面聊聊天,歡迎報名!與此同時,瑞薩RA8超高算力MCU巡回技術研討會也將在西安(3月27日)進行,RT-Thread將帶領RA8
    的頭像 發表于 03-25 08:34 ?350次閱讀
    3月27日-西安!<b class='flag-5'>RT-Thread</b><b class='flag-5'>工程師</b>Meetup &amp;amp; Vision Board動手實踐

    使用SystemView工具分析瑞薩RA6M4芯片上RT-Thread的運行情況

    使用SystemView工具分析瑞薩RA6M4芯片上RT-Thread的運行情況
    的頭像 發表于 12-11 17:23 ?553次閱讀
    使用SystemView工具分析瑞薩<b class='flag-5'>RA</b>6M4芯片上<b class='flag-5'>RT-Thread</b>的運行情況

    RA6M3 RT-Thread* LVGL HMI Board開發實踐指南-GPIO實踐

    RT-Thread即將發布一系列RA6M3外設驅動的實踐指南,我們將使用瑞薩RA6M3 HMI-Board 開發板,帶領大家上手RT-Thread設備驅動, 本篇文章
    的頭像 發表于 11-30 19:05 ?1175次閱讀
    <b class='flag-5'>RA</b>6M3 <b class='flag-5'>RT-Thread</b>* LVGL HMI Board開發實踐指南-GPIO實踐