91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级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后進(jìn)行物理地址和虛擬地址映射后的結(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

    文章

    1606

    瀏覽量

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

    關(guān)注

    10

    文章

    367

    瀏覽量

    43463
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1329

    瀏覽量

    56237
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    嵌入式單片機(jī)開發(fā)學(xué)習(xí)路徑

    ,這時候你能清晰的感受到自己的進(jìn)步。 2.2 學(xué)習(xí)電路基礎(chǔ) 嵌入式開發(fā)離不開硬件知識。掌握基本的電路知識,包括電阻、電容、二極管、三極管等元器件的工作原理及其在電路中的應(yīng)用。這部分知識可能你會覺得枯燥
    發(fā)表于 02-09 15:42

    嵌入式新手必看!GPIO調(diào)試從0到1:計算、操作、排錯全指南

    嵌入式開發(fā)中,GPIO(通用輸入輸出口)是最基礎(chǔ)也最常用的硬件接口 —— 小到控制一顆 LED 亮滅、讀取一個按鍵狀態(tài),大到驅(qū)動傳感器、控制
    的頭像 發(fā)表于 02-01 16:55 ?2670次閱讀
    <b class='flag-5'>嵌入式</b>新手必看!<b class='flag-5'>GPIO</b>調(diào)試從0到1:計算、操作、排錯全指南

    arm嵌入式主板優(yōu)缺點

    嵌入式主板是嵌入在設(shè)備里面做控制、數(shù)據(jù)處理使用的CPU板 ,常見的有兩類,即基于X86的嵌入式主板和基于RISC的ARM 嵌入式主板。今天我
    發(fā)表于 01-08 07:08

    系統(tǒng)嵌入式的學(xué)習(xí)路線

    到搞的很精通,我要學(xué)會抓住重點,學(xué)會取舍,達(dá)到一通百通,事半功倍的學(xué)習(xí)效果。 首先嵌入式技術(shù)主要分為嵌入式軟件和嵌入式硬件2大方向。 嵌入式
    發(fā)表于 12-16 07:49

    CW32嵌入式軟件開發(fā)的必備知識

    的數(shù)據(jù)手冊及用戶手冊,查找所需外設(shè)工作原理。 4、 嵌入式操作系統(tǒng)(深入知識點) 掌握常用的嵌入式操作系統(tǒng),如μC/OS、FREERTOS等,了解其內(nèi)核、進(jìn)程管理、內(nèi)存管理、設(shè)備管理和文件系統(tǒng)等基本原理
    發(fā)表于 11-28 07:48

    嵌入式和FPGA的區(qū)別

    開發(fā)中做出更明智的技術(shù)選擇。 基本概念解析 嵌入式系統(tǒng)(Embedded System)是一種專用計算機(jī)系統(tǒng),通常包含微處理器/微控制器、存儲器和專用外圍設(shè)備,被設(shè)計用于執(zhí)行特定功能。它強(qiáng)調(diào)
    發(fā)表于 11-19 06:55

    力芯微GPIO拓展系列芯片賦能智能硬件與嵌入式系統(tǒng)

    在當(dāng)今智能硬件與嵌入式系統(tǒng)飛速發(fā)展的時代,主控芯片的GPIO引腳資源常常面臨捉襟見肘的困境。為了突破這一瓶頸,力芯微GPIO拓展系列芯片賦能智能硬件與嵌入式系統(tǒng),也為工程師們帶來了高效
    的頭像 發(fā)表于 10-31 16:40 ?582次閱讀
    力芯微<b class='flag-5'>GPIO</b>拓展系列芯片賦能智能硬件與<b class='flag-5'>嵌入式</b>系統(tǒng)

    嵌入式從入門到進(jìn)階,怎么學(xué)?

    嵌入式從入門到進(jìn)階,怎么學(xué)? 嵌入式學(xué)習(xí)的核心是 “軟硬結(jié)合的技術(shù)壁壘”,科學(xué)分層才能高效突破。以下是從入門到高階的精簡路線,幫你避開彎路: 1、基礎(chǔ)奠基層:構(gòu)建技術(shù)底座 C 語言聚焦
    發(fā)表于 09-02 09:44

    嵌入式接口通識知識GPIO接口

    接收外部信號,也可以作為輸出控制外部設(shè)備,例如LED、蜂鳴器、按鈕或繼電器等。1.2 工作模式GPIO的基本工作是負(fù)責(zé)采集外部器件的信息或者
    發(fā)表于 08-14 14:39

    盤點嵌入式就業(yè)所需要的技能有哪些?

    在數(shù)字化和智能化的大潮中,嵌入式系統(tǒng)無疑是支撐現(xiàn)代科技發(fā)展的核心力量。從智能手機(jī)到智能汽車,再到智能家居,嵌入式技術(shù)無處不在,無時不刻不在影響著我們的生活和工作方式。因此,對于那些對科
    發(fā)表于 08-11 15:43

    入行嵌入式應(yīng)該怎么準(zhǔn)備?

    是至關(guān)重要的,因此,掌握C/C++編程技巧是入行嵌入式的基礎(chǔ)。 二、硬件基礎(chǔ)知識了解基本的電子電路和數(shù)字邏輯是嵌入式系統(tǒng)開發(fā)的基礎(chǔ)。你需要了解數(shù)字電路、模擬電路、傳感器和執(zhí)行器的工作原理。此外,對于處理器
    發(fā)表于 08-06 10:34

    嵌入式開發(fā)就業(yè)還有前景嗎?

    ,嵌入式開發(fā)的主要工作是開發(fā)各種工業(yè)控制設(shè)備和系統(tǒng),如數(shù)控機(jī)床、工業(yè)機(jī)器人、智能制造等。嵌入式開發(fā)人員需要掌握相關(guān)的硬件和軟件技術(shù),如處理器
    發(fā)表于 07-16 10:47

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

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

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

    、Java等)和軟件開發(fā)工具,還需要對硬件的工作原理有深入的理解。 在團(tuán)隊中,嵌入式軟件工程師往往扮演著核心角色,他們的工作直接關(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 ?1375次閱讀
    飛凌<b class='flag-5'>嵌入式</b>「2025<b class='flag-5'>嵌入式</b>及邊緣AI<b class='flag-5'>技術(shù)</b>論壇」議程公布