久久久国产精品视频袁燕,99re久久精品国产,亚洲欧美日韩国产综合v,天天躁夜夜躁狠狠久久,激情五月婷婷激情五月婷婷

  • 回復(fù)
  • 收藏
  • 點(diǎn)贊
  • 分享
  • 發(fā)新帖

【RT-thread學(xué)習(xí)記】:硬件準(zhǔn)備篇。。。

2019年新的開(kāi)始,先祝大家新年快樂(lè),祝電源網(wǎng)的筒子們新年心想事成,加油前行。。。

接下來(lái),還是繼續(xù)RTT的小說(shuō)之路吧,從事物聯(lián)網(wǎng)有一段時(shí)間了,說(shuō)實(shí)話,依舊沒(méi)有擺脫原有的模式,RTT是我心儀已久的一個(gè)平臺(tái),光理論不知準(zhǔn)備了多久,假如不開(kāi)始真的應(yīng)用到項(xiàng)目中(工作中是沒(méi)機(jī)會(huì)了),學(xué)習(xí)也就只能停留在學(xué)習(xí)的階段了,然而這樣沒(méi)什么意義,所以準(zhǔn)備基于硬件進(jìn)行模擬實(shí)戰(zhàn),將真實(shí)的項(xiàng)目真正的移植到RTT平臺(tái)上,過(guò)程肯定充滿了曲折,但是買不起的耐克先生有一句名言,just do it(干他~!?。。?/span>

新的平臺(tái)已經(jīng)選好,祭出我珍藏已久的麒麟開(kāi)發(fā)板,真真正正從裸機(jī)到RTT上的搬遷。

老習(xí)慣,上一張圖震一下,希望大家有所收獲,邊學(xué)變行吧。

全部回復(fù)(16)
正序查看
倒序查看
2019-01-28 10:01
沙發(fā),坐等飛飛開(kāi)講
0
回復(fù)
2019-01-28 10:48
@電源網(wǎng)-璐璐
沙發(fā),坐等飛飛開(kāi)講[圖片]
準(zhǔn)備開(kāi)講。。。
0
回復(fù)
2019-02-09 22:45
0
回復(fù)
2019-02-09 23:00
@程序小白
[圖片]
其實(shí)選這一款開(kāi)發(fā)板來(lái)做移植的硬件平臺(tái)是別有用心的,

用心有仨,首先先講其一吧,RTT的移植,假如你只用內(nèi)核部分,可以選擇nano版本,據(jù)說(shuō)是很小的rom 和ram 開(kāi)銷,能夠做到幾K級(jí)別,但是對(duì)于物聯(lián)網(wǎng)操作系統(tǒng)來(lái)講,這是遠(yuǎn)遠(yuǎn)不夠的,我實(shí)際做過(guò)移植,假如假如了finsh組件,再加點(diǎn)別的管理,其大小就奔著幾十K去了,所以你想全功能的來(lái)體驗(yàn)就得選高性能的片子,大內(nèi)存是關(guān)鍵,就像你玩手機(jī)游戲,假如手機(jī)配置低,你就沒(méi)辦法體驗(yàn)這個(gè)游戲給你帶來(lái)的所有樂(lè)趣,特效只能開(kāi)低點(diǎn),保證硬件吃得消,所以這里我們看下這款開(kāi)發(fā)板的核心:

打開(kāi)cube,輸入型號(hào),就會(huì)發(fā)現(xiàn)這個(gè)芯片有多強(qiáng)悍(在單片機(jī)的領(lǐng)域):

這個(gè)容量足以支撐RTT的移植和實(shí)驗(yàn)了。

0
回復(fù)
2019-02-09 23:12
@程序小白
其實(shí)選這一款開(kāi)發(fā)板來(lái)做移植的硬件平臺(tái)是別有用心的,用心有仨,首先先講其一吧,RTT的移植,假如你只用內(nèi)核部分,可以選擇nano版本,據(jù)說(shuō)是很小的rom和ram開(kāi)銷,能夠做到幾K級(jí)別,但是對(duì)于物聯(lián)網(wǎng)操作系統(tǒng)來(lái)講,這是遠(yuǎn)遠(yuǎn)不夠的,我實(shí)際做過(guò)移植,假如假如了finsh組件,再加點(diǎn)別的管理,其大小就奔著幾十K去了,所以你想全功能的來(lái)體驗(yàn)就得選高性能的片子,大內(nèi)存是關(guān)鍵,就像你玩手機(jī)游戲,假如手機(jī)配置低,你就沒(méi)辦法體驗(yàn)這個(gè)游戲給你帶來(lái)的所有樂(lè)趣,特效只能開(kāi)低點(diǎn),保證硬件吃得消,所以這里我們看下這款開(kāi)發(fā)板的核心:[圖片]打開(kāi)cube,輸入型號(hào),就會(huì)發(fā)現(xiàn)這個(gè)芯片有多強(qiáng)悍(在單片機(jī)的領(lǐng)域):[圖片]這個(gè)容量足以支撐RTT的移植和實(shí)驗(yàn)了。

接下來(lái)繼續(xù)我們其二的原因:選用這款開(kāi)發(fā)板主要因素在于它集成了2G模組M6311(雖然有點(diǎn)過(guò)時(shí))和wifi模組(ESP8266,最火沒(méi)有之一),這樣我們可以體驗(yàn)下AT組件如何應(yīng)用,有了對(duì)應(yīng)的外設(shè),就可以展示RTT真正的優(yōu)勢(shì)(假設(shè)它真的很有優(yōu)勢(shì)在物聯(lián)網(wǎng)應(yīng)用當(dāng)中),接下來(lái)看看相應(yīng)的原理圖。

記得,在使用2G模組時(shí)候,還需要搞一張2G的sim卡.


0
回復(fù)
2019-02-09 23:17
@程序小白
接下來(lái)繼續(xù)我們其二的原因:選用這款開(kāi)發(fā)板主要因素在于它集成了2G模組M6311(雖然有點(diǎn)過(guò)時(shí))和wifi模組(ESP8266,最火沒(méi)有之一),這樣我們可以體驗(yàn)下AT組件如何應(yīng)用,有了對(duì)應(yīng)的外設(shè),就可以展示RTT真正的優(yōu)勢(shì)(假設(shè)它真的很有優(yōu)勢(shì)在物聯(lián)網(wǎng)應(yīng)用當(dāng)中),接下來(lái)看看相應(yīng)的原理圖。[圖片][圖片]記得,在使用2G模組時(shí)候,還需要搞一張2G的sim卡.

選用原因其三:除了核心的外設(shè)以外,這款開(kāi)發(fā)板,還提供一些例如按鍵,指示燈的簡(jiǎn)單外設(shè),有利于我們測(cè)試內(nèi)核功能,除此之外,采用4pin的SW仿真接口,讓我也不需要額外制作通訊線,省了不少的麻煩,總體來(lái)講還是個(gè)不錯(cuò)的選擇,可以做一些應(yīng)用級(jí)的開(kāi)發(fā)了,接下里在介紹一些實(shí)用必備的工具,就基本可以體驗(yàn)這款開(kāi)發(fā)板了,今天先到這里吧,有點(diǎn)點(diǎn)晚了,睡覺(jué),明天開(kāi)工。


0
回復(fù)
2019-02-10 15:43
@程序小白
選用原因其三:除了核心的外設(shè)以外,這款開(kāi)發(fā)板,還提供一些例如按鍵,指示燈的簡(jiǎn)單外設(shè),有利于我們測(cè)試內(nèi)核功能,除此之外,采用4pin的SW仿真接口,讓我也不需要額外制作通訊線,省了不少的麻煩,總體來(lái)講還是個(gè)不錯(cuò)的選擇,可以做一些應(yīng)用級(jí)的開(kāi)發(fā)了,接下里在介紹一些實(shí)用必備的工具,就基本可以體驗(yàn)這款開(kāi)發(fā)板了,今天先到這里吧,有點(diǎn)點(diǎn)晚了,睡覺(jué),明天開(kāi)工。

還有一些不錯(cuò)的設(shè)計(jì),這里介紹下,一個(gè)串口通過(guò)跳線帽選擇不同的外設(shè)進(jìn)行使用,這個(gè)功能在我們?cè)O(shè)計(jì)的產(chǎn)品上也有用過(guò),但是沒(méi)有倫家畫的原理圖畫的漂亮。

