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

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

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

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

如何在rt-smart簡化應(yīng)用程序開發(fā)

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 作者:RTThread物聯(lián)網(wǎng)操作 ? 2022-01-04 15:59 ? 次閱讀

簡介

RT-Thread Smart做為一個“新”的系統(tǒng),在開發(fā)上相比原來的RT-Thread模式還是存在著挺大的不同。原來的RT-Thread開發(fā),是把相關(guān)的應(yīng)用都寫入到內(nèi)核中,最終編譯在一個映像中進行運行,基本的過程就是編寫代碼,編譯,燒寫,運行或調(diào)試。而內(nèi)核和應(yīng)用獨立的開發(fā)方式則是,內(nèi)核相對穩(wěn)定、固定,改動的基本上都是應(yīng)用程序。所以一般是編寫應(yīng)用程序,編譯,然后通過一定的方式放入到目標板上進行運行。這個也是Linux的一貫思路、方式,會有一個把應(yīng)用程序放入到目標板的過程,Linux下可以是NFS網(wǎng)絡(luò)文件系統(tǒng)的方式,然后調(diào)試也并不是都具備,或者有的時候使用命令行的gdb調(diào)試模式等<唔,有些些復(fù)雜>。

在rt-smart上也一直在思考如何簡化應(yīng)用程序開發(fā),最初的有RT-Thread Studio集成開發(fā)環(huán)境,基本上可以做到創(chuàng)建應(yīng)用程序,編譯,調(diào)試的完整過程。但隨著rt-smart的往后延申、發(fā)展,因為它同時也提供了完整POSIX環(huán)境,可以把Linux的一些應(yīng)用程序無縫地移植到rt-smart上,在編譯的時候更好的方式是在Linux下進行。這個時候只支持Windows的RT-Thread Studio就有些沒那么很好的滿足要求了。而同時VS Code還有運行在Windows主機,遠程ssh穿越到Linux的模式,這樣使用VS Code無疑會是一種便利并小巧的模式。在這樣的考慮下,那么是否可以有一份簡單的VS Code插件,把開發(fā)變得更簡單。

不服就干,一鍵,編譯/下載/調(diào)試,三連擊!

VS Code的RT-Thread Smart插件介紹

在這樣的想法下,VS Code下的RT-Thread Smart插件擴展就出爐了,簡單就是它的方式,支持的功能包括:

l創(chuàng)建 RT-Thread Smart 工程

l支持 CMake、Make、scons 等構(gòu)建方式

l支持清理工程

l支持一鍵下載、調(diào)試

l支持在不同的平臺,例如Linux、Windows下進行開發(fā)

安裝VS Code RT-Thread Smart插件

在使用RT-Thread Smart插件時,首先是需要在VS Code中安裝它。目前VS Code RT-Thread Smart插件已經(jīng)上傳到VS Code市場,所以安裝非常方便,可以直接在VS Code 的擴展市場中搜索 RT-Thread Smart,點擊安裝即可:

下面我們配合著運行RT-Thread Smart的ARM Cortex-A7開發(fā)板,ART-pi smart來使用、體驗一番吧。

搭建ART-Pi Smart環(huán)境

硬件環(huán)境搭建

● 串口連接:下方的 USB Type-C 接口,既是用作電源供電,同時也是 USB 轉(zhuǎn) UART 接口,主要用于系統(tǒng)的控制臺命令行交互,包括控制臺輸入和輸出

●網(wǎng)絡(luò)接口:通過路由器和網(wǎng)線(或者通過板載的 RW007 WiFi 模塊),將開發(fā)板和測試電腦連接在同一個局域網(wǎng)內(nèi)

(ART-Pi Smart開發(fā)板具備串口USB Type-C供電的功能,但如果你需要跑更復(fù)雜的液晶屏應(yīng)用時,可能會出現(xiàn)供電不足的問題,這個時候可以外接USB Type-C到USB接口的方式來解決供電的問題)

準備軟件環(huán)境

(以下鏈接請復(fù)制至外部瀏覽器打開)

要在ART-Pi Smart上運行RT-Thread Smart系統(tǒng),需要下載ART-Pi Smart開發(fā)板SDK及工具鏈并進行安裝。開發(fā)板的SDK放在gitee倉庫中,它主要包括 RT-Thread Smart 操作系統(tǒng)的源碼,BSP 驅(qū)動,應(yīng)用程序 demo 等。可以通過 Git 方式下載 ART-Pi Smart SDK 包(Windows、Linux都可以):

