




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、版權說明本文件中出現的任何文字敘述、文件格式、插圖、照片、方法、過程等內容,除另有特別注明,版權均屬本人所有。-WangYiwei由于我正在學習“嵌入式系統原理與應用一一基于ARM微處理器和Linux操作系統”這門課程,網絡上找不到課后習題答案。因此本人通過認真地做習題,不懂百度,查閱相關書籍等途徑,整理了一份答案,可供各位參考。注意:答案并不一定完全正確,有異議的答案歡迎提出來大家一起探討。嵌入式系統原理與應用基FAR訕微處理器.和Linux操作系統1m1.8練習題P141.選擇題A說明:嵌入式系統的發展趨勢表現在以下幾方面:1產品種類不斷豐富,應用范圍不斷普及2產品性能不斷提髙3產品功耗不
2、斷降低,體積不斷縮小網絡化、智能化程度不斷提髙軟件成為影響價格的主要因素D說明:常見的嵌入式操作系統:VxWorks,WindowsCE、uC/OSTI和嵌入式Linux。(3)A說明:VxWorks是美國WindRiver公司于1983年開發的一種32位嵌入式實時操作系統。2.填空題(1)嵌入式計算機微處理器外圍電路外部設備板級支持包實時操作系統應用編程接口應用程序嵌入式處理器微控制器數字信號處理器3.簡答題簡述嵌入式系統的定義和特點答:定義:以應用為中心,以計算機技術為基礎,軟硬件可裁剪,應用系統對功能、可靠性、成本、體積功耗有嚴格要求的專用計算機系統。特點:專用性強、實時性好、可裁剪性好
3、、可靠性高和功耗低等。簡述計算機系統的發展歷程第一階段大致在20世紀70年代前后,可以看成是嵌入式系統的萌芽階段;第二階段是以嵌入式微處理器為基礎,以簡單操作系統為核心的嵌入式系統;第三階段是以嵌入式操作系統為標志的嵌入式系統,也是嵌入式應用開始普及的階段;第四階段是以基于Internet為標志的嵌入式系統,這是一個正在迅速發展的階段。(3)簡述MCU和DSP的區別MCU是微控制器,DSP是數字信號處理器。MCU相當于小型的電腦,內部集成的CPU、ROM、RAM、I/O總線,所以集成度高是它的特點。DSP是專用的信息處理器,內部的程序是對不同的機器和環境進行特別優化,所以處理速度是最快的。2.
4、4練習題1.填空題ARM7ARM9ARM9EARM10EARM11精簡指令集計算機SamsungARM920TIIC總線BGA顯卡布線1.8V3.3V81281S3C241064MB64MB2.選擇題(1)D(2)C(3)A(4)B(5)B(6)C(7)D(8)C(9)C(10)B3.簡答題(1)ARM和S3C2410X有什么關系?S3C2410是韓國三星公司生產的嵌入式處理器,它采用了ARM公司的ARM920T(即ARM9)內核(2)ARM7是32位RISC處理器,使用3級流水線,采用馮諾依曼體系結構,不支持MMU。ARM8是32位RISC處理器,使用5級流水線,采用哈佛體系結構,支持MMU
5、。S3C2410X芯片有27根地址線,8根片選線(nGCS),32根數據線。S3C2410X芯片內部集成了一個LCD控制器,SDRAM控制器,3個通道UART,4個通道DMA,4個具有PWM功能的計時器和一個內部時鐘,8通道的10位ADC。ARM體系結構有哪幾種工作狀態?又有哪幾種運行模式?其中哪些為特權模式?哪些為異常模式?并指出處理器在什么情況下進入相應模式?工作狀態:第1種:ARM狀態。處理器執行32位的字對齊的ARM指令。第2種:Thumb狀態。處理器執行16位的半字對齊的Thumb指令。運行模式:用戶模式(usr)快速中斷模式(fiq)外部中斷模式(irq)管理模式(svc)數據訪問
6、中止模式(abt)系統模式(sys)未定義指令中止模式(und)在這7種運行模式,除了用戶模式外,其他6種處理器模式都為特權模式。在這6種特權模式中,除了系統模式外的其他5種特權模式又稱為異常模式。用戶模式:非特權模式,也就是正常程序執行的模式,大部分任務在這種模式下執行。在用戶模式下,如果沒異常發生,不允許應用程序自行切換果沒異常發生,不允許應用程序自行改變處理器的工作模式,如果有異常發生,處理器會自動切換工作模式。快速中斷模式:支持高速數據傳輸和通道處理,當一個高優(fast)中斷產生時將會進入這種模式。外部中斷模式:也稱為普通中斷模式,當一個低優先級中斷產生時將會進入這種模式。在這模式下
7、按中斷的處理器方式又分為向量中斷和非向量中斷兩種。通常的中斷處理都在IRQ模式下進行。管理模式:是一種操作系統保護模式,當復位或軟中斷指令執行時處理器將進入這種模式。數據訪問中止模式:當存取異常時將會進入這種模式,用來處理存儲器故障、實現虛擬存儲或存儲保護。系統模式:使用和user模式相同寄存器組的特權模式,用來運行特權級的操作系統任務。未定義指令中止模式:當執行未定義指令時會進入這種模式,主要是用來處理未定義的指令陷阱,支持硬件協處理器的軟件仿真,因為未定義指令多發生在對協處理器的操作上。ARM體系結構支持的數據類型?有多少寄存器?如何組織?支持的數據類型:字節(byte),各種處理器體系結
8、構中,字節的長度均為8位。半字(half-word),在ARM體系結構中,半字的長度為16位。字(word),在ARM體系結構中,字的長度為32位。ARM處理器共有37個寄存器,其中31個通用寄存器,6個狀態寄存器。S3C2410的存儲控制器如何對內存空間進行管理?S3C2410X存儲控制器為片外存儲器提供控制信號。它將系統的存儲空間分成8組(Bank),每組的大小為128MB,共1GB。分析程序狀態寄存器各位的功能描述,并說明C、Z、N、V在什么情況下進行置1和清0狀態寄存器(PSR)的具體格式為Vpunused丁UTitifycd.rmodt:1r.V溢出標志位對于加/減法運算指令,當操作
9、數和運算結果為二進制補碼表示的帶符號數時,V=1表示符號位溢出,其它指令通常不影響V位。例如:兩個正數(最高位為0)相加,運算結果為一個負數(最高位為1),則符號位溢出,相應V=1.C-進位或借位標志位對于加法指令(包括比較指令CMN),結果產生進位,則C=1,表示無符號數運算發生上溢出,其他情況下C=0;在減法指令中(包括比較指令CMP),結果產生借位,則C=0,表示無符號數運算發生下溢出,其他情況下C=1;對于包含移位操作的非加/減法運算指令,C中包含最后一次溢出位的數值;對于其他非加/減法運算指令,C位的值通常不受影響。Z-結果為0標志位Z=1表示運算結果是0,Z=0表示運算結果不是零;
10、對于CMP指令,Z=1表示進行比較的兩個數大小相等。N-符號標志位本位設置成當前指令運算結果的bit31的值。當兩個補碼表示有符號整數運算時,N=1表示運算的結果為負數,N=0表示結果為正數或零。ARM指令可分為哪幾類?說出哪幾條指令是無條件執行的。ARM指令可分為:數據處理指令,跳轉指令,程序狀態寄存器處理指令,加載/存儲指令,協處理器指令,異常產生指令。無條件執行指令:BLX指令,BKPT指令(產生軟件斷點中斷)如何實現兩個64位數的加法操作,如何實現兩個64位的減法操作,如何求一個64位數的負數?實現64位數據加法運算:假設R0和R1存放了一個64位數據(作為被加數),R0存放數據的低3
11、2位;R2和R3中存放了另一個64位數據(作為加數),R2中存放低32位數據。運算結果送回到Rl:R0中(R0中存放低32位)。ADDSR0,R0,R2;低32位相加并影響標志位ADCR1,R1,R3;高32位相加再加上C標志位(進位值)實現64位數據減法運算:如果寄存器R0和R1中放置一個64位的被減數,其中R0中放置低32位數值;寄存器R2和R3中放置一個64位的減數,其中R2中放置低32位數值。運算結果送回到Rl:R0中(R0中存放低32位)。SUBSR0,R0,R2;低32位相減并影響標志位SBCRl,Rl,R3;高32位相減再減去C標志位的反碼求一個64位數的負數:如果寄存器R0和R
12、1中放置一個64位數,其中R0中放置低32位數值;寄存器R4和R5中放置其負數,其中R4中放置低32位數值。RSBSR4,R0,#00減去低32位并影響標志位RSCR5,R1,#00減去高32位再減去C標志位的反碼4.程序題(1)分析下列每條語句,并說明程序實現的功能。CMPR0,#0判斷R0是否等于0MOVEQRl,#0/當R0等于0,則Rl等于0MOVGTRl,#l/當R0為正數時,則Rl等于l此功能碼段可以判別R0中的值為正數還是0。寫一條ARM指令,分別完成下列操作。R0=16MOVRO,#16R0=R1/16MOVRO,R1,LSR#4R1=R2*4ADDR1,R2.R2.LSL#1
13、R0=-R0RSBRO,RO,#0(3)寫出實現下列操作的ARM指令。當Z=1時,將存儲器地址為R1的字數據讀入寄存器R0。MOVEQR0,Rl當Z=1時,將存儲器地址為R1+R2的字數據讀入寄存器R0。LDREQR0,R1,R2將存儲器地址為R1-4的字數據讀入寄存器R0。LDRR0,R1,#-4將存儲器地址為R1+R6的字數據讀入寄存器R0,并將新地址R1+R6寫入R1。LDRR0,R1,R6!寫出下列指令所實現的操作。LDRR2,R3,-2!將存儲器地址為R3-2的字數據讀入R2,并將地址R3-2寫入R3LDRR0,R0,R1將存儲器地址為R0的字數據讀入R0,并將地址R0+R1寫入R0
14、LDRR1,R0,R2,LSL#2!將存儲器地址為R0+R2*4的字數據讀入R1,并將地址R0+R2*4寫入R0STRBR1,R2,#0 xB0R0的低8位存入存儲器地址為R2+0XB0字節中LDMIAR0,R1,R2,R8將內存單元R0所指向的地址單元以字為單位遞減方式讀取到R1,R2,R8中,低地址編號的字數據內存單元對應低編號寄存器STMDBR0!,R1R5,R8,R9R1R5,R8,R9存儲到以R0為起始地址的遞減內存中,最終R0指向存放R9的地址單元5.計算題某設備的接口電路如圖所示,請計算出該設備的地址。3.5練習題1.選擇題(1)B(2)A(3)C(4)D(5)A2.填空題(1)
15、.so.a程序運行過程中編譯過程中(2)LIo(3)$(4)$A$(CC、CFLAGS等)目標文件的完整名稱所有不重復的依賴文件,以空格隔開第一個依賴文件的名稱、3.簡答題make和Makefile之間的關系?答:make是一種命令,是根據Makefile文件的規則決定如何編譯和連接程序或其他的動作。Makefile的普通變量與預定義變量有什么不同?預定義變量有哪些?它們分別表示什么意思?答:普通變量:引用變量時,只需在變量前面加上$符;預定義變量:已經定義好,直接引用即可。預定義變量有:$、$。$:表示完整的目標文件名;$八:表示所有的依賴文件;$:表示依賴文件列表中的第一個文件。GCC編譯
16、器的常用參數有哪些?它們的功能分別是什么?答:gcc編譯器的常用參數:-o,-I,-L,-E,-S,-c功能:-o表示編譯成一個可執行程序;-I表示指定頭文件目錄;-L表示指定庫文件目錄選項;-E表示對源代碼進行預編譯;-S表示編譯成匯編代碼;-c表示把.c文件轉換為以.。為擴展名的目標文件。4.編程及調試題(1)根據要求編寫Makefile文件。有5個文件分別是main.c、visit.h、study.h、visit.c、study.c,具體代碼如下。/main.c文件ooooi:#include00002:00003:mtmain(void)00004=00005:inti=o;poooe
17、:0000:printF;1Pl&aseinpjtth己valueofifram1.to5:oooob=scanf(%df&i;00009z00010:if(i=1)ooon:visit();00012z00013:if(i=2)oooi4zstudy(3;pools:0001:return0;/visit.h文件00001Zvoidvisitoj/study.h文件oaooi:uoidstudy/visit.c文件oaooi:#ineludevisit.h0002:0003:voidvisit()00004:oooos:printf(visitfriendtoda/n|J;OOOic:/st
18、udy.cooooi:includestudy-hooooz:00002:voidstudy(j00004=00003zprintf(Etudyembeddedsystemtada/Xn);0000c:|1)如果上述文件在同一目錄,請編寫Makefile文件,用于生成可執行程序zhs。/Makefile文件1PHONY:匚丄已曰n顯示的指出cleans偽目標)防止當爺目錄下存在匚丄已文件不能進行洎理工作3OBJECTS=niaiti口visit-口stucly口#自定義變雖:6zhs:$(OBJECTS)gcc-TiJall-g$A一口$Umain:maincvisi匸hstudyhgcc-T
19、iJall-g-c$-o50visit.:visi匸匚rFi曰it-hgee-TiJall-g-c$-cstudy匸i:studycstudyhgcc-TiJall-g-c$-o5015clean:已cho”工已niovef11已IS#在drt芳俞加表ZJ不顯7K甜芳rrn-fmain5(OBJECTS)20如果按照下面的目錄結構存放文件,請改寫Makefile文件。bin:存放生成的可執行文件obj:存放.0文件include:存放visit.h、study.hsre:存放main.c、visit.c、study.c和Makefile.1.PHONY:cleanzSRC_DIR=.INC_D
20、IR=./includeOBJ_DIR=./objBITJ_DIR=./bin7S$(BIN_DIR)/zhs:$(CBJ_DIR)/main.o$(OBJ_D:R)/visit.$(OBJ_DIR)/study.gcc-Vail-g$A-$(OBJ_DIR)/main.o:$(SRC_DIR)/ain.c$(INC_DIR)/visit.h$(INC_DIR)/study.hgcc-Vail-g-c$-1Z$(OBJ_DIR)/visit$(SRC_DIR)visit.c$(:NC_DIR)/visit.hgcc-Vail-g-c$-$(OBJ_DIR)/study,o:$(SRC_DIR)
21、study.c$(:NC_DIR)/study.hgcc-Vail-g-c$-$clean:echorrreinovefilestart.,rrm-f$(BIN_DIR)/zhs$(OBJ_DIR)/*.如果按照下面的目錄結構存放文件,請改寫Makefile文件。bin:存放生成的可執行文件obj:存放.o文件include:存放visit.h、study.hsre:存放main.c和Makefilesrc/srcl:存放visit.csrc/src2:存放study.c1.PHONY:cleanzSRC_DIR=.INCDIR=includeOBJ_DIR=.objBIN_DIR=.din7
22、S$(BIN_DIR)/zhs:$(OBJ_DIR)/train.$(OBJ_DIR)/visit.$(OBJ_DIR)/study.gcc-Wall-g$A-$(OBJ_DIR)/niain.o:$(SRC_DIP)/main.c$(INC_IIR)/visit,h$(INC_DIR)/study.hgcc-Wall-g-c$-1Z$(OBJ_DIR)/visit$(SRC_DIR)/srcl/visit.c$(INC_DIR)/visi?.hgcc-Wall-g-c$-$0$(OBJ_DIR)/ssudy.o:$(SRC_DIR)/src2/study.c$(INC_DIR)/study.
23、hgcc-Wall-g-c$-clean:echorrreni3vefilestart.rrISrm-f$(BIM_DIR)/zhs$(OBJ_DIR)/*.說明:這可能只是其中一種方法,方法不唯一。我這種做法有一個缺點就是需要修改visit.c和study.c文件的內容,如修改#include“./include/visit.h”。(2)按要求完成以下操作。vi編輯test.c文件,其內容如下。123丄1itmainU45ints=Fi;o7forti=;iv=;i+)8gs=s+i;10liprintffln.s);121314return;15用gcc-otest.otest.c編譯,生
24、成test.owywubuntu:/mnt/hgfs/lo/exercise_91sIstest.cwywubuntu:/mnt/hgfs/lo/exercise_91sgcc-otest.otest.cwywubuntu:/mnt/hgfs/lo/exercise_91$IstEwt.vtest討丫恥ubuntu:/mnt/hgf已x已cisE91s用gcc-g-otestl.otest.c編譯,生成testl.owywtaiiburtu:/mnt/hgfs/lo/exercise_91SIstestwywuburtu:/mnt/hqfs/lo/已z已rcise91Sqcc-g-testl.
25、otest.cwywubuntu:/mnt/hgfs/lo/exercise_91$IstEwtl.otesttest.owywuburtu:/mnt/hgfs/lo/已x已rcisE91$比較test.o和testl.o文件的大小,思考為什么?wywubuntu:/mnt/hgfs/lo/exercise_91fIs-Itotal9-rwxrwxrwx1rootroot83202014-91-0518:24testl.o-rwxrvrxrwx1rootroot1512014-91-0518:22test.c-rwxrvrxrwx1rootroot71762014-01-0518:22test
26、.o討ywtgubuntii:/mnt/hgf/L0/EHEc:isE91$帶調試選項-g的目標文件testl.o比較大。因為在gcc編譯源代碼時指定-g選項可以產生帶有調試信息的目標代碼。(3)使用GDB調試上面的程序調試參數-g進行編譯#gcc-gtest.c-otestwywubuntu:/mnt/hgfs/Lo/exercise_91$Ist亡百tl.otestqtest.owywubuntu:/mnt/hgfs/Lo/exercise_91Sgcc-gtest.c-testwywubuntu:/mnt/hgfs/Lo/exercise_91$Istesttestltesttest坤丫
27、隠ubuntui/ffint/hgfs/lo/已xEci5已91$啟動GDB調試,開始調試#gdbGtestwywubuntu:/mnt/hgfs/lo/exercise_91$gdbGtestGNUgdb(GDB)7.1-ubuntuCopyright(C)201GFreeSoftwareFoundation,Inc.LicenseGPLv3+:GNUGPLversion3orlaterThisisfreesoftware:youarefreetochangeandredistributeit.ThereisNOWARRAMTYptotheextentpermittedb/law.Type1
28、1showcop/ingandshowwarrantyfordetails.ThisGDBwasconfiguredasi486-linux-gnu.ForbugreportinginstructionsFpleasesee:.Gtest:Nosuchfileordirec,|(gEb)使用gdb命令進行調試。略。(4)編寫一個程序,將系統時間以year-month-dayhour:minute:second格式顯示在屏幕上,并將它保存在time.txt文件。1J2-3#斗51ntmain(-aid)e7t;8stricttm*ptoday;9FILE*f|l=NUL.;1911t=time(
29、);12ptoday=localtime(St);1314printfS2d-02d-02dB2dB2d:%S2d,ptoday-tm_year+,ptodiiion+,ptoday-:tmmday,ptoday-!tmhourHptoday-tmminHptodmy-tmsec);1516fp=fopen(,);17iff=fpl1819printf(txterroriXn,_LINE;2021-1;232斗fprintf(fprrptoday-tmyear+rPtoday-tmnon+,ptoday-tmmdayrptoday-tmhourrptoday-tmmirrptoday-tm_s
30、ec);2526return;I274.4練習題填空題串口11520081無無編程器串口網絡接口Bootloader程序仿真調試程序的燒寫zImageroot.cramfs啟動加載模式下載模式匯編語言C語言U-BootBlobARMBoot(或者RedBootvivi)BusyBox啟動加載模式說明:按回車進入啟動加載模式;按回車外的任意鍵進入i的下載模式。選擇題A(2)C(3)A(4)A(5)A簡答題簡述嵌入式開發環境的搭建過程答:1、交叉編譯工具鏈的安裝;2、安裝配置TFTP服務;3、安裝配置NFS服務;4、C-Kermit的安裝配置;5、minicom的安裝配置;6、windows下超級
31、終端的配置。BootLoader的結構分兩部分,簡述各部分的功能?答:兩部分:Stagel:用匯編語言編寫,主要進行設備的初始化;Stage2:用C語言編寫,增強程序的移植性和可讀性。ARM常用的Bootloader程序有哪些?答:U-Boot,Blob,RedBoot,vivi簡述生成內核映像文件zImage的步驟。答:1、makeconfig進入命令行;2、makemenuconfig內核裁剪;3、makeclean清理以前已生成的目標文件;4、makedep編譯變量的依賴關系;5、makezImage生成內核鏡像文件zImage。BusyBox工具的功能是什么?答:BusyBox工具用來
32、精簡基本用戶命令和程序,它將數以百計的常用UNIX/Linux命令集成到一個可執行文件中。簡述根文件系統的創建過程。答:1、建立基本的目錄結構;2、交叉編譯BusyBox;3、創建配置文件;4、利用cramfs工具創建根文件系統映像文件。5.4練習題1.選擇題B(2)D(3)C(4)A(5)C(6)D2.填空題(1)內核態字符設備塊設備主設備號次設備號靜態編譯動態編譯(5)insmod說明:用于加載模塊化驅動程序的命令是smod;用于卸載已安裝模塊化驅動程序的命令jrmmod;用于查看已安裝的模塊化驅動程序的命令是mod。3.簡答題簡述驅動程序的主要功能。答:1、對設備初始化和釋放;2、數據傳
33、送;3、檢測和處理設備出現的錯誤。簡述驅動程序的組成。答:1、自動配置和初始化子程序;2、服務于I/O請求的子程序;3、中斷服務子程序。簡述設備驅動程序與應用程序的區別。答:1、設備驅動程序工作在內核態下,而應用程序工作在用戶態下;2、設備驅動程序從module_init()開始,將初始化函數加入內核初始化函數列表中,在內核初始化時執行驅動的初始化函數,從而完成驅動的初始化和注冊,之后驅動便停止工作,等待應用程序的調用;而應用程序從main()函數開始執行。3、應用程序可以和GLIBC庫連接,因此可以包含標準的頭文件;驅動程序不能使用標準的C庫,因此不能調用所有的C庫函數。簡述設備文件、驅動文
34、件、主設備號和次設備號之間的關系。答:驅動程序加載到內核后有一個主設備號。在Linux內核中,主設備號標識設備對應的驅動程序,告訴Linux內核使用哪一個驅動程序為該設備(也就是/dev下的設備文件)服務,而次設備號則用來標識具體且唯一的某個設備。簡述字符設備驅動程序提供的常用入口點及各自的功能。答:open入口點:對將要進行的I/O操作做好必要的準備工作,如清除緩沖區等。如果設備是獨占的,即同一時刻只能有一個程序訪問此設備,則open子程序必須設置一些標志以表示設備處于忙狀態。close入口點:當設備操作結束時,需要調用close子程序關閉設備。獨占設備必須標記設備可再次使用。read入口點
35、:當從設備上讀取數據時,需要調用read子程序。write入口點:向設備上寫數據時,需要調用write子程序。ioctl入口點:主要用于對設備進行讀寫之外的其他操作,比如配置設備、進入或退出某種操作模式等,這些操作一般無法通過read或write子函數完成操作。簡述逐次逼近型ADC的結構及工作原理。答:逐次逼近型ADC通常由比較器,數模轉換器(DAC),寄存器和控制邏輯電路組成。工作原理:初始化時,先將寄存器各位清空。轉換時,先將寄存器的最高位置1,再將寄存器的數值送入DAC,經D/A轉換后生成模擬量送入比較器中與輸入的模擬量進行比較,若VsVi,則該位的1被保留,否則被清除;然后再將次高位置
36、1,再將寄存器的數值送入DAC,經D/A轉換后生成的模擬量送入比較器中與輸入模擬量進行比較,若VsL3過GFGZ3色嵩口來扌空制II-已口白勺亮更.快用言士半和JEZ用程斥應用程dddddddddduuuuuuuuuulcleclclHclTlHclalclIninlnln!nlninlnln!nlnin件-=Iinu:x/kcernel.hcIinuw/moduI&_heIinuk/irhi七口hiaqinux/device-.hnvIinux/typ-li二-=Iinli:x/io-clInacIinLiw/e-rror_ha=Iin!/cdev.havIi門lix/=hnvd石e/io-
37、.ha-=asm/Limuuemm.h二-cmsm/arch/ire-gs-gpio_ha走.:EVI_C&ri1define-LEDCFF走丸LED邊備自struct-31_O_IIErd扌空l_EU的賓滅A:芒QjX_c對ao4xz00042_istaticstr-uc-s3c210_Ied_devmdevj-0004a=deF_tde-wno;0004:4二0DO4C:/V初女合|七IU言侖口0004C.vo-idS3c241O_l&d_lnitlOvoid00047.應:的鍛口為輸出00043:三刁匚24O_spio_c7fpinCS3C2I1O_GPGS3C2410_GPG3_OUT
38、P3;口口口石i二注設0006左二ctaticzirrts3c241O_lEd,_r&leaS&(-K-ti-iJctinode*InodeBs=trurtfile-00063二電OOOfi4二returnOOOOSS二口口口肓G-OOOC7-/IO扌甲衞丨EU數,誦過LEDONTOLEDdFF命令來扌空ifrjLED的耳頁OO6&=emd!用戶空制命令r包4SLEl_OM和LEC_.OFFoooso二口口口三11二瓏K1-三匚初皓対熄00052-s3c-4-10_aizno.-set口infm:3U24zLO_i3PT3:3”1_匚口OF)ooo&a二3-0005二OOOE&二打升i殳苗OO
39、5CstaticintS302.-411O1ldoperii:struciinoclcinodesjstrucfcfiles=flip300057OOO&5=retui-iio;ODOS9:yOOOSO二OOO9=static:irrtS3C241_iOCtlinodeiticdePstructfils*fl_ipfsun-signedintcmdrfunsigne-dlongzii*q?ooo7=口口口丁丄二五witcli(匸mH)00072=in(S3C24-10_GPGrLED_ONl00075=m_cfe-v.BBtLI-Bij-口口ot6-:b-resloooeo=bl:00051:
40、ODOQS二口口口呂m二OOOB4z0003S二OnoB6:oooe7二口口口呂szOOOB9-0009O二OOOS2ooo9a二口口口日at00095z0009二00097二ooo9a=099-1OO1o=OO11二ooO2二00103:00104二口口丄口Ei:OOIOGOO1OP二00108二OO15二口口丄1_口::Oil1二00112二a1x3z00114-OOH&二oan6二00117二口口丄丄曰二00119-00X2=dcFauIt:f-eturn-&IN/ALjretHJrnO;/S/static.讀取LED的*式態buffer;1=1=1來存H者諱斗飛m1_丘罰式態UdLin
41、t!用來記錄用戶讀取了李少牛宇符33-ic_tS3C24lO_l&df&adcsruzttile1口幵_七pos)rcturn1f(可豐時寫操件囲埶,本宏例中千做任._st譏iuss-izzs_tS302.4-10a_IlSV_VVrilEiB-iljsriJcfileflip.-char/SS:件飪作結枯仕斗現s3c2l-lOE=d_Dhun門睜staticfila_oparatian-s_Ied_fcps-o-wn&r=THIS_MODLILE=r.o-psn=s3=24-10_led_ouuria.release-=j弓匸:2411_co_le-d_reIea.io-cl=1O_lod_
42、io-=l.ads311.tl_d_rsad-wjrite=e:3匚34XD_I_wrlte!rbuFtgrsie-_tuour仁函埶與cpnC尊Io-FF_t=:pcs)菲績凋用的連拐OO1ZL能函劉Ie-v(tjoid)/v玄裝工口設昔的staticLoiclled_aetup_口口_丘m00124口口15OO12G0012?O1Z80013900130ooiax口口:LmEintret=MKOEVfu_EBXcriTw*u_mfnorS;ret=reaister_chrdev_rea丄.DEVICE_MAMEif(rety00133口口134p-rintkcCLinedru口is-t&r
43、chrdev廠=口匚口ninrfiluerretr!n一LINEmFILEh00135X300137ooiaeOO1S300140retallo-c_chrde-v_region(與_mm彳a丄#DEVICE_NAME)jIffF&tC口)00142口口x4B00144X4&OO001-1?OO1-1S00149口口_m口OO15X口口XEiz00153XS4.00155OO1SS00157ooisa口口XEl5ooieoprintk:fB,Lin&d!:mlloizchrdewre-gioninf11eerrtirlnJrLINE=cde-v_init(&jm_OT曰a.cdevr卑1Q_f
44、&_fo尸與J;rtt_.cd&v.owner=THIS_MODULE1;irti_elfuh.cdu”ctps-=2坤工Q_Fu_fojsjsjiret=cd&v_addCSjot_cfvcduv*if(retuo)printk(Line%decde-waddreturn-1;FILEirijfile%e=e-rror!XnfLINEFILE:OOL6LOO3-GZ口口X63OX4returnendled00165/ta塊iostaticintinits3C2-4-10_le4_nit一,m)LEDOOL79ooraooolexOOLSZooraa口口XB4003-35打權塊卸載函埶stat
45、icxzcriids3o2410_led_exit(vuid)ooxa石ooras003-90zunregister_chrdav_regiqn(efevjio丄J;modul甘_1nito:s:juNi.o_uci_和訂七):module_e-xit:W3CNWW之Joooio二oooiJ.二00012:口口口二00014二口口口ZLEi=OOOlzOOOiT二00018二0003-9二口口口丘口二00021-頭烹#ineludeJtindLid&洋ineludejinizIuidE#inelude#inelude件-cstdiot.h-cstdliti.hcunis-tdkiAcfcntL
46、hc-svs-/i口ctl.liAvsy=/types_h-define-l_EE_ON3_jtd&fine-l_EE二a尸尸門voididGIay(inizimintim01rHifintar-gszruhar*argh)口口口三5TOOOZfi-oaaT=oooza=oooss=oooso二00035.二口口口二00033=00034二00035:003百二口口口二00030-intfd-Uintled_fi-tatzue:fd=fCfdO;o-pe-n(/de-z/|ed弋O)printF(Line-id!opendc&IedLIMEreturn-1;00035二00040二ioctl(fdLED_OFF)J0041=whilcCxOO4主二OOS=J?Endimain?口口口STzOOG:=voidd&layont3Eeo=inti一OfOS丄
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國潤腸茶行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030中國消防器材行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030中國流感疫苗行業市場深度調研及競爭格局與投資研究報告
- 2025-2030中國洗衣去污劑行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025-2030中國治療筆記工具行業市場發展趨勢與前景展望戰略研究報告
- 智商測試題及答案大全
- 疼痛管理的考試試題及答案
- 蘇少版二年級音樂下冊(簡譜)第2單元《動:歌表演(小花貓和小老鼠)》教學設計
- 2025年計算機二級考試備戰策略試題及答案
- 2024年心理咨詢師考試實踐應用試題及答案
- 設備銷售合同三方協議(2025年)
- 電力主要負責人講安全課
- 安恒可信數據空間建設方案 2024
- 2025屆高考作文復習:二元及多元思辨審題立意 課件
- 機器搬遷合同范例
- 追覓科技28題在線測試
- 2024北京重點校初二(下)期中語文匯編:基礎知識綜合
- 小學語文中國詩詞飛花令集錦
- 湖北省襄陽市2023-2024學年高一上學期期末考試化學試題(含答案)
- NC63全產品培訓課件-合同管理
- 2024年中信銀行唐山分行招聘管理單位遴選500模擬題附帶答案詳解
評論
0/150
提交評論