0
回復(fù)
2019-02-10 15:50
@程序小白
還有一些不錯(cuò)的設(shè)計(jì),這里介紹下,一個(gè)串口通過(guò)跳線帽選擇不同的外設(shè)進(jìn)行使用,這個(gè)功能在我們?cè)O(shè)計(jì)的產(chǎn)品上也有用過(guò),但是沒(méi)有倫家畫的原理圖畫的漂亮。[圖片]

接下來(lái)開(kāi)發(fā)板做了IO口的擴(kuò)展,用的應(yīng)該是2.54間距的排針,我猜,這樣用杜邦線直接引出玩耍,不用焊接,更加方便使用。

0
回復(fù)
2019-02-10 15:58
@程序小白
接下來(lái)開(kāi)發(fā)板做了IO口的擴(kuò)展,用的應(yīng)該是2.54間距的排針,我猜,這樣用杜邦線直接引出玩耍,不用焊接,更加方便使用。[圖片]

接下來(lái)是SW仿真接口,這里在dio和clk上加了上拉和下拉,說(shuō)實(shí)話不太明白為啥子要加,我的好像一罐沒(méi)加,有只曉得來(lái)個(gè)解答,先這么用吧,能work 就行。

0
回復(fù)
2019-02-10 16:14
@程序小白
接下來(lái)是SW仿真接口,這里在dio和clk上加了上拉和下拉,說(shuō)實(shí)話不太明白為啥子要加,我的好像一罐沒(méi)加,有只曉得來(lái)個(gè)解答,先這么用吧,能work就行。[圖片]

