版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1章ARM體系結(jié)構(gòu)中的字、半字、字節(jié)的長(zhǎng)度各是多少?32位、16位、8位。ARM系列產(chǎn)品包括幾大類?每一類的特點(diǎn)和應(yīng)用場(chǎng)合分別是什么?Cortex-A:針對(duì)高性能計(jì)算。如我們目前手機(jī)SoC中常出現(xiàn)的Cortex-A7Cortex-R:針對(duì)實(shí)時(shí)操作處理。主要是面向嵌入式實(shí)時(shí)處理器。在汽車的電子制動(dòng)系統(tǒng),工業(yè)控制領(lǐng)域等領(lǐng)域比較常見。Cortex-M:專為低功耗、低成本系統(tǒng)設(shè)計(jì)。目前火熱的IOT(IoT是InternetofThings的縮寫,準(zhǔn)確的翻譯應(yīng)該為"物聯(lián)網(wǎng)"。)領(lǐng)域常常見到采用Cortex-M架構(gòu)的處理器。ARM狀態(tài)下指令長(zhǎng)度是多少位?Thumb狀態(tài)下指令長(zhǎng)度是多少位?32位、16位。什么是大端存儲(chǔ)格式什么是小端存儲(chǔ)格式在ARM內(nèi)核的系統(tǒng)中常采用哪種格式?在大端存儲(chǔ)格式中,字?jǐn)?shù)據(jù)的高字節(jié)存儲(chǔ)在低字節(jié)單元中,字?jǐn)?shù)據(jù)的低字節(jié)則存儲(chǔ)在高地址單元中,如圖1-1所示。在小端存儲(chǔ)格式中,低地址單元存儲(chǔ)的是字?jǐn)?shù)據(jù)的低字節(jié),高地址單元中存儲(chǔ)的是字?jǐn)?shù)據(jù)的高字節(jié),如圖1-2所示。第2章在Linux開發(fā)中最常用的編輯軟件是那個(gè)?vi是Linux系統(tǒng)的第一個(gè)全屏幕交互式編輯程序在Linux開發(fā)中最常用的編輯和編譯軟件有哪些?它們功能有什么不同?vi和gcc在Linux開發(fā)中GNUMake作用是什么?Make工程管理器也就是個(gè)“自動(dòng)編譯管理器”,這里的“自動(dòng)”是指它能夠根據(jù)文件時(shí)間戳自動(dòng)發(fā)現(xiàn)更新過(guò)的文件而減少編譯的工作量,同時(shí),它通過(guò)讀入Makefile文件的內(nèi)容來(lái)執(zhí)行大量的編譯工作。用戶只需編寫一次簡(jiǎn)單的編譯語(yǔ)句就可以了。它學(xué)會(huì)ifconfig命令的使用。(1)作用用于查看和配置網(wǎng)絡(luò)接口的地址和參數(shù),包括IP地址、網(wǎng)絡(luò)掩碼、廣播地址,它的使用權(quán)限是超級(jí)用戶。(2)格式ifconfig有兩種使用格式,分別用于查看和更改網(wǎng)絡(luò)接口。1.ifconfig[選項(xiàng)][網(wǎng)絡(luò)接口],用來(lái)查看當(dāng)前系統(tǒng)的網(wǎng)絡(luò)配置情況。2.ifconfig網(wǎng)絡(luò)接口[選項(xiàng)]地址,用來(lái)配置指定接口(如eth0,eth1)的IP地址、網(wǎng)絡(luò)掩碼、廣播地址等。第3章Linux常用的shell有幾種,我們常用的是那種?BourneshellCshellkornshellbash,以“#”號(hào)開頭的行作用?Shell如何處理“#”號(hào)后面的所有內(nèi)容。以“#”號(hào)開頭的行是注釋,Shell會(huì)直接忽略“#”號(hào)后面的所有內(nèi)容。變量的如何賦值和使用?在Shell中使用變量不需要事先聲明。使用等號(hào)“=”將一個(gè)變量右邊的值賦給這個(gè)變量.在一個(gè)腳本中美元提示符“$”作用?在BASH中,美元符號(hào)“$”用于對(duì)一個(gè)變量進(jìn)行解析。Shell在碰到帶有“$”的變量時(shí)會(huì)自動(dòng)將其替換為這個(gè)變量的值引號(hào),單引號(hào),倒引號(hào)使用規(guī)則?雙引號(hào):阻止Shell對(duì)大多數(shù)特殊字符(例如#)進(jìn)行解釋。但“$”、“
`”和“仍然保持其特殊含義。單引號(hào):阻止Shell對(duì)所有字符進(jìn)行解釋。倒引號(hào):“
`”,這個(gè)符號(hào)通常位于鍵盤上Esc鍵的下方。當(dāng)用倒引號(hào)括起一個(gè)Shell命令時(shí),這個(gè)命令將會(huì)被執(zhí)行,執(zhí)行后的輸出結(jié)果將作為這個(gè)表達(dá)式的值。倒引號(hào)中的特殊字符一般都被解釋。Shell中的循環(huán)結(jié)構(gòu)有幾種?有3種:while、until和for第4章Exynos4412是幾核處理器,其工作頻率能達(dá)到多少G?是三星第一款四核處理器。主頻達(dá)到1.4~1.6Ghz2.Exynos4412有幾24位I2S接口3個(gè)24位I2S接口Exynos4412有個(gè)幾個(gè)I2C接口8個(gè)I2C接口Exynos4412幾個(gè)SPI接口3個(gè)SPI接口Exynos4412幾個(gè)UART接口4個(gè)UART接口。第5章Exynos4412有多少多功能的輸入/輸出引腳,分為多少組通用GPIO和MemoryGPIO。4412芯片上共有304個(gè)多功能的輸入/輸出引腳,分為37組通用GPIO和2組MemoryGPIO。熟悉通用GPIO的功能控制寄存器、數(shù)據(jù)寄存器用法。端口控制寄存器:GPA0CON~GPZCON。在4412中端口控制寄存器控制了每個(gè)管腳的功能。所以使用這些管腳時(shí)必須通過(guò)控制寄存器對(duì)管腳進(jìn)行設(shè)置。熟悉通用GPIO寄存器上拉、下拉、能力驅(qū)動(dòng)做法。端口上拉或下拉寄存器:GPA0PUD~GPZPUD,端口上拉或下拉寄存器控制了該端口的上拉或下拉的禁止或使能,提高端口的驅(qū)動(dòng)和抗干擾能力。端口驅(qū)動(dòng)能力寄存器:GPA0DRV~GPZDRV,該寄存器提高了端口的驅(qū)動(dòng)能力。第6章1,Exynos4412通過(guò)GIC管理多少中斷,其中軟件中斷有幾個(gè)?私有外設(shè)中斷有幾個(gè)?共享外設(shè)中斷有幾個(gè)?Exynos4412采用中斷控制器(GIC)來(lái)管理中斷資源,它支持160個(gè)中斷源,包括16個(gè)軟件中斷(SGI),16個(gè)私有外部中斷(PPI),128個(gè)公共外部中斷(SPI)。2,Exynos4412EXT_INT41CON配置寄存器作用?EXT_INT41_MASK、EXT_INT41_PEND、ICDISERn(n=0~4)_CPUn(n=0~3)、ICCICR_CPUn(n=0~3)、ICDDCR、ICCPMR_CPUn(n=0~3)、ICCIAR_CPUn(n=0~3)、ICCEOIR_CPUn(n=0~3)、ICDICPRn(n=0~4)_CPUn(n=0~3)作用是什么?外部觸發(fā)方式有5種,分別是低電平、高電平、下降沿、上升沿和雙沿。對(duì)應(yīng)的觸發(fā)方式配置為EXT_INT41CON[6:4]對(duì)應(yīng)GPX1_1:EXT_INT41[10:8],對(duì)應(yīng)GPX1_2。WAKEUP_INT1[1])對(duì)應(yīng)的中斷使能和禁止為EXT_INT41_MASK[1]位,EXT_INT41_MASK[1]設(shè)置為0,表示允許中斷。CPU0中斷響應(yīng)總開關(guān)是ICCICR_CPU0。優(yōu)先級(jí)過(guò)濾寄存器是ICCPMR_CPUn(n=0~3)。ICDDCR是全局中斷使能寄存器,當(dāng)ICDDCR[0]為1時(shí),GIC開始監(jiān)控中斷源,當(dāng)中斷條件滿足時(shí)給相應(yīng)CPU發(fā)中斷響應(yīng)信息。EINT9和EINT10分別是SPI25和SPI26,中斷ID號(hào)是57,58則對(duì)應(yīng)ICDIPTR14[15:8]和ICDIPTR14[23:16]。當(dāng)處理器完成某一種中斷,需要通過(guò)ICCEOIRCPUn(n=0~3)寄存器清除處理器該中斷狀態(tài)位3,EINT9和EINT10中斷ID是多少?是第幾個(gè)SPI中斷?EINT9和EINT10中斷ID號(hào)是57,584,EINT9和EINT10是第幾個(gè)SPI中斷?EINT9和EINT10是第SPI25和SPI26號(hào)中斷。第7章1,利用串口調(diào)試工具完成PC和Exynos4412互傳一個(gè)字符串。見書中實(shí)例。2,Exynos4412UART有幾種通信模式?三種,查詢,中斷和DMA.3,Exynos4412UART有幾個(gè)通道,每通道通信目的?Exynos4412提供了5個(gè)獨(dú)立的異步串行通信接口,每個(gè)接口都支持中斷或DMA模式。4,熟悉例子程序,學(xué)會(huì)Exynos4412UART編程。見書中實(shí)例。第8章1,熟悉ADCCON各位的含義及其用法ADC控制寄存器ADCCON各位的含義及其用法ADCCON位定義初值REX[16]ADC轉(zhuǎn)換分辨率選擇:0,10位輸出;1,12位輸出0ECFLG[15]AD轉(zhuǎn)換結(jié)束標(biāo)志,0,AD轉(zhuǎn)換正在進(jìn)行;1,AD轉(zhuǎn)換結(jié)束0PRSCVL[14]A/D轉(zhuǎn)換分頻值使用選擇:0,不使用預(yù)分頻值,1,使用預(yù)分頻值0xffPRSCVL[13:6]預(yù)分頻值PRSVL,取值19~2550保留[5:3]保留1READ_START[1]A/D轉(zhuǎn)換結(jié)束讀使能,0禁止讀,1=允許讀0ENABLE_START[0]啟動(dòng)A/D轉(zhuǎn)換允許:0=無(wú)操作;1=啟動(dòng)A/D轉(zhuǎn)換啟動(dòng)后該位清00熟悉A/D轉(zhuǎn)換控制程序的編寫步驟。設(shè)置A/D轉(zhuǎn)換的時(shí)鐘頻率選通道動(dòng)轉(zhuǎn)換判斷轉(zhuǎn)換是否結(jié)束令READ_START=1(ADCCON[1]=1),啟動(dòng)讀功能3,學(xué)習(xí)并熟悉示例程序,在開發(fā)系統(tǒng)上實(shí)現(xiàn)A/D轉(zhuǎn)換實(shí)驗(yàn)。見書中內(nèi)容。4,如何啟動(dòng)一個(gè)A/D轉(zhuǎn)換和判斷A/D轉(zhuǎn)換結(jié)束。啟動(dòng)轉(zhuǎn)換rADCCON=0x01;//啟動(dòng)ADCWhile(rADCCON&0x01); //ADC啟動(dòng)后該位自動(dòng)清0判斷轉(zhuǎn)換是否結(jié)束While(rADCCON[15]&0x8000);//檢查ECFLG位是否為高第9章1,Exynos4412共有多少個(gè)DMA通道,其中內(nèi)存到內(nèi)存有幾個(gè),內(nèi)存到外設(shè)幾幾個(gè)。Exynos4412共有24個(gè)DMA通道,其中內(nèi)存到內(nèi)存有8個(gè),內(nèi)存到外設(shè)有16個(gè)2,簡(jiǎn)述DMA工作過(guò)程。(1)當(dāng)外設(shè)準(zhǔn)備就緒,向DMA控制器(DMAC)發(fā)出DMA請(qǐng)求信號(hào)(DREQ)。DMAC收到此信號(hào)后,向CPU發(fā)出總線請(qǐng)求信號(hào)(HOLD)。(2)CPU在完成當(dāng)前總線操作后立即對(duì)DMA請(qǐng)求信號(hào)做出響應(yīng)。DMAC獲得總線的控制權(quán)。(3)DMAC獲得總線的控制權(quán)后,向地址總線發(fā)出地址信號(hào),指出傳送過(guò)程需使用的內(nèi)存地址。向外設(shè)發(fā)出DMA應(yīng)答信號(hào)(DACK),實(shí)現(xiàn)該外設(shè)與內(nèi)存之間的DMA傳送。(4)在DMA傳送期間,DMAC發(fā)出內(nèi)存和外設(shè)的讀/寫信號(hào)。(5)為了決定數(shù)據(jù)塊傳輸?shù)淖止?jié)數(shù),在DMAC內(nèi)部必須有一個(gè)“字節(jié)計(jì)數(shù)器”。在開始時(shí),由軟件設(shè)置數(shù)據(jù)塊的長(zhǎng)度,在DMA傳送過(guò)程中,每傳送一個(gè)字節(jié),字節(jié)計(jì)數(shù)器減1,減為0時(shí),該次DMA傳輸結(jié)束。(6)?DMA過(guò)程結(jié)束時(shí),DMAC向CPU發(fā)出結(jié)束信號(hào)(撤消HOLD請(qǐng)求),將總線控制權(quán)交還CPU。3,參見書中實(shí)例。4,用什么結(jié)構(gòu)完成1次DMA轉(zhuǎn)輸所需要的所用參數(shù)structdma_slave_config結(jié)構(gòu),完成1次DMA轉(zhuǎn)輸所需要的所用可能參數(shù)。structdma_slave_config{enudma_transfer_directiondirection;phys_addr_tsrc_addr;phys_addr_tdst_addr;enumdma_slave_buswidthsrc_addr_width;enumdma_slave_buswidthdst_addr_width;u32src_maxburst;u32dst_maxburst;u32src_port_window_size;u32dst_port_window_size;booldevice_fc;unsignedintslave_id;};第10章簡(jiǎn)述PWM的工作原理及使用場(chǎng)合。假定用定時(shí)器控制在微處理器的I/O端口輸出周期為500μs的方波,一個(gè)周期中,高低電平各占250μs。人們把高電平占整個(gè)周期的時(shí)間比率稱為“占空比”,上面周期為500μs的方波的占空比為50%。用占空比可以改變的方波控制直流電機(jī),就可以改變直流電機(jī)的輸入平均電壓,進(jìn)而控制電機(jī)速度。占空比可以改變的方波叫作PWM。定時(shí)器的輸入頻率如何計(jì)算?定時(shí)器輸入時(shí)鐘頻率的計(jì)算公式如下:fTCLK=(fPCLK/(Prescaler+1))/分頻器其中,Prescaler為預(yù)定標(biāo)值(0~255);分頻器(表8-3中的4選1開關(guān))的分頻值為2、PWM的輸出頻率和占空比如何計(jì)算?PWM輸出時(shí)鐘頻率=定時(shí)器輸入時(shí)鐘頻率(fTCLK)/定時(shí)器計(jì)數(shù)緩沖器值(TCNTBn)。PWM輸出占空比=定時(shí)器比較緩沖器值(TCMPBn)/定時(shí)器計(jì)數(shù)緩沖器值(TCNTBn)。什么是預(yù)定標(biāo)器和分頻器?它們各有什么作用?定時(shí)器輸入時(shí)鐘頻率的計(jì)算公式如下:fTCLK=(fPCLK/(Prescaler+1))/分頻器其中,Prescaler為預(yù)定標(biāo)值(0~255);分頻器(表8-3中的4選1開關(guān))的分頻值為2、4、8和16。如果已確定定時(shí)器TOUT的輸出頻率和輸入頻率,如何求定時(shí)器的初值?div=(PCLK/256/4)/freq; //求定時(shí)器的計(jì)數(shù)初值TCNTBrTCNTB0=div;PWM控制寄存器有幾個(gè)?這些寄存器各有什么作用?定時(shí)器配置寄存器0(TCFG0)的配置含義位描述初值保留[31:24]無(wú)0x00死區(qū)長(zhǎng)度[23:16]單位是定時(shí)器0的1個(gè)計(jì)數(shù)長(zhǎng)度0x00預(yù)定標(biāo)器1[15:8]定時(shí)器2、3和4的定標(biāo)值0x00預(yù)定標(biāo)器2[7:0]定時(shí)器0、1的定標(biāo)值0x00定時(shí)器配置寄存器1(TCFG1)的配置含義位描述初值DMA方式[23:20]選DMA通道:0000=全部中斷方式;0001:定時(shí)器0;0010:定時(shí)器1;0011:定時(shí)器2;0100:定時(shí)器3;0101:定時(shí)器4;0110,保留0000多路開關(guān)4[19:16]0000=1/2,0001=1/4,0010=1/8,0011=1/16,0100=外部時(shí)鐘0000多路開關(guān)3[15:12]0000=1/2,0001=1/4,0010=1/8,0011=1/16,0100=外部時(shí)鐘0000多路開關(guān)2[11:8]0000=1/2,0001=1/4,0010=1/8,0011=1/16,0100=外部時(shí)鐘0000多路開關(guān)1[7:4]0000=1/2,0001=1/4,0010=1/8,0011=1/16,0100=外部時(shí)鐘0000多路開關(guān)0[3:0]0000=1/2,0001=1/4,0010=1/8,0011=1/16,0100=外部時(shí)鐘0000分析實(shí)驗(yàn)程序,說(shuō)明定時(shí)器用到哪幾個(gè)I/O端口?各端口的作用是什么?本例使用定時(shí)器0的TOUT0,其對(duì)應(yīng)的引腳是GPD0_0,因此要對(duì)GPD0CON進(jìn)行設(shè)置,使GPD0_0具有TOUT0功能第11章簡(jiǎn)述看門狗電路的功能及其工作原理。嵌入式系統(tǒng)運(yùn)行時(shí)若受到外部干擾或者發(fā)生系統(tǒng)錯(cuò)誤,程序有時(shí)會(huì)出現(xiàn)“跑飛”,導(dǎo)致整個(gè)系統(tǒng)癱瘓。為了防止這一現(xiàn)象發(fā)生,在對(duì)系統(tǒng)穩(wěn)定性要求較高的場(chǎng)合往往要加入看門狗(Watchdog)電路。看門狗的作用就是當(dāng)系統(tǒng)“跑飛”而進(jìn)入死循環(huán)時(shí),恢復(fù)系統(tǒng)的運(yùn)行。基本原理為:嵌入式控制系統(tǒng)的軟件結(jié)構(gòu)基本是一個(gè)循環(huán)結(jié)構(gòu),假設(shè)系統(tǒng)程序完整運(yùn)行一個(gè)周期的時(shí)間為tp,選定1個(gè)定時(shí)器,定時(shí)周期為ti,且ti>tp,在程序正常運(yùn)行tp周期中修改定時(shí)器的計(jì)數(shù)值1次,重新設(shè)定定時(shí)器的原定時(shí)間周期ti(俗稱“喂狗”)。只要程序正常運(yùn)行,運(yùn)行時(shí)間永遠(yuǎn)不會(huì)達(dá)到ti,定時(shí)器就不會(huì)溢出。如果由于干擾等原因使系統(tǒng)不能在tp時(shí)段修改定時(shí)器的計(jì)數(shù)值,定時(shí)器就會(huì)在ti時(shí)刻溢出,引發(fā)定時(shí)器溢出中斷。在中斷程序中編寫代碼,修改PC值為0,可使系統(tǒng)再回到正常的循環(huán)結(jié)構(gòu)中,恢復(fù)系統(tǒng)的正常運(yùn)行??撮T狗電路的輸入時(shí)鐘周期、看門狗的定時(shí)周期如何計(jì)算?輸入到計(jì)數(shù)器的時(shí)鐘周期:t_watchdog=1/(PCLK/(prescalervalue+1)/division_factor)看門狗電路的控制寄存器(WTCON)有哪些功能?看門狗定時(shí)器控制寄存器WTCON的定義WTCON位描述初值預(yù)定標(biāo)值[15:8]有效值0~2550x80保留[7:6]必須為000看門狗電路使能[5]0=禁止;1=使能1時(shí)間分頻[4:3]00=1/16,01=1/32,10=1/64,11=1/12800中斷使能[2]0=禁止中斷,1=使能中斷0保留[1]必須為00復(fù)位功能[0]0=禁止看門狗復(fù)位,1=引發(fā)復(fù)位信號(hào)0簡(jiǎn)述看門狗電路的數(shù)據(jù)寄存器(WTDAT)和計(jì)數(shù)器寄存器(WTCNT)的使用場(chǎng)合。作為常規(guī)定時(shí)器使用,并且可以產(chǎn)生中斷。作為看門狗定時(shí)器使用,期滿時(shí),可以產(chǎn)生128個(gè)時(shí)鐘周期的復(fù)位信號(hào)。第12章1.Exynos4412RTC具有哪些特點(diǎn)?有以下特點(diǎn):(1)時(shí)鐘數(shù)據(jù)采用BCD編碼或二進(jìn)制表示。(2)能夠?qū)﹂c年的年、月、日進(jìn)行自動(dòng)處理。(3)具有告警功能,當(dāng)系統(tǒng)處于關(guān)機(jī)狀態(tài)時(shí),能產(chǎn)生告警中斷。(4)具有獨(dú)立的電源輸入。(5)提供毫秒級(jí)的時(shí)鐘中斷(時(shí)鐘滴答中斷),該中斷可用于嵌入式系統(tǒng)的內(nèi)核時(shí)鐘。2.Exynos4412RTC控制寄存器(RTCCON)各位的定義是什么?如何使用?實(shí)時(shí)時(shí)鐘控制寄存器各位的定義RTCCON位定義初值TICEN[8]滴答功能使能,0=禁止;1=使能0CLKRST[3]實(shí)時(shí)時(shí)鐘計(jì)數(shù)器復(fù)位:=0,不復(fù)位;=1,復(fù)位0CNTSEL[2]BCD計(jì)數(shù)選擇:=0,BCD模式;=1,保留0CLKSEL[1]BCD時(shí)鐘選擇:=0,將輸入時(shí)鐘1/2分頻;=1,保留0RTCEN[0]RTC讀寫使能:0=禁止;1=允許0Exynos4412RTC時(shí)鐘寄存器有幾個(gè)?它們以什么格式表示?包括BCDSEC、BCDMIN、BCDHOUR、BCDHOUR、BCDDAYWEEK、BCDDAY、BCDMON、BCD、BCDYEAR、CURTICCNT。4.熟悉示例程序,學(xué)會(huì)修改時(shí)間。5.熟悉示例程序,學(xué)會(huì)讀取時(shí)間。6.如何在超級(jí)終端上按一定格式顯示讀取的時(shí)間。printf("year20%x:month%x:date%x:day%x",RTC.BCDYEAR,\RTC.BCDMON,\RTC.BCDDAY,\RTC.BCDWEEK);7.RTC滴答時(shí)鐘發(fā)生器有什么用途?如何使用?滴答時(shí)鐘計(jì)數(shù)器CURTICCNT主要用于需要在固定時(shí)間產(chǎn)生中斷的場(chǎng)合,滴答時(shí)鐘計(jì)數(shù)器中的值在每個(gè)滴答周期自動(dòng)減1,減到0時(shí)產(chǎn)生中斷。第13章簡(jiǎn)述I2C總線的原理及適用場(chǎng)合。I2C總線是由Philips公司開發(fā)的一種簡(jiǎn)單、雙向二線制同步串行總線。它只需要兩根線即可在連接于總線上的器件之間傳送信息。這種總線的主要特點(diǎn)如下:(1)總線只有兩根線,即串行時(shí)鐘線(SCL)和串行數(shù)據(jù)線(SDA),這在設(shè)計(jì)中大大減少了硬件接口。(2)每個(gè)連接到總線上的器件都有一個(gè)用于識(shí)別的器件地址,器件地址由芯片內(nèi)部硬件電路和外部地址引腳同時(shí)決定,避免了片選線的連接方法,并建立了簡(jiǎn)單的主從關(guān)系,每個(gè)器件既可作為發(fā)送器,又可作為接收器。(3)同步時(shí)鐘允許器件采用不同的波特率進(jìn)行通信。(4)同步時(shí)鐘可作為停止或重新啟動(dòng)串行口發(fā)送的握手信號(hào)。(5)串行數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達(dá)100kbps,在快速模式下可達(dá)400kbps,在高速模式下可達(dá)3.4Mbps。簡(jiǎn)述I2C總線的讀/寫操作格式。(1)指定單元寫圖11-3所示的是以EEPROM為例,向總線寫一字節(jié)數(shù)據(jù)的過(guò)程。圖11-3I2C總線指定單元寫信號(hào)時(shí)序在圖11-3中,只給出寫一字節(jié)SDA的時(shí)序,當(dāng)SCL為高,SDA從高到低跳變時(shí),啟動(dòng)I2C。I2C向總線寫第一字節(jié)數(shù)據(jù),1010是器件的類型,表示EEPROM,LSB=0是寫命令,接到ACK應(yīng)答后,再發(fā)一字節(jié)數(shù)據(jù),該字節(jié)數(shù)據(jù)是EEPROM內(nèi)的單元地址,然后收到ACK后就可以向SDA線上串行寫入一字節(jié)數(shù)據(jù),再收到ACK,直接發(fā)高電平結(jié)束本次操作。(2)指定單元讀該操作從所選器件的內(nèi)部地址讀一字節(jié)數(shù)據(jù),格式如圖11-4所示。圖11-4I2C總線讀時(shí)序在圖11-4中,當(dāng)SCL為高,SDA從高到低跳變時(shí),啟動(dòng)I2C。I2C向總線寫第一字節(jié)數(shù)據(jù),1010是器件的類型,表示EEPROM,LSB=0是寫命令,接到ACK應(yīng)答后,再發(fā)一字節(jié)數(shù)據(jù),該字節(jié)數(shù)據(jù)是EEPROM內(nèi)的單元地址;接到ACK后,因?yàn)橐獜膶懨钷D(zhuǎn)換為讀命令,所以I2C要重新啟動(dòng)一次(控制/狀態(tài)寄存器IICSTAT[5]=1),并發(fā)一個(gè)讀命令,接到ACK后就可以從總線上讀數(shù)據(jù)了。I2C讀數(shù)據(jù)要比I2C寫數(shù)據(jù)多一個(gè)重新啟動(dòng)過(guò)程。給出I2C控制寄存器的名稱和各位的定義。I2C控制寄存器(I2CCON)功能位描述初值A(chǔ)CK使能[7]0=禁止產(chǎn)生ACK信號(hào),1=允許產(chǎn)生ACK信號(hào)0Tx時(shí)鐘選擇[6]=0,I2CCLK=PCLK/16;=1,I2CCLK=PCLK/5120Tx/Rx中斷使能[5]=0,禁止Tx/Rx中斷;=1,允許Tx/Rx中斷0清除中斷標(biāo)記[4]不能對(duì)該位寫1,系統(tǒng)自動(dòng)寫1時(shí),I2CSCL被拉低,I2C傳輸停止。寫0,清除中斷標(biāo)記,重新恢復(fù)中斷響應(yīng);讀出結(jié)果是1,正在執(zhí)行中斷程序,不能進(jìn)行寫操作;讀出結(jié)果是0,沒(méi)有中斷發(fā)生0發(fā)送時(shí)鐘[3:0]發(fā)送時(shí)鐘分頻值:Tx_CLOCK=I2CCLK/(I2CCON[3:0]+1)不定第14章1.什么是SPI接口?它和I2C接口有什么相同點(diǎn)和不同點(diǎn)?SPI接口是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口主要應(yīng)用在EEPROM、Flash、實(shí)時(shí)時(shí)鐘、AD轉(zhuǎn)換器,以及數(shù)字信號(hào)處理器和數(shù)字信號(hào)解碼器之間。SPI接口在CPU和外圍低速器件之間進(jìn)行同步串行數(shù)據(jù)傳輸,在主器件的移位脈沖下,數(shù)據(jù)按位傳輸,高位在前,低位在后,為全雙工通信,數(shù)據(jù)傳輸速度總體來(lái)說(shuō)比I2C總線要快,速度可達(dá)到數(shù)Mbps。SPI接口是以主從方式工作的,這種模式通常有一個(gè)主器件和一個(gè)或多個(gè)從器件。接口包括以下4種信號(hào)。MOSI:主器件數(shù)據(jù)輸出,從器件數(shù)據(jù)輸入。MISO:主器件數(shù)據(jù)輸入,從器件數(shù)據(jù)輸出。SCLK:時(shí)鐘信號(hào),由主器件產(chǎn)生。4.:從器件使能信號(hào),由主器件控制。在點(diǎn)對(duì)點(diǎn)通信中,SPI接口不需要進(jìn)行尋址操作,且為全雙工通信,簡(jiǎn)單高效。在多個(gè)從器件的系統(tǒng)中,每個(gè)從器件都需要獨(dú)立的使能信號(hào),由于SPI接口比I2C總線多兩根信號(hào)線,因此硬件上比I2C系統(tǒng)要稍微復(fù)雜一些。2.SPI接口有哪些特性?SPI接口具有如下特性:1.與SPI接口協(xié)議v2.11兼容;2.8位/16位/32位用于發(fā)送的移位寄存器;3.8位/16位/32位用于接收的移位寄存器;4.查詢、中斷和DMA傳送模式。3.簡(jiǎn)述SPI接口操作和編程的步驟。見書中編程實(shí)例。Exynos4412SPI支持的數(shù)據(jù)傳輸格式有幾種?各有什么特點(diǎn)?Exynos4412支持4種不同的數(shù)據(jù)傳輸格式,圖12-4所示的是具體的波形圖。圖12-4SPI數(shù)據(jù)傳輸格式在圖12-4中,(a)與(b)極性相同,但相序差一個(gè)相位;(a)與(c)相序相同,都是格式A,但極性相反;(b)與(d)相序相同,都是格式B,但極性相反??傊诜治霾煌臄?shù)據(jù)傳輸格式時(shí),如果SCK的靜止?fàn)顟B(tài)為低電平,數(shù)據(jù)高電平傳輸(圖12-4中MSB從采樣到穩(wěn)定),CPOL=0,如圖12-4(a)和圖12-4(b)所示;如果SCK的靜止?fàn)顟B(tài)為高電平,數(shù)據(jù)低電平傳輸,CPOL=1,如圖12-4(c)和圖12-4(d)所示。如果數(shù)據(jù)采樣時(shí)刻在第1個(gè)脈沖的上升沿或下降沿,在第2個(gè)脈沖的下降沿或上升沿輸出,CPHA=0,格式A,如圖12-4(a)和圖12-4(c)所示;如果數(shù)據(jù)采樣時(shí)刻在第2個(gè)脈沖的上升沿或下降沿,在第1個(gè)脈沖的下降沿或上升沿輸出,CPHA=1,格式B,如圖12-4(b)和圖12-4(d)所示。第15章簡(jiǎn)述字符設(shè)備讀寫函數(shù)。讀文件用read();寫文件用write();熟悉驅(qū)動(dòng)程序操作框架。structfile_operationsfs4412_dt_adc_fops={ .owner=THIS_MODULE, .open=fs4412_adc_open, .release=fs4412_adc_release, .read=fs4412_adc_read,};讀ADC文件,賦值給變量DATA。data=readl(adc_base+FS4412_ADCDAT)&0xfff;熟讀ADCmake文件,了解程序中命令含義。參見書13.3節(jié)內(nèi)容。第16章Linux支持的設(shè)備驅(qū)動(dòng)可分為那幾類,其中字符設(shè)備的處理是以什么為單位來(lái)進(jìn)行的。Linux支持的設(shè)備驅(qū)動(dòng)可分為3類,字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備。其中字符設(shè)備的處理是以字節(jié)為單位來(lái)進(jìn)行的。Linux是通過(guò)什么形式對(duì)設(shè)備進(jìn)行訪問(wèn),使用哪些函數(shù)來(lái)完成打開、讀寫、I/O控制等操作。Linux是通過(guò)文件形式對(duì)設(shè)備進(jìn)行訪問(wèn),使用與文件I/O相同的函數(shù)來(lái)完成打開、讀寫、I/O控制等操作。驅(qū)動(dòng)程序主要就是設(shè)計(jì)這些系統(tǒng)調(diào)用函數(shù)。Linux把設(shè)備文件放在什么目錄下,設(shè)備命名規(guī)律是什么。Linux把設(shè)備文件放在/dev目錄下,設(shè)備命名一般是“設(shè)備文件名+數(shù)字或字母”,如/DEV/hda1等。設(shè)備操作宏MAJOR(ddev)和MINOR(dev)可以獲得主次設(shè)備號(hào)。主要功能是什么。設(shè)備操作宏MAJOR(ddev)和MINOR(dev)可以獲得主次設(shè)備號(hào)。宏MKDEV(ma,mi)的功能是根據(jù)主設(shè)備號(hào)和次設(shè)備號(hào)來(lái)得到相應(yīng)dev,dev是kdev_t結(jié)構(gòu),它主要功能是保存設(shè)備號(hào)。設(shè)備驅(qū)動(dòng)程序都有哪些共性,都要要完成什么任務(wù)。向系統(tǒng)申請(qǐng)主次設(shè)備號(hào)。實(shí)現(xiàn)設(shè)備初始化和卸載功能。設(shè)計(jì)設(shè)備文件操作,如定義file_operations結(jié)構(gòu)。設(shè)計(jì)設(shè)備文件操作調(diào)用,如讀寫等操作。實(shí)現(xiàn)中斷服務(wù)函數(shù),用requset_irq向內(nèi)核注冊(cè)。將驅(qū)動(dòng)程序編譯到內(nèi)核或編譯成模塊,用ismod命令加載。生成設(shè)備節(jié)點(diǎn)文件。我們常用動(dòng)態(tài)方法對(duì)設(shè)備驅(qū)動(dòng)程序完成一些操作:加載在系統(tǒng)啟動(dòng)時(shí)用ismod命令把驅(qū)動(dòng)程序(.o文件)加到內(nèi)核去。卸載不需要時(shí)用rmmod來(lái)卸載內(nèi)核模塊。10.設(shè)備初始化向系統(tǒng)添加一個(gè)驅(qū)動(dòng)程序相當(dāng)于添加一個(gè)主設(shè)備號(hào),可以調(diào)用register_chrdev();實(shí)現(xiàn)。11.注銷一個(gè)驅(qū)動(dòng)程序可以調(diào)用unregister();實(shí)現(xiàn)。12.打開文件用open();。13.關(guān)閉文件用close();。14.讀文件用read();。15.寫文件用write();。內(nèi)核模塊的加載和卸載:內(nèi)核模塊和和一般應(yīng)用程序主要不同是內(nèi)核模塊沒(méi)有主程序main()。內(nèi)核模塊加載用init_moddule(void);。讀懂LinuxLED驅(qū)動(dòng)程序,熟悉一些函數(shù)的使用。第17章1,LinuxPWM驅(qū)動(dòng)程序主要工作什么完成?(1)編寫設(shè)備驅(qū)動(dòng)程序,將PWM底層控制工作編入LinuxPWM驅(qū)動(dòng)程序文件操作框架中。(2)將PWM驅(qū)動(dòng)程序文件框架結(jié)構(gòu)體(structjile_operation)注冊(cè)進(jìn)內(nèi)核,并與驅(qū)動(dòng)程序主設(shè)備號(hào)相關(guān)聯(lián)。(3)編譯設(shè)備驅(qū)動(dòng)程序。(4)在/dev/目錄下,創(chuàng)建設(shè)備文件。(5)編寫和編譯測(cè)試程序,安裝PWM驅(qū)動(dòng)程序,通過(guò)應(yīng)用程序測(cè)試PWM驅(qū)動(dòng)程序。第18章什么是線程、什么是進(jìn)程、什么是任務(wù)。任務(wù)是一個(gè)邏輯概念,指由一個(gè)軟件完成的一個(gè)目標(biāo),或是一系列軟件共同達(dá)到一個(gè)目的的操作。一個(gè)任務(wù)可以包括一個(gè)或多個(gè)完成獨(dú)立功能的子任務(wù)。這個(gè)完成獨(dú)立功能子任務(wù)的操作我們叫進(jìn)程或線程。例如我們要沖一杯咖啡,可以包括燒水和研磨咖啡豆兩個(gè)獨(dú)立的工作過(guò)程。我們可以把燒水和研磨咖啡豆兩個(gè)獨(dú)立的工作過(guò)程叫兩個(gè)線程,或兩個(gè)進(jìn)程。因此線程和進(jìn)程分的不是很清楚,一般把輕量級(jí)的進(jìn)程也叫線程。2,簡(jiǎn)述進(jìn)程的并發(fā)性,動(dòng)態(tài)性,交互性,獨(dú)立性。并發(fā)性,如上面煮咖啡例子,燒水和研磨咖啡豆可同時(shí)進(jìn)行。動(dòng)態(tài)性,如上面煮咖啡例子,燒水和研磨咖啡豆?fàn)顟B(tài)是變化的。交互性,指在進(jìn)程中兩個(gè)進(jìn)程要互相交流,例如考慮燒水和研磨咖啡豆進(jìn)度,這就要增加處理機(jī)制。異步性,指燒水和研磨咖啡豆每個(gè)進(jìn)程都是獨(dú)立進(jìn)行,以不可知進(jìn)度向前執(zhí)行。獨(dú)立性,指各個(gè)進(jìn)程的地址空間是相互獨(dú)立的,只有采用特定的通信機(jī)制才可以實(shí)現(xiàn)不同進(jìn)程間通信。3多線程創(chuàng)建函數(shù)是什么?多線程創(chuàng)建編程常用的3個(gè)基本函數(shù)包括:創(chuàng)建線程函數(shù)、等待線程的結(jié)束函數(shù)和終止線程函數(shù)。在調(diào)用它們前均要包括pthread.h頭文進(jìn)程間通信主要涉及那三個(gè)概念。進(jìn)程間通信主要涉及信號(hào)、消息隊(duì)列、共享內(nèi)存三個(gè)概念。 5,PS、Kill命令有什么作用?PS是常用的監(jiān)視進(jìn)程命令。這個(gè)命令給出了有關(guān)進(jìn)程的所有信息。PSaux用于顯示當(dāng)前系統(tǒng)上運(yùn)行的所有進(jìn)程的信息。如圖1Kill命令殺死某進(jìn)程。第19章1,簡(jiǎn)述TCP/IP的分層模型。網(wǎng)絡(luò)接口層(NetworkInterfaceLayer):網(wǎng)絡(luò)接口層是TCP/IP協(xié)議軟件的最底層,負(fù)責(zé)將二進(jìn)制流轉(zhuǎn)換為數(shù)據(jù)幀,并進(jìn)行數(shù)據(jù)幀的發(fā)送和接收。數(shù)據(jù)幀是網(wǎng)絡(luò)傳輸?shù)幕締卧?。網(wǎng)絡(luò)層(InternetLayer):網(wǎng)絡(luò)層負(fù)責(zé)在主機(jī)之間的通信中選擇數(shù)據(jù)報(bào)的傳輸路徑,即路由。傳輸層(TransportLayer):傳輸層負(fù)責(zé)提供應(yīng)用程序之間的通信服務(wù)。這種通信又稱為端到端通信。應(yīng)用層(ApplicationLayer):應(yīng)用層是分層模型的最高層,在這個(gè)最高層中,用戶調(diào)用應(yīng)用程序通過(guò)TCP/IP互聯(lián)網(wǎng)來(lái)訪問(wèn)可行的服務(wù)。2,簡(jiǎn)述UDP傳輸協(xié)議。UDP是一種面向無(wú)連接的不可靠傳輸協(xié)議,不需要通過(guò)3次握手來(lái)建立一個(gè)連接,同時(shí),一個(gè)UDP應(yīng)用可同時(shí)作為應(yīng)用的客戶或服務(wù)器方。Linux中的網(wǎng)絡(luò)編程是通過(guò)socket接口來(lái)進(jìn)行的。簡(jiǎn)述套接字概念。套接字(socket)是一種特殊的I/O接口,它也是一種文件描述符。socket是一種常用的進(jìn)程之間通信機(jī)制,通過(guò)它不僅能實(shí)現(xiàn)本地機(jī)器上的進(jìn)程之間的通信,而且通過(guò)網(wǎng)絡(luò)能夠在不同機(jī)器上的進(jìn)程之間進(jìn)行通信。4,見書中內(nèi)容。第20章1,什么是Linux交叉開發(fā),什么是Linux嵌入式開發(fā)在宿主機(jī)上開發(fā),在目標(biāo)機(jī)上運(yùn)行的開發(fā)模式我們叫Linux交叉開發(fā),簡(jiǎn)稱交叉開發(fā)。把開發(fā)環(huán)境都放在目標(biāo)機(jī)上的開發(fā)模式我們叫Linux嵌入式開發(fā),簡(jiǎn)稱嵌入式開發(fā)。2,在Linux開發(fā)中共享文件夾有什么作用?共享文件夾非常重要,這里共享是指windows系統(tǒng)和Linux系統(tǒng)共享。因此該文件夾是windows系統(tǒng)和Linux系統(tǒng)相互聯(lián)系的橋梁。在windows系統(tǒng)下我們寫入該文件夾的程序、文件在Linux系統(tǒng)相應(yīng)文件夾中可以看到和使用。3,熟悉Linux開發(fā)中網(wǎng)絡(luò)適配器設(shè)置。見文件中內(nèi)容。熟悉USB變串口操作。打開CH340,點(diǎn)擊驅(qū)動(dòng)安裝,系統(tǒng)就會(huì)自動(dòng)安裝,一般都會(huì)安轉(zhuǎn)成功。此時(shí)我們要打開windows設(shè)備管理器,看一下增加的串口是那個(gè),要記住這個(gè)串口號(hào)。4確認(rèn)開發(fā)板相關(guān)信息。SOC,Arch,CPU,Vendor,Samsung0.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第七章 面談?wù)n件
- 2024智能化管理軟件購(gòu)銷協(xié)議模板
- 2024年建筑防水工程協(xié)議模板
- 2024個(gè)人技術(shù)協(xié)作協(xié)議精簡(jiǎn)模板
- 保育員專屬2024年度勞動(dòng)協(xié)議書
- 2024年探礦權(quán)聯(lián)合開發(fā)合作協(xié)議
- 2024物流公司司機(jī)承運(yùn)協(xié)議模板
- 2024年型燈具銷售協(xié)議范本
- 大米買賣2024年度協(xié)議模板
- 2024年工程物流服務(wù)購(gòu)銷協(xié)議模板
- 煙臺(tái)冰輪LG系列螺桿制冷壓縮機(jī)組產(chǎn)品樣本2011版
- 能量隔離管理制度
- SVAC標(biāo)準(zhǔn)介紹
- 制氫站工程施工方案
- 社會(huì)保險(xiǎn)稽核通知書
- 趨向補(bǔ)語(yǔ)“起”、“起來(lái)”的用法PPT課件
- 股權(quán)代持協(xié)議書(標(biāo)準(zhǔn)版)
- 農(nóng)民合作社成員帳戶計(jì)算表
- 高中學(xué)生物理教學(xué)論文7篇
- 守株待兔演講稿
- 畫法幾何習(xí)題集第六章答案大連理工大學(xué)版
評(píng)論
0/150
提交評(píng)論