一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

嵌入式技術(shù)之GPIO控制LED工作原理

454398 ? 來源:博客園 ? 作者:wanglinwei ? 2020-09-24 10:59 ? 次閱讀

基本概念:

1.GPIO--通用IO口,通過芯片針腳來控制或讀取外設(shè)的數(shù)據(jù)。

2.GPIO口的使用原理,通過設(shè)置GPXXCON, GPXXDAT, GPXXPUL等寄存器來設(shè)置GPIO口的狀態(tài)。

原理圖:

跟硬件相關(guān)的部分,一定要閱讀原理圖,然后通過查找SoC的用戶手冊來查找相應(yīng)的寄存器設(shè)置即可。

底板電路圖:

核心板電路圖:

可知在OK6410上4個LED燈是通過GPM這一組的GPIO口控制的,分別是GPM0-GPM3四組。

然后打開S3C6410X User's Manual,查找GPM相關(guān)的寄存器:

通過上面內(nèi)容找到:

GPMCON 地址 0x7F008820

GPMDAT 地址 0x7F008824

由于LED連接著GPM0-GPM3,所以通過上面的內(nèi)容可以知道,GPMCON設(shè)置的值應(yīng)該為0x00001111,意思是將GPM0-GPM3設(shè)置為輸出,這樣通過設(shè)置GPMDAT[5:0]來控制響應(yīng)針腳的高低電平,使LED亮或滅。

代碼:(以下代碼參考了友善之臂Tiny6410的匯編代碼,并非原創(chuàng))

匯編代碼:

start.S

Makefile:

1 led.bin: start.o

 2         arm-linux-ld -Ttext 0x50008000 -o led.elf $^
 3         arm-linux-objcopy -O binary led.elf led.bin
 4         arm-linux-objdump -D led.elf > led_elf.dis
 5 %.o : %.S
 6         arm-linux-gcc -o $@ $< -c
 7 
 8 %.o : %.c
 9         arm-linux-gcc -o $@ $< -c 
10 
11 clean:
12         rm *.o *.elf *.bin *.dis  -rf

然后make,可以得到led.bin,通過tftp下載到開發(fā)板中:

然后就可以看到OK6410板上的四個LED燈開始一起閃爍。

總結(jié):

1.GPIO口的使用其實是SoC外設(shè)控制中最簡單的,只要抓住GPIO的幾個寄存器,將他們的值設(shè)置正確,就可以完成相應(yīng)的控制功能。

2.一定要學(xué)會查看SoC的User's Manual的方法,這樣當(dāng)SoC換成其他品牌時,可以以不變應(yīng)萬變。