在進(jìn)行RTT適配以前,這里還有個(gè)很關(guān)鍵的因素,就是RTT有個(gè)很核心的組件FINSH,需要用到串口外設(shè),所以一定要預(yù)留個(gè)串口可以進(jìn)行調(diào)試,而這款開(kāi)發(fā)板的大部分串口都被占用了,這里不得不占用下debug的串口,這里的debug串口是給M6311進(jìn)行固件更新用的,如果不更新固件,用最原始的固件,直接占用就好,需要更新固件的時(shí)候再禁用finsh就好,略有麻煩。

0
回復(fù)
2019-02-16 11:03
@程序小白
在進(jìn)行RTT適配以前,這里還有個(gè)很關(guān)鍵的因素,就是RTT有個(gè)很核心的組件FINSH,需要用到串口外設(shè),所以一定要預(yù)留個(gè)串口可以進(jìn)行調(diào)試,而這款開(kāi)發(fā)板的大部分串口都被占用了,這里不得不占用下debug的串口,這里的debug串口是給M6311進(jìn)行固件更新用的,如果不更新固件,用最原始的固件,直接占用就好,需要更新固件的時(shí)候再禁用finsh就好,略有麻煩。[圖片]
開(kāi)發(fā)板的資源已經(jīng)介紹完了,當(dāng)然你也可以用其它的開(kāi)發(fā)板或者自己話塊板子來(lái)玩,這里建議用的MCU芯片,盡量容量選大一些,不論是RAM還是ROM,事實(shí)上現(xiàn)在看著很貴的芯片,過(guò)兩年可能就便宜了,容量大了才能帶你體驗(yàn)RTT全部的功能和優(yōu)勢(shì),除了一塊開(kāi)發(fā)板,還需要軟件仿真其,這里我選的是STLInk(便宜好用),在準(zhǔn)備一套USB轉(zhuǎn)串口或者TTL的工具,這樣你就可以通過(guò)shell進(jìn)行交互了?;居布?zhǔn)備篇就到這里了,肉和菜都準(zhǔn)備好了,接下來(lái)開(kāi)啟工具介紹和移植篇吧。
0
回復(fù)
2019-03-03 17:21
@程序小白
開(kāi)發(fā)板的資源已經(jīng)介紹完了,當(dāng)然你也可以用其它的開(kāi)發(fā)板或者自己話塊板子來(lái)玩,這里建議用的MCU芯片,盡量容量選大一些,不論是RAM還是ROM,事實(shí)上現(xiàn)在看著很貴的芯片,過(guò)兩年可能就便宜了,容量大了才能帶你體驗(yàn)RTT全部的功能和優(yōu)勢(shì),除了一塊開(kāi)發(fā)板,還需要軟件仿真其,這里我選的是STLInk(便宜好用),在準(zhǔn)備一套USB轉(zhuǎn)串口或者TTL的工具,這樣你就可以通過(guò)shell進(jìn)行交互了?;居布?zhǔn)備篇就到這里了,肉和菜都準(zhǔn)備好了,接下來(lái)開(kāi)啟工具介紹和移植篇吧。

因周末無(wú)法開(kāi)新帖,接下來(lái)會(huì)介紹RTT最重要的一個(gè)組件,調(diào)試神器的finsh組件,如何對(duì)RTT進(jìn)行調(diào)試,開(kāi)啟這個(gè)功能需要占用一個(gè)串口資源,但對(duì)于一個(gè)os來(lái)講,你無(wú)法通過(guò)傳統(tǒng)的方式進(jìn)行調(diào)試,因很多不存在全局的概念,無(wú)法采用watch在線測(cè)試,例如線程棧的使用率,縣城的個(gè)數(shù)運(yùn)行態(tài),動(dòng)態(tài)內(nèi)存情況等。這些概念在裸機(jī)里面是沒(méi)有的,但是到了os,這些都是核心的核心,必須掌握如何查看,跟蹤,分析系統(tǒng)是否在可控范圍內(nèi)運(yùn)行。

