在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

rt-smart中的imx6ull用戶態點燈

RTThread物聯網操作系統 ? 來源:RTThread物聯網操作系統 ? 作者:RTThread物聯網操作 ? 2021-01-15 13:41 ? 次閱讀

rt-thread的rt-smart已經發布有段時間了,其實我之前也寫過幾篇關于rt-smart的文章,但是都是關于CMake構建工程的文章。

而對我來說一直想在用戶態操作一下底層硬件的東西。而在前段時間,韋東山老師在他100ask_imx6ull移植了rt-smart,剛好之前拿到一塊imx6ull的板子,所以我也跟這位大佬一起學習了一下rt-smart。

移植的過程我就不再這里說了,大家可以去看一下韋老師的視頻,講的非常好。

這篇文章主要講一下我的點燈大法。

環境

100ask_imx6ull開發板。

兩條micro USB線。

電源

windows電腦一臺。

適配底層驅動

IMX6ULL的gpio有五組,每組最多有32個,但是實際每組沒有那么多

GPIO1 有 32 個引腳:GPIO1_IO0~GPIO1_IO31;

GPIO2 有 22 個引腳:GPIO2_IO0~GPIO2_IO21;

GPIO3 有 29 個引腳:GPIO3_IO0~GPIO3_IO28;

GPIO4 有 29 個引腳:GPIO4_IO0~GPIO4_IO28;

GPIO5 有 12 個引腳:GPIO5_IO0~GPIO5_IO11;

首先需要看芯片手冊,查找寄存器,在imx6ull的寄存器是比較亂的,每一組GPIO的寄存器都是不是連續的,所以寫的時候,需要對著手冊來寫。可以參考《i.MX 6ULL Applications ProcessorReference Manual》文檔。

根據手冊,我已經把GPIO對接到rt-thread的pin驅動框架了。其實我一開始自己寫好底層寄存器部分的代碼,然后去對接到pin驅動。后面在gitee上看發現了NXP的一套庫,后面我又重新對接了一次,這樣我就不用自己造輪子了。下面自己造的輪子:

40844be2-56f1-11eb-8b86-12bb97331649.png

這里我把GPIO分為兩組,第一組:GPIO1 ~ GPIO4,第二組:GPIO5。他們的每組基地址分別為:

40b16c94-56f1-11eb-8b86-12bb97331649.png

根據每組的基地址,給每一組做了一個地址偏移的表格這樣就可以通過下面的宏定義等到對應的引腳:

#define GET_PIN(PORTx, PIN) (32 * (PORTx - 1) + (PIN & 31))

40ddd9be-56f1-11eb-8b86-12bb97331649.png

在rt-smart中,我不能直接使用物理地址,需要使用虛擬地址。rt-smart提供了相對應的API(rt_hw_kernel_phys_to_virt)供我們將物理地址轉為虛擬地址。我們以pin_write為例:

rt-thread中,imux6ull的gpio寫操作:

410e5ba2-56f1-11eb-8b86-12bb97331649.png

rt-smart中,imux6ull的gpio寫操作,需要增加phy addr 到vitr addr的轉換:

4166fe92-56f1-11eb-8b86-12bb97331649.png

對接好pin驅動的ops->rt_pin_ops:

41aed816-56f1-11eb-8b86-12bb97331649.png

注冊pin設備:

41cf8fac-56f1-11eb-8b86-12bb97331649.png

編譯燒錄:

41ec8e7c-56f1-11eb-8b86-12bb97331649.png

應用開發

在rt-thread中,我們經常使用一組API,rt_pin_mode, rt_pin_write。但是在rt-smart中這套東西是使用不了的。而需要使用設備驅動框架那一套東西,open,write,read.

imx6ull的led燈的GPIO對應第5組第3個引腳。然后定義兩個結構體:pin_mode,pin_status.

4231c42e-56f1-11eb-8b86-12bb97331649.png

寫一個流水燈的代碼。

4251a942-56f1-11eb-8b86-12bb97331649.png

原文標題:rt-smart的第一個應用程序,imx6ull用戶態點燈

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

責任編輯:haq

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

    關注

    37

    文章

    7100

    瀏覽量

    125008
  • RTThread
    +關注

    關注

    8

    文章

    132

    瀏覽量

    41559