git clone https://gitee.com/rtthread/ART-Pi-smart.git

RT-Thread Smart的工具鏈是基于musl libc的GNU GCC工具鏈,其中還包括了針對內(nèi)核的libc以及用戶態(tài)針對應(yīng)用程序的libc。用戶可以根據(jù)自己的開發(fā)平臺(Linux,Windows)情況來選擇不同版本的工具鏈,下載鏈接是:

https://pan.baidu.com/s/1p7PRhV3dTGIb7hxv34YWYw

提取碼: ndxq

在下載工具鏈后,需要把它解壓到ART-Pi smart SDK的/tools/gnu_gcc路徑下。

另外在ART-Pi smart開發(fā)板的eMMC內(nèi)已經(jīng)固化了一個rt-smart 內(nèi)核固件,可以上電直接開機使用(如果希望下載自己編譯的內(nèi)核,可以通過u-boot + tftp 或 usb 方式加載運行)

小試牛刀寫個應(yīng)用程序試試

這里將以 Windows 環(huán)境下使用 VS Code 開發(fā) rt-smart 用戶應(yīng)用程序為例來體驗VS Code的RT-Thread Smart插件擴展。

創(chuàng)建工程

在 VS Code 上使用Ctrlt+Shift+P快捷鍵,輸入 RT-Thread 關(guān)鍵字,選擇“創(chuàng)建 RT-Thread Smart 工程”, 然后按提示執(zhí)行以下操作:

● 輸入ART-Pi Smart的SDK 根目錄

● 輸入工程名稱

●選擇構(gòu)建方式

Linux 平臺支持 CMake、Make、scons 等構(gòu)建工具

Windows 平臺支持 scons 構(gòu)建工具

以 Windows 環(huán)境下使用 VS Code 開發(fā) rt-smart 用戶應(yīng)用程序為例

添加用戶功能代碼

用戶應(yīng)用,我們來點個LED燈:

 1#include
 2
 3#include
 4
 5#include
 6
 7
 8#defineGET_PIN(PORTx,PIN)(32*(PORTx-1)+(PIN&31))
 9