在測(cè)試的時(shí)候需要準(zhǔn)備一個(gè)usb轉(zhuǎn)串口的工具,至于是TTL、232、還是485,取決于你系統(tǒng)板的接口方式,此外準(zhǔn)備一臺(tái)電腦,串口小助手,核心板,準(zhǔn)備好,我們就可以開(kāi)工啦,還有杜邦線準(zhǔn)備一些,用于通信連接。

理論是這樣的:

實(shí)際是這樣的:


0
回復(fù)
2019-03-03 17:35
@程序小白
因周末無(wú)法開(kāi)新帖,接下來(lái)會(huì)介紹RTT最重要的一個(gè)組件,調(diào)試神器的finsh組件,如何對(duì)RTT進(jìn)行調(diào)試,開(kāi)啟這個(gè)功能需要占用一個(gè)串口資源,但對(duì)于一個(gè)os來(lái)講,你無(wú)法通過(guò)傳統(tǒng)的方式進(jìn)行調(diào)試,因很多不存在全局的概念,無(wú)法采用watch在線測(cè)試,例如線程棧的使用率,縣城的個(gè)數(shù)運(yùn)行態(tài),動(dòng)態(tài)內(nèi)存情況等。這些概念在裸機(jī)里面是沒(méi)有的,但是到了os,這些都是核心的核心,必須掌握如何查看,跟蹤,分析系統(tǒng)是否在可控范圍內(nèi)運(yùn)行。在測(cè)試的時(shí)候需要準(zhǔn)備一個(gè)usb轉(zhuǎn)串口的工具,至于是TTL、232、還是485,取決于你系統(tǒng)板的接口方式,此外準(zhǔn)備一臺(tái)電腦,串口小助手,核心板,準(zhǔn)備好,我們就可以開(kāi)工啦,還有杜邦線準(zhǔn)備一些,用于通信連接。理論是這樣的:[圖片]實(shí)際是這樣的:[圖片]

在進(jìn)行finsh組件體驗(yàn)之前,有幾個(gè)事兒還是要做的,首先保證硬件串口是正確的,不然你一上來(lái)就移植,遇到無(wú)法開(kāi)啟finsh的時(shí)候,可能會(huì)一頭亂麻,這里用的USB轉(zhuǎn)TTL實(shí)際上也是一塊wifi 的開(kāi)發(fā)板,可惜搞壞了,就把wifi模組拆掉了,當(dāng)個(gè)串口助手先用吧,市面上賣的那種可能相對(duì)很便宜,尺寸類似一個(gè)U盤大小,盡量買好點(diǎn)的不要圖便宜,否則光在電腦驅(qū)動(dòng)這塊會(huì)讓你瘋狂,確保三個(gè)點(diǎn):

1.

2.

3.

總結(jié)下:1,正常上電

             2,驅(qū)動(dòng)安裝正常

             3,短接開(kāi)發(fā)板的發(fā)送接收,用串口助手發(fā)送數(shù)據(jù),能收到一樣的數(shù)據(jù),證明硬件沒(méi)有問(wèn)題。

0
回復(fù)
2019-03-03 20:33
@程序小白
在進(jìn)行finsh組件體驗(yàn)之前,有幾個(gè)事兒還是要做的,首先保證硬件串口是正確的,不然你一上來(lái)就移植,遇到無(wú)法開(kāi)啟finsh的時(shí)候,可能會(huì)一頭亂麻,這里用的USB轉(zhuǎn)TTL實(shí)際上也是一塊wifi的開(kāi)發(fā)板,可惜搞壞了,就把wifi模組拆掉了,當(dāng)個(gè)串口助手先用吧,市面上賣的那種可能相對(duì)很便宜,尺寸類似一個(gè)U盤大小,盡量買好點(diǎn)的不要圖便宜,否則光在電腦驅(qū)動(dòng)這塊會(huì)讓你瘋狂,確保三個(gè)點(diǎn):1.[圖片]2.[圖片]3.[圖片]總結(jié)下:1,正常上電            2,驅(qū)動(dòng)安裝正常             3,短接開(kāi)發(fā)板的發(fā)送接收,用串口助手發(fā)送數(shù)據(jù),能收到一樣的數(shù)據(jù),證明硬件沒(méi)有問(wèn)題。