3.使用ld來鏈接.o文件時,一般會指定-Ttext選項,表示該代碼會在內(nèi)存的哪個地址加載,通過查看User's Manual,你可以決定這個地址的范圍,如下圖,0x50000000-0x6FFFFFFF地址區(qū)間映射到DRAM上,所以絕大部分的資料中,S3C6410中的內(nèi)存地址都是0x5xxxxxxx類似的地址。也有一些0xcxxxxxxx類似的地址,這是打開SoC中的MMU后進行物理地址和虛擬地址映射后的結(jié)果,如果打開了MMU,就可以使用0xcxxxxxxx這樣的地址,否則無法使用。

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

    關(guān)注

    22

    文章

    1593

    瀏覽量

    109216
  • 嵌入式技術(shù)
    +關(guān)注

    關(guān)注

    10

    文章

    362

    瀏覽量

    40190
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1243

    瀏覽量

    53349
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    飛凌嵌入式2025嵌入式及邊緣AI技術(shù)論壇圓滿結(jié)束

    飛凌嵌入式「2025嵌入式及邊緣AI技術(shù)論壇」在深圳深鐵皇冠假日酒店盛大舉行,此次活動邀請到了200余位嵌入式技術(shù)領(lǐng)域的
    的頭像 發(fā)表于 04-28 13:57 ?1573次閱讀
    飛凌<b class='flag-5'>嵌入式</b>2025<b class='flag-5'>嵌入式</b>及邊緣AI<b class='flag-5'>技術(shù)</b>論壇圓滿結(jié)束

    如何成為一名嵌入式軟件工程師?

    、Java等)和軟件開發(fā)工具,還需要對硬件的工作原理有深入的理解。 在團隊中,嵌入式軟件工程師往往扮演著核心角色,他們的工作直接關(guān)系到產(chǎn)品的性能、穩(wěn)定性和用戶體驗。 02掌握核心技能與知識
    發(fā)表于 04-15 14:37

    飛凌嵌入式「2025嵌入式及邊緣AI技術(shù)論壇」議程公布

    4月22日,飛凌嵌入式“2025嵌入式及邊緣AI技術(shù)論壇”將在深圳舉行,論壇以“新生態(tài),智未來”為主題,旨在匯聚行業(yè)智慧,探討嵌入式技術(shù)與邊
    的頭像 發(fā)表于 04-02 15:12 ?398次閱讀
    飛凌<b class='flag-5'>嵌入式</b>「2025<b class='flag-5'>嵌入式</b>及邊緣AI<b class='flag-5'>技術(shù)</b>論壇」議程公布

    嵌入式教育科普|GPIO接口全面解析

    知識的掌握直接影響著嵌入式項目實現(xiàn)功能的成效。本文將以GPIO接口為切入點,深入解析其工作原理技術(shù)特性,希望能幫助屏幕前想要學(xué)習(xí)嵌入式開發(fā)
    的頭像 發(fā)表于 03-05 11:11 ?1367次閱讀
    <b class='flag-5'>嵌入式</b>教育科普|<b class='flag-5'>GPIO</b>接口全面解析

    如何成為嵌入式開發(fā)工程師?

    ,無論是個人項目還是作為團隊的一員。- 嘗試從頭開始構(gòu)建一些小的嵌入式系統(tǒng),比如控制一個LED燈或者讀取傳感器數(shù)據(jù)。 8. 持續(xù)學(xué)習(xí):- 隨著技術(shù)的發(fā)展,持續(xù)學(xué)習(xí)新的工具和
    發(fā)表于 02-19 10:39

    GPIO嵌入式系統(tǒng)中的作用

    在現(xiàn)代電子系統(tǒng)中,嵌入式系統(tǒng)因其小型化、低成本和高效率而變得越來越流行。這些系統(tǒng)廣泛應(yīng)用于從簡單的家用電器到復(fù)雜的工業(yè)自動化設(shè)備。在這些系統(tǒng)中,GPIO(通用輸入/輸出)接口是連接微控制器與外部世界
    的頭像 發(fā)表于 01-09 09:45 ?676次閱讀

    為什么嵌入式驅(qū)動開發(fā)工程師可以拿高薪?

    。 為什么嵌入式驅(qū)動開發(fā)工程師可以拿高薪? 嵌入式驅(qū)動開發(fā)工程師屬于技術(shù)密集型工作,不僅需要深入了解硬件的工作原理,還需掌握各種編程語言
    發(fā)表于 01-07 16:56

    學(xué)嵌入式好找工作嗎?

    功能穩(wěn)定且智能化運行,再到工業(yè)領(lǐng)域里的自動化生產(chǎn)線,靠嵌入式設(shè)備精準(zhǔn)控制生產(chǎn)流程,還有醫(yī)療設(shè)備中那些輔助診斷、精準(zhǔn)治療的儀器等??梢哉f,它橫跨了消費電子、汽車、工業(yè)、醫(yī)療等眾多行業(yè),行業(yè)覆蓋面如此
    發(fā)表于 12-16 15:43

    新手怎么學(xué)嵌入式?

    的基礎(chǔ)上增加了面向?qū)ο缶幊痰奶匦?,有助于編寫更?fù)雜的嵌入式程序。 3. 學(xué)習(xí)硬件知識 嵌入式技術(shù)與硬件緊密相關(guān),因此你需要了解一些基本的硬件知識。比如微控制器(MCU)、微處理器(
    發(fā)表于 12-12 10:51

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統(tǒng)的核心組件,是一種用于控制和數(shù)據(jù)處理的計算機硬件,其設(shè)計旨在嵌入特定設(shè)備中執(zhí)行專門任務(wù)。嵌入式主板如同是設(shè)備
    的頭像 發(fā)表于 09-30 10:05 ?1381次閱讀

    嵌入式linux開發(fā)板芯片的工作原理

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺,它廣泛應(yīng)用于工業(yè)控制、智能家居、智能交通、醫(yī)療設(shè)備等領(lǐng)域。 嵌入式Linux開發(fā)板概述
    的頭像 發(fā)表于 09-02 09:07 ?657次閱讀

    適合初學(xué)者的嵌入式項目有哪些?

    輸出引腳(GPIO)來控制LED燈的狀態(tài)。通過編寫簡單的C語言代碼,你可以實現(xiàn)LED燈的各種控制效果,如呼吸燈、流水燈、彩虹燈等。這個項目可
    發(fā)表于 07-11 10:23

    嵌入式系統(tǒng)怎么學(xué)?

    嵌入式系統(tǒng)之間或與外部設(shè)備的數(shù)據(jù)通信。 7、傳感器和執(zhí)行器:了解各種傳感器(如溫度傳感器、加速度傳感器等)和執(zhí)行器(如電機、舵機等)的工作原理和接口方式,以實現(xiàn)對外部環(huán)境的感知和控制。 8、
    發(fā)表于 07-02 10:10

    如何提升嵌入式編程能力?

    /C++:大多數(shù)嵌入式系統(tǒng)使用C或C++編程語言,因此深入學(xué)習(xí)這兩種語言是非常重要的。 8. 理解操作系統(tǒng):學(xué)習(xí)嵌入式操作系統(tǒng)(如FreeRTOS, VxWorks, Zephyr等)的工作原理
    發(fā)表于 06-21 10:01

    嵌入式系統(tǒng)軟硬件基礎(chǔ)知識大全

    嵌入式系統(tǒng)是現(xiàn)代科技發(fā)展的一個重要分支,廣泛應(yīng)用于工業(yè)控制、消費電子、醫(yī)療設(shè)備、汽車電子等領(lǐng)域。本文試圖全面解析嵌入式系統(tǒng)的軟基礎(chǔ)知識,以期讓讀者對這一技術(shù)有更深入的了解。
    發(fā)表于 05-09 14:12