原文標題:rt-smart的第一個應用程序,imx6ull用戶態點燈

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    K230使用RT-Smart SDK開發怎么連接Wifi?

    RT-Smart SDK開發K230怎么去連接無線網,板子上面有網絡模塊和天線,01Studio的K230,找不到相關資料,求助大佬,感謝感謝
    發表于 06-10 08:23

    iMX6ULL上設置MAC地址,啟動后無法獲得相同的mac id?

    我正在開發基于 imx6ull 的定制板。在 U Boot with Fuse Prog Command ,我編寫了 mac id,但是在啟動后我無法獲得相同的 mac id。還需要任何其他程序
    發表于 04-10 06:02

    如何在i.MX6ULL睡眠時停止刷新LCD?

    為了更好的 EMC,我們需要在 i.MX6ULL 進入睡眠狀態時停止 LCD 刷新。 能否實現 ? 平臺: i.MX6ULL 系統: Linux
    發表于 04-03 07:14

    如何維護i.MX6ULL的安全內核?

    隨著即將出臺的 EU RED 3(3)def 和 EN 18031 法規,修復已知的漏洞至關重要。對于基于 i.MX 6ULL 的系統,在實踐如何做到這一點? 我們目前
    發表于 04-01 08:28

    RT-Thread Smart攜手K230/K230D打造多核RISC-V高性能嵌入式操作系統

    在萬物互聯的智能時代,國產軟硬件技術的突破正成為推動產業升級的核心動力。RT-ThreadSmart(簡稱:RT-Smart)操作系統與嘉楠科技K230芯片的深度融合,為AI邊緣計算領域帶來了一站式
    的頭像 發表于 03-17 16:35 ?1086次閱讀
    <b class='flag-5'>RT</b>-Thread <b class='flag-5'>Smart</b>攜手K230/K230D打造多核RISC-V高性能嵌入式操作系統

    為什么RT_Thread Studio點燈都無法實現?

    本人是剛入手RT_thread Studio這款軟件不久,我看網上教程都是新建工程,選擇好對應的開發板型號就可以正常使用,而我在進行hc32f460這款MCU進行開發時,選擇好開發板,系統默認在
    發表于 03-10 07:29

    imx6ull 和 lan8742 工作起來不正常, ping 老是丟包

    采用 imx6ull 默認的設備樹, 和 lan8742通信, MAC的配置如下: pinctrl_enet2: enet2grp { fsl,pins = <
    發表于 01-09 14:51

    RT-Smart首次線下培訓,鎖定2024 RT-Thread開發者大會!

    2024年RT-Thread開發者大會將于12月21日正式拉開帷幕!本次大會以“開源共生商業共贏”為主題,RT-Thread將攜手合作伙伴、客戶伙伴、行業專家,以及全球開發者,共同探索如何在開源
    的頭像 發表于 12-11 18:41 ?1516次閱讀
    <b class='flag-5'>RT-Smart</b>首次線下培訓,鎖定2024 <b class='flag-5'>RT</b>-Thread開發者大會!

    【迅為電子】i.MX6UL和i.MX6ULL芯片區別與開發板對比

    【迅為電子】i.MX6UL和i.MX6ULL芯片區別與開發板對比
    的頭像 發表于 11-28 14:31 ?1231次閱讀
    【迅為電子】i.MX<b class='flag-5'>6</b>UL和i.MX<b class='flag-5'>6ULL</b>芯片區別與開發板對比

    國產實時操作系統:和RT-Linux,Zephyr的實時性對比

    基于RT-Thread內核,并具備POSIX用戶運行環境的高性能實時操作系統。它類似Linux、Windows的架構,具備用戶和內核
    的頭像 發表于 11-12 01:07 ?2325次閱讀
    國產實時操作系統:和<b class='flag-5'>RT</b>-Linux,Zephyr的實時性對比

    imx6ull裸機編程,使用宏定義無法驅動,使用指針就可以驅動

    當我使用宏定義來訪問imx6ull的寄存器,控制GPIO5_IO3輸出高低電平控制LED時,程序燒錄進去后沒有反應。但是當我使用指針來訪問寄存器,LED可以正常驅動,請問這是什么原因?除了寄存器訪問
    發表于 11-04 17:59

    使用TPS6521815 PMIC為NXP i.MX 6ULL6UltraLite供電

    電子發燒友網站提供《使用TPS6521815 PMIC為NXP i.MX 6ULL6UltraLite供電.pdf》資料免費下載
    發表于 09-13 09:44 ?1次下載
    使用TPS6521815 PMIC為NXP i.MX <b class='flag-5'>6ULL</b>、<b class='flag-5'>6</b>UltraLite供電

    RK3568平臺RT-smart系統跑不起來,為什么?

    RK3568平臺RT-smart系統跑不起來
    發表于 09-13 07:28

    ART-PI Smart User運行LED程序崩潰的原因?怎么處理?

    使用的master分支下的代碼,通過 6ull bootloader 的tftp獲取kernel后能正常運行,并掛載emmc,和sd卡。 \\ | / - RT -Thread Sma
    發表于 07-05 08:21

    在 ART-Pi Smart 體驗 RT-Thread Smart v5.1.0

    大的RT-ThreadSmart操作系統。ART-PiSmart開發板搭載了米爾科技的i.MX6ULL核心板,硬件設計和制作由韋東山團隊完成,整體的BSP板級支持包由社區完成。這是首個運行R
    的頭像 發表于 06-14 08:35 ?1102次閱讀
    在 ART-Pi <b class='flag-5'>Smart</b> 體驗 <b class='flag-5'>RT</b>-Thread <b class='flag-5'>Smart</b> v5.1.0
    主站蜘蛛池模板: 免费观看激色视频网站bd | 拍拍拍交性免费视频 | 性瘾高h姚蕊全文免费阅读 性做久久久久 | 国产天天射 | 日韩一区二区视频 | 97福利视频 | 曰本女人一级毛片看一级毛 | 天堂在线天堂最新版在线www | 日本天天操 | 手机在线黄色 | 久久久久久久久国产 | 老师叫我下面含着精子去上课 | 欧美性猛交xxxxbbbb | 最近2018年中文字幕大全一 | 六月丁香婷婷网 | 毛片在线播放网站 | 五月六月激情 | 天天做夜夜做 | 天堂视频免费 | 欧美刺激午夜性久久久久久久 | 男女爱爱视频免费看 | 亚洲国产一区二区在线 | 天天爽夜夜爽人人爽 | 在线色播 | 在线观看日本免费不卡 | 午夜湿 | 天堂网www最新版在线资源 | 在线伊人网 | 劳拉淫欲护士bd字幕 | 69日本xxxxxxxxx30| 日本福利片午夜免费观着 | 日日摸夜夜添免费毛片小说 | 亚洲成片在线观看12345ba | 91久久另类重口变态 | 精品一级毛片 | 欧美视频一区二区三区四区 | 天堂网. www在线资源 | 日韩一区二区三区免费 | 狠狠色丁香婷婷综合久久片 | 中国日韩欧美中文日韩欧美色 | 1000部啪啪勿入十八免费 |