接下來(lái)使用ENV工具裁剪os并燒錄到目標(biāo)開(kāi)發(fā)板中:

0
回復(fù)
2019-03-03 20:44
@程序小白
接下來(lái)使用ENV工具裁剪os并燒錄到目標(biāo)開(kāi)發(fā)板中:[圖片][圖片][圖片][圖片][圖片][圖片]

中間的調(diào)試過(guò)程基本省掉了,其實(shí)遇到了兩個(gè)坑,首先編譯完以后,下載到目標(biāo)板上以后,串口并沒(méi)有返回任何信息,這時(shí)候從驅(qū)動(dòng),都接線做了全面的檢查,存在倆問(wèn)題,一個(gè)接線TX RX不對(duì),第二個(gè)問(wèn)題是電腦端并沒(méi)有裝好有效驅(qū)動(dòng),按照測(cè)試串口轉(zhuǎn)換板的測(cè)試步驟進(jìn)行了逐一排查,解決掉兩個(gè)問(wèn)題,第二個(gè)問(wèn)題是在進(jìn)行通信時(shí)發(fā)現(xiàn),出現(xiàn)亂碼問(wèn)題,這里需要校驗(yàn)一下串口的設(shè)置問(wèn)題,然后對(duì)照一下程序中的配置是否正確,這里忽略了一個(gè)很重要的問(wèn)題就是時(shí)鐘的配置,開(kāi)發(fā)板時(shí)鐘的配置,在ENV中默認(rèn)設(shè)置時(shí)外部8M的晶振,而實(shí)際我們用到的是12M晶振,導(dǎo)致無(wú)論怎樣配置波特率都會(huì)出現(xiàn)亂碼的現(xiàn)象,因?yàn)椴ㄌ芈时旧砭褪遣粶?zhǔn)的,更改時(shí)鐘項(xiàng)以后,就解決了,最后來(lái)一張圖看下成果:

0
回復(fù)
2019-03-03 20:52
@程序小白
中間的調(diào)試過(guò)程基本省掉了,其實(shí)遇到了兩個(gè)坑,首先編譯完以后,下載到目標(biāo)板上以后,串口并沒(méi)有返回任何信息,這時(shí)候從驅(qū)動(dòng),都接線做了全面的檢查,存在倆問(wèn)題,一個(gè)接線TXRX不對(duì),第二個(gè)問(wèn)題是電腦端并沒(méi)有裝好有效驅(qū)動(dòng),按照測(cè)試串口轉(zhuǎn)換板的測(cè)試步驟進(jìn)行了逐一排查,解決掉兩個(gè)問(wèn)題,第二個(gè)問(wèn)題是在進(jìn)行通信時(shí)發(fā)現(xiàn),出現(xiàn)亂碼問(wèn)題,這里需要校驗(yàn)一下串口的設(shè)置問(wèn)題,然后對(duì)照一下程序中的配置是否正確,這里忽略了一個(gè)很重要的問(wèn)題就是時(shí)鐘的配置,開(kāi)發(fā)板時(shí)鐘的配置,在ENV中默認(rèn)設(shè)置時(shí)外部8M的晶振,而實(shí)際我們用到的是12M晶振,導(dǎo)致無(wú)論怎樣配置波特率都會(huì)出現(xiàn)亂碼的現(xiàn)象,因?yàn)椴ㄌ芈时旧砭褪遣粶?zhǔn)的,更改時(shí)鐘項(xiàng)以后,就解決了,最后來(lái)一張圖看下成果:[圖片]

到上面已經(jīng)完成了從硬件平臺(tái)的選用,接口調(diào)試,搭建,到RTT的ENV工具裁剪,編譯生成MDK工程,到燒錄到目標(biāo)板,到最終的測(cè)試調(diào)試完畢,finsh功能正常使用,finsh的核心還沒(méi)有講,這里點(diǎn)一個(gè)吧,在創(chuàng)建線程時(shí)候,需要給每個(gè)線程開(kāi)一個(gè)線程棧,加入開(kāi)的小了容易導(dǎo)致線程溢出異常,開(kāi)的大了又浪費(fèi)硬件資源,如何合理的定義一個(gè)線程棧的大小呢,這里的策略就是先開(kāi)個(gè)大的,然后讓程序跑起來(lái),通過(guò)finsh組件查詢當(dāng)前存在的線程及其線程棧的使用率,然后合理的縮小線程棧的大小,這只是finsh組件的一個(gè)功能,它是調(diào)試RTT必備的組件,所以還是必須要用的,假如你想更好的發(fā)揮RTT:

0
回復(fù)
發(fā)