10#defineLED_PINGET_PIN(5,3)
11
12
13
14structrt_device_pin_mode
15
16{
17
18rt_uint16_tpin;
19
20rt_uint16_tmode;
21
22};
23
24structrt_device_pin_status
25
26{
27
28rt_uint16_tpin;
29
30rt_uint16_tstatus;
31
32};
33
34
35intmain(intargc,char**argv)
36
37{
38
39rt_device_tpin_dev;
40
41structrt_device_pin_modepin_mode;
42
43structrt_device_pin_statuspin_status;
44
45
46rt_kprintf("helloworld!
");
47
48
49
50pin_dev=rt_device_find("pin");
51
52rt_device_open(pin_dev,RT_DEVICE_OFLAG_RDWR);
53
54pin_mode.pin=LED_PIN;
55
56pin_mode.mode=0;
57
58
59rt_device_control(pin_dev,0,(void*)&pin_mode);
60
61pin_status.pin=LED_PIN;
62
63
64pin_status.status=1;//closeled
65
66rt_device_write(pin_dev,0,(void*)&pin_status,sizeof(pin_status));
67
68rt_thread_mdelay(200);
69
70
71pin_status.status=0;//openled
72
73rt_device_write(pin_dev,0,(void*)&pin_status,sizeof(pin_status));
74
75
76rt_device_close(pin_dev);
77
78return0;
79
80}

編譯應(yīng)用程序

1. 點擊 VS Code 左下角的“編譯”、“清理”、“下載” 狀態(tài)欄,會自動執(zhí)行編譯工程、清理工程、下載用戶 APP 固件文件到開發(fā)板,這里我們選擇編譯功能。

2.編譯通過后,會自動生成用戶APP 固件,默認的名稱是hello.elf

GDB 在線調(diào)試

為了更好的支持應(yīng)用程序調(diào)試,在RT-Thread Smart內(nèi)核中運行了一個GDB調(diào)試樁,可以通過它來調(diào)試用戶態(tài)應(yīng)用程序,源碼級調(diào)試。這種方式也是一種軟調(diào)試,免仿真器,而和PC主機連接則可以使用TCP網(wǎng)絡(luò)連接或者串口連接,未來在RT-Thread Smart上還會支持USB連接。

在使用VS Code插件創(chuàng)建rt-smart應(yīng)用程序時,它會默認把相關(guān)的配置都預(yù)先設(shè)置好,對于調(diào)試來說,主要會有個板卡的IP地址設(shè)置,這點需要多注意到。在ART-Pi smart開發(fā)板上,可以通過命令行命令ifconfig來獲得板卡的IP地址。

在 VS Code 上直接按 F5 快捷鍵, 即可啟動 GDB 在線調(diào)試 rt-smart 用戶應(yīng)用程序。如下圖所示,進入調(diào)試模式之后,VS Code 左側(cè)會自動跳轉(zhuǎn)到 “運行和調(diào)試” 視圖,可以查看變量、監(jiān)視變量、查看調(diào)用堆棧、設(shè)置斷點等常用調(diào)試功能。

在調(diào)試的過程中,我們也可以看到板卡上的LED燈在閃爍。

最后我們用一個連貫的短視頻來結(jié)束整個過程

視頻內(nèi)容(操作順序):啟動 rt-smart 內(nèi)核、安裝 C/C++ 插件、RT-Thread Smart 插件、Windows 下創(chuàng)建 rt-smart 用戶應(yīng)用程序(scons)、修改用戶代碼(增加 GPIO LED 控制)、編譯、下載、GDB 在線調(diào)試等操作。

通過這樣的方式,我們是不是發(fā)現(xiàn)這個開發(fā)方式很簡單,有些類似MCU上的Keil MDK/IAR的開發(fā)模式?編寫程序,編譯/燒寫/調(diào)試。非常簡潔,可以避免一些Linux初學(xué)者對于如何編譯程序,并把它下載運行的迷茫。

在后續(xù)中,RT-Thread Smart及VS Code插件還會不斷升級,包括對USB的支持,對Linux下一般應(yīng)用程序,編譯/調(diào)試的支持,后續(xù)見!

RT-Thread Smart 交流平臺

如果遇到什么問題需要協(xié)助,或有什么建議和意見需要反饋的,可以加入 ART-Pi Smart 官方交流 QQ 群或者登錄論壇的 rt-smart 板塊發(fā)帖反饋。

ART-Pi Smart :

https://art-pi.gitee.io/smart-website/

ART-Pi Smart SDK :

https://gitee.com/rtthread/ART-Pi-smart

ART-Pi Smart 官方交流 QQ 群 :622828244

rt-smart 論壇板塊(發(fā)帖反饋):

https://club.rt-thread.org/ask/tag/1339.html

原文標題:如何使用 VSCode 開發(fā) RT-Thread Smart 應(yīng)用程序

文章出處:【微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:彭菁

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

    關(guān)注

    3

    文章

    3503

    瀏覽量

    87889
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    37

    文章

    3198

    瀏覽量

    57363
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1239

    瀏覽量

    39438

原文標題:如何使用 VSCode 開發(fā) RT-Thread Smart 應(yīng)用程序

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    通過Uboot?TFTP啟動rt-smart內(nèi)核

    介紹Windows下通過 Uboot??TFTP 方式下載和啟動rt-smart 內(nèi)核
    的頭像 發(fā)表于 06-30 12:34 ?3504次閱讀
    通過Uboot?TFTP啟動<b class='flag-5'>rt-smart</b>內(nèi)核

    RT-Smart的資料合集

    可知,RT-Smart 32 位內(nèi)核運行在地址空間的高地址,而用戶程序代碼運行在低地址。2、RT-Smart物理頁內(nèi)存管理詳解伙伴系統(tǒng)在現(xiàn)代操作系統(tǒng)中被廣泛地用于分配連續(xù)的物理內(nèi)存頁。其基本思想是將物理
    發(fā)表于 03-22 15:06

    分析一下在rt-smart操作系統(tǒng)中將一個應(yīng)用程序運行起來要經(jīng)過哪些步驟

    1、RT-Smart ELF 應(yīng)用程序加載運行在用戶態(tài)應(yīng)用程序處理的任務(wù)中,elf 加載運行是一個比較重要的步驟,下面就分析一下在 rt-smart 操作系統(tǒng)中,想要將一個
    發(fā)表于 04-13 17:17

    rt-smart操作系統(tǒng)中將ELF應(yīng)用程序運行起來要經(jīng)過哪些步驟

    1、RT-Smart ELF應(yīng)用程序加載運行在用戶態(tài)應(yīng)用程序處理的任務(wù)中,elf 加載運行是一個比較重要的步驟,下面就分析一下在 rt-smart 操作系統(tǒng)中,想要將一個
    發(fā)表于 06-13 18:18

    rt-smart應(yīng)用程序系統(tǒng)調(diào)用實現(xiàn)過程是怎么樣的?

    rt-smart應(yīng)用程序系統(tǒng)調(diào)用實現(xiàn)過程是怎么樣的? 比如open時候怎么一步一步切換到內(nèi)核態(tài)的?
    發(fā)表于 09-08 17:00

    樹莓派上rt-smart的應(yīng)用編程入門

    文章,一些介紹及樹莓派上rt-smart的應(yīng)用編程入門(更多的從應(yīng)用程序角度入手)。后續(xù)還包括在rt-smart上的不同應(yīng)用程序介紹: wget curl移植 busybox移植 sd
    的頭像 發(fā)表于 05-13 14:10 ?2980次閱讀
    樹莓派上<b class='flag-5'>rt-smart</b>的應(yīng)用編程入門

    rt-smart移植分析:從樹莓派3b入手

    移植rt-smart到最新的板子上具體需要注意哪些細節(jié),哪些才是移植rt-smart的關(guān)鍵點?本文從樹莓派3b上移植rt-smart的角度,從頭分析rt-sm...
    發(fā)表于 01-25 18:48 ?0次下載
    <b class='flag-5'>rt-smart</b>移植分析:從樹莓派3b入手

    rt-thread驅(qū)動框架分析》-lcd驅(qū)動

    首發(fā):Rice 嵌入式開發(fā)技術(shù)分享作者:RiceDIY簡介rt-smart相關(guān)文章《rt-smart的第一個應(yīng)用程序,imx6ull用戶態(tài)點燈》《r
    發(fā)表于 01-25 19:24 ?1次下載
    《<b class='flag-5'>rt</b>-thread驅(qū)動框架分析》-lcd驅(qū)動

    RT-Smart ELF應(yīng)用程序加載運行過程分析

    在用戶態(tài)應(yīng)用程序處理的任務(wù)中,elf 加載運行是一個比較重要的步驟,下面就分析一下在 rt-smart 操作系統(tǒng)中,想要將一個應(yīng)用程序運行起來要經(jīng)過哪些步驟。
    的頭像 發(fā)表于 11-02 09:57 ?855次閱讀

    優(yōu)雅的在D1S上運行RT-Smart

    -Thread Smart 是基于 RT-Thread 操作系統(tǒng)上的混合操作系統(tǒng),簡稱為 rt-smart,它把應(yīng)用從內(nèi)核中獨立出來,形成獨立的用戶態(tài)應(yīng)用程序,并具備
    的頭像 發(fā)表于 11-16 20:15 ?2584次閱讀

    絲滑的在RT-Smart用戶態(tài)運行LVGL

    開發(fā)流程 1、RT-Smart 環(huán)境搭建 下載 RT-Smart 用戶態(tài)應(yīng)用代碼: 1 git?clone?https: //github.com/RT-Thread/userapps
    的頭像 發(fā)表于 11-22 20:20 ?1115次閱讀

    RT-Smart riscv64匯編注釋

    rt-smart在全志D1上的代碼為例,主要注釋了rt-smart在riscv64上的系統(tǒng)初始化和異常處理的代碼倉庫地址https://gitee.com/rtthread/rt
    的頭像 發(fā)表于 02-08 21:40 ?1024次閱讀

    零基礎(chǔ)上手rt-smart適配bsp

    RT-Thread Smart(簡稱rt-smart)是基于RT-Thread操作系統(tǒng)衍生,面向帶MMU(Memory Management Unit),中高端應(yīng)用的芯片,例如ARM
    的頭像 發(fā)表于 08-08 10:34 ?795次閱讀
    零基礎(chǔ)上手<b class='flag-5'>rt-smart</b>適配bsp

    RT-Smart riscv64匯編注釋

    rt-smart在全志D1上的代碼為例,主要注釋了rt-smart在riscv64上的系統(tǒng)初始化和異常處理的代碼
    的頭像 發(fā)表于 10-12 17:26 ?507次閱讀
    <b class='flag-5'>RT-Smart</b> riscv64匯編注釋

    RT-Smart應(yīng)用開發(fā)筆記:fopen造成文件被清空問題的分析記錄

    RT-Smart 應(yīng)用(apps)開發(fā)環(huán)境,ubuntu 20.04 + win10 VS Code
    的頭像 發(fā)表于 10-20 16:01 ?467次閱讀
    <b class='flag-5'>RT-Smart</b>應(yīng)用<b class='flag-5'>開發(fā)</b>筆記:fopen造成文件被清空問題的分析記錄