欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

rt-smart中的imx6ull用戶態(tài)點燈

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

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

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

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

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

環(huán)境

100ask_imx6ull開發(fā)板。

兩條micro USB線。

電源。

windows電腦一臺。

適配底層驅(qū)動

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的寄存器都是不是連續(xù)的,所以寫的時候,需要對著手冊來寫??梢詤⒖肌秈.MX 6ULL Applications ProcessorReference Manual》文檔。

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

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

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

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

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

#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)供我們將物理地址轉(zhuǎn)為虛擬地址。我們以pin_write為例:

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

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

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

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

對接好pin驅(qū)動的ops->rt_pin_ops:

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

注冊pin設備:

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

編譯燒錄:

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

應用開發(fā)

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

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

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

寫一個流水燈的代碼。

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

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

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

責任編輯:haq

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

    關注

    37

    文章

    6902

    瀏覽量

    123829
  • RTThread
    +關注

    關注

    8

    文章

    132

    瀏覽量

    41013

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

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

收藏 人收藏

    評論

    相關推薦

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)板適配之移植前的準備

    我們這一章節(jié),開始進行Linux內(nèi)核源碼的移植,主要的工作是在NXP i.MX6ULL EVK評估板對應的Linux內(nèi)核源碼(linux-imx_4.1.15版本)基礎上進行功能接口引腳適配,以適應
    發(fā)表于 01-22 10:43

    飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)板適配之移植前的準備

    我們這一章節(jié),開始進行Linux內(nèi)核源碼的移植,主要的工作是在NXP i.MX6ULL EVK評估板對應的Linux內(nèi)核源碼(linux-imx_4.1.15版本)基礎上進行功能接口引腳適配,以適應
    發(fā)表于 01-21 14:30

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-初識設備樹之IOMUX介紹

    /imx6ull-pinfunc.h,在文件搜索信號名稱GPIO1_IO08:搜索發(fā)現(xiàn)此文件沒有沒有這個引腳的相關描述。這個文件還引用了imx6ul-pinfunc.h,因為
    發(fā)表于 01-14 09:10

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

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

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

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

    【迅為電子】i.MX6UL和i.MX6ULL芯片區(qū)別與開發(fā)板對比

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

    國產(chǎn)實時操作系統(tǒng):和RT-Linux,Zephyr的實時性對比

    基于RT-Thread內(nèi)核,并具備POSIX用戶態(tài)運行環(huán)境的高性能實時操作系統(tǒng)。它類似Linux、Windows的架構,具備用戶態(tài)和內(nèi)核
    的頭像 發(fā)表于 11-12 01:07 ?1328次閱讀
    國產(chǎn)實時操作系統(tǒng):和<b class='flag-5'>RT</b>-Linux,Zephyr的實時性對比

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

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

    使用TPS6521815 PMIC為NXP i.MX 6ULL、6UltraLite供電

    電子發(fā)燒友網(wǎng)站提供《使用TPS6521815 PMIC為NXP i.MX 6ULL、6UltraLite供電.pdf》資料免費下載
    發(fā)表于 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系統(tǒng)跑不起來,為什么?

    RK3568平臺RT-smart系統(tǒng)跑不起來
    發(fā)表于 09-13 07:28

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

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

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-在NXP源碼基礎上適配ELF 1開發(fā)板的按鍵功能

    CONFIG_SOC_IMX6ULL,將imx6ull-elf1-emmc.dts添加到Makefile:elf@ubuntu:~/work/linux-imx-imx_4.1.15
    發(fā)表于 07-04 09:11

    飛凌嵌入式ElfBoard ELF 1板卡-在NXP源碼基礎上適配ELF 1開發(fā)板的按鍵功能

    CONFIG_SOC_IMX6ULL,將imx6ull-elf1-emmc.dts添加到Makefile:elf@ubuntu:~/work/linux-imx-imx_4.1.15
    發(fā)表于 07-03 09:07

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

    大的RT-ThreadSmart操作系統(tǒng)。ART-PiSmart開發(fā)板搭載了米爾科技的i.MX6ULL核心板,硬件設計和制作由韋東山團隊完成,整體的BSP板級支持包由社區(qū)完成。這是首個運行R
    的頭像 發(fā)表于 06-14 08:35 ?709次閱讀
    在 ART-Pi <b class='flag-5'>Smart</b> 體驗 <b class='flag-5'>RT</b>-Thread <b class='flag-5'>Smart</b> v5.1.0

    適用于 NXP i.MX 6ULL、6ULZ 和 6UltraLite的TPS6521835電源管理IC數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《適用于 NXP i.MX 6ULL6ULZ 和 6UltraLite的TPS6521835電源管理IC數(shù)據(jù)表.pdf》資料免費下載
    發(fā)表于 03-01 09:10 ?0次下載
    適用于 NXP i.MX <b class='flag-5'>6ULL</b>、<b class='flag-5'>6</b>ULZ 和 <b class='flag-5'>6</b>UltraLite的TPS6521835電源管理IC數(shù)據(jù)表