![linux驅(qū)動(dòng)driver8反匯編feiqe08每天重點(diǎn)難點(diǎn)_第1頁(yè)](http://file4.renrendoc.com/view/d5c90b958eb7ad666bc97f33bd24b461/d5c90b958eb7ad666bc97f33bd24b4611.gif)
![linux驅(qū)動(dòng)driver8反匯編feiqe08每天重點(diǎn)難點(diǎn)_第2頁(yè)](http://file4.renrendoc.com/view/d5c90b958eb7ad666bc97f33bd24b461/d5c90b958eb7ad666bc97f33bd24b4612.gif)
![linux驅(qū)動(dòng)driver8反匯編feiqe08每天重點(diǎn)難點(diǎn)_第3頁(yè)](http://file4.renrendoc.com/view/d5c90b958eb7ad666bc97f33bd24b461/d5c90b958eb7ad666bc97f33bd24b4613.gif)
![linux驅(qū)動(dòng)driver8反匯編feiqe08每天重點(diǎn)難點(diǎn)_第4頁(yè)](http://file4.renrendoc.com/view/d5c90b958eb7ad666bc97f33bd24b461/d5c90b958eb7ad666bc97f33bd24b4614.gif)
![linux驅(qū)動(dòng)driver8反匯編feiqe08每天重點(diǎn)難點(diǎn)_第5頁(yè)](http://file4.renrendoc.com/view/d5c90b958eb7ad666bc97f33bd24b461/d5c90b958eb7ad666bc97f33bd24b4615.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1-二、什么公司什么產(chǎn) 什么要、Linux智能平臺(tái)、網(wǎng)絡(luò)設(shè)備、器材、智能控制嵌入式3大模塊:系 驅(qū) 應(yīng)1C/C++2、CPUARM原理及應(yīng)用、單片 熟悉I2C、SPI、MIPI\IIS等接口協(xié)議、接口的原理3OS系統(tǒng)移植、Linux驅(qū)動(dòng)(內(nèi)核的API、LINUX應(yīng)用(IPC多線程網(wǎng)絡(luò)TCP/IP)4、界面GUI:QTMINIGUI嵌入 嵌入C++1)純C++應(yīng)用 剛開(kāi)始做哪個(gè)模塊無(wú)關(guān)重 發(fā)揚(yáng)強(qiáng)盜精神。1年消化一個(gè)產(chǎn)品1、ARM2、嵌入式linux應(yīng)用程序開(kāi)發(fā)技術(shù)詳解遠(yuǎn)3、LINUX設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)詳解()或Linuxdevicedriver3中文4、C++GUIProgrammingwithQt 不是單純的知識(shí)的灌輸,更重要的是能力的鍛煉手扶著手走看著你走,快摔倒了就扶一下》放手去做 慢慢成長(zhǎng)的過(guò)程自己就 講過(guò)之后 講過(guò)還不 動(dòng)項(xiàng)目需求學(xué)理論—》項(xiàng)目經(jīng)驗(yàn)的積累》理解項(xiàng)目模塊的原理,解決問(wèn)題的能力(1、語(yǔ)法問(wèn)題。2、調(diào)試的能力)找工作:1)筆試題(70%)基 CC++數(shù)據(jù)結(jié)構(gòu)多線程多進(jìn)程網(wǎng) 100多頁(yè)筆試 0 帶工不能20*1:不限3分鐘以123PC1-123、C324、intchar56、scanfprintfgetsputsgetchar1-條件1ifelse2switch循環(huán)1for2while3dowhileReturn退出當(dāng)前函數(shù)Goto—直接跳到處執(zhí) Exit退出整個(gè)程序2、函數(shù)的使用過(guò)程:1)函數(shù)的定義2)又叫原 3)調(diào)4、4code:data:全局,靜態(tài),常量0堆:new,malloc分配的內(nèi)存,需要delete,釋放。如果不釋放,則只有等程序運(yùn)行正常結(jié)束時(shí),由操作系統(tǒng),VC(沒(méi)初值則值為無(wú)窮大)如:棧區(qū)的空間自動(dòng)分配自動(dòng)釋放。56、變量的(1) (2)設(shè)置變量的register寄存器變量直接使用CPU的工作寄存器來(lái)在非常短時(shí)間內(nèi)需要頻繁使用的局部變71-數(shù)組:相同數(shù)據(jù)類型的變量的集合;數(shù)組的成員是通過(guò)下標(biāo)的來(lái)Inta[N],0N-數(shù)組的初始化、2 Constinti;代表i s1chs1ch(內(nèi)存地址 s1s2s1s2(內(nèi)存地址Strlenstrcmpstrcpystrcatstrchr memset1-指針的作用:1)通過(guò)指針變量(內(nèi)存空間2)4)1不是單純加一個(gè)字節(jié),而是加其所指的數(shù)據(jù)類型的大小數(shù)組作為參數(shù)會(huì)為指針。Inta[3][4];int(*p)[4]=a;*p00個(gè)元素的地址*(*ptr)00個(gè)元素0個(gè)元素的地址12Strlenstrcmpstrcpystrcatstrchr3、C1-4class44對(duì)齊。結(jié)構(gòu)體的成員是通過(guò)成員操作符“.”來(lái)或者結(jié)構(gòu)體指針成員操作符“->”來(lái)。 fopenfclosefgetcfputcfgetsfputs CStaticconst宏開(kāi) 防止頭文件被重復(fù)包含:#ifndef#defineEE_H1-1、:&是其他變量的別名只有在定義時(shí)加上&,在定義時(shí)就要指定是誰(shuí)的。如果在這個(gè)函數(shù)中,需要改變實(shí)參的值(1)傳(2)傳變量的地址。和變量的地址通常可23、時(shí)間復(fù)雜度41234knk的滿二叉樹(shù)中編1n的結(jié)點(diǎn)一一對(duì)應(yīng)。672-1ARM開(kāi)發(fā)板、522、從NOR啟動(dòng)和從NAND啟動(dòng)的啟動(dòng)過(guò)程、空間分配3、KEILSTC_ISP45、LED 、數(shù)碼管、獨(dú)立按鍵、矩陣按鍵、按鍵中斷、定時(shí)器、串口2-ARM體系結(jié)構(gòu):ARM是什么、ARM的發(fā)展(系列、工作狀態(tài)、格式、工作模式及其寄存器、異121)設(shè)置異常的地址和異常處理函數(shù)2)看門狗和中斷LEDCLKDIVNPLLCONFCLKHCLKPCLK初始化器空間,設(shè)置刷新頻率給內(nèi)存將Boot的內(nèi)容到SDRAM中作中斷處跳轉(zhuǎn)到C點(diǎn)去執(zhí)、時(shí)鐘框圖、計(jì)算主頻的方法、FCLK(400M)HCLK(100M)PCLK(50M)對(duì)要配置的位,然后在或上相應(yīng)的值。norbootcopy_proc_begnandbootResetEntry=0自主啟動(dòng)代碼是在nand中,bl是ro_base,所以還要 copy_proc_beg作代碼位置修正(搬運(yùn)代碼段、數(shù)據(jù)段、BSS)nandboot加載啟動(dòng)ResetEntry!=0copy_proc_beg4通過(guò)學(xué)幾個(gè)接口CPU1IOIO2(中斷3、如果使用到的,則通過(guò)某些通訊協(xié)議(SPI)給初始化4(所有的準(zhǔn)備工作都做好才起動(dòng)GPIO1led1led23、查看該管腳屬于哪個(gè)口的,有哪些寄存器控制它們。GPXCONGPXDATGPXUPGPXCONGPACON作用:用來(lái)配置引腳的功能GPXDAT一位控制一個(gè)引腳輸入讀,獲得輸入的是高電平(1)或者低電平GPXUP一位控制一個(gè)引腳0使能上拉電阻1上拉電阻控制 GPBCON[11,10]=01輸GPBDAT[5]= GPBDAT[5]= GPBUP[5]模塊的寄存器,如果其他地方?jīng)]使用到,可以根據(jù)情況直接賦值4、根據(jù)這個(gè)模塊的功能來(lái)封裝函數(shù)。另外,機(jī)開(kāi)發(fā)每個(gè)模塊都有自己的模塊初始化函數(shù)及其功能函數(shù)1xx.hxx.c,ADSxx.c是源文件,是函數(shù)的實(shí)現(xiàn)。Xx.h是函數(shù)的和宏定12、JLINKJTAG3、2-210、串口總線標(biāo)準(zhǔn):RS-232CRS-422ARS- “1,“1+5V~+15V23、UART串口通信協(xié)議:是哪個(gè)口波特率115200數(shù)據(jù)位8奇偶校驗(yàn)--無(wú)停止位--1位 4、GPH2TXD0 →10 GPHCON[7,6] GPXDAT5Void{IO}12(12 5、封裝中斷函數(shù)6、通過(guò)中斷號(hào)識(shí)別中 安裝中斷處理函ARM1、配置中斷控制寄存器SUB SRC PND--PENDING掛 在中斷函數(shù)中,又要重新手動(dòng)寫 IRQ FIQ 在中斷函數(shù)中又要重新手動(dòng)寫二、TIMER1時(shí)間長(zhǎng)短 1數(shù)的次 2頻10099984039010099984039中 中 比 Start 啟動(dòng)位2voidtimer4init(unsignedint //中斷的時(shí)間由參數(shù)傳進(jìn) {1、確定次數(shù)和頻率2manual5clearmanual} staticirq,VoidStartBuzzer(unsignedint //tout0的輸出頻 注意,不是倒數(shù)數(shù)的頻 0GPB01、確定頻率和次 定時(shí)時(shí)2manual45clearmanual}5、利用中斷,解放主線 讀啟動(dòng)代碼。把中斷時(shí)運(yùn)行軌跡找出來(lái)1、有硬件決定中斷向量表:2bbHandlerUndef ;handlerforUndefinedmodebHandlerSWI;handlerforSWIinterruptbHandlerPabort;handlerforPAbortbHandlerDabort;handlerforDAbortb. bHandlerIRQ;handlerforIRQinterruptbHandlerFIQ;handlerforFIQ3 HANDLERHandleFIQ HANDLERHandleIRQ HANDLERHandleUndef HANDLERHandleSWI HANDLERHandleDabort HANDLERHandlePabort66MACRO;//$HandlerLabelHANDLER ;$lablemacroname //為中斷服務(wù)地 ;decrementsp(tostorejump;//將要使用的r0stmfdsp!,{r0} ;PUSHtheworkregistertostack(lrdoesnotpushbecauseitreturntooriginaladdress) r0,=$HandleLabel;loadtheaddressofHandleXXXtor0 ;loadthecontents(serviceroutinestartaddress)of;// ;storethecontents(ISR)ofHandleXXXto;// ;POPtheworkregisterandpc(jumptoISR) ;decrementsp(tostorejump;//將要使用的r0stmfdsp!,{r0} ;PUSHtheworkregistertostack(lrdoesnotpushbecauseitreturntooriginaladdress) r0,=HandleIRQ;loadtheaddressofHandleXXXtor0 ;loadthecontents(serviceroutinestartaddress)of;// ;storethecontents(ISR)ofHandleXXXto;// ;POPtheworkregisterandpc(jumpto4 ;Thisroutineis ;ifthereisnot'subspc,lr,#4'at0x18,0x1c
sp,sp, ;forPC;//預(yù)留返回指針的位stmfdsp!,{r8- r9,=INTOFFSET ;//;從中斷偏移寄存器取得中斷偏移量 r9,[r9] r8,=HandleEINT0;// r8,r8,r9,lsl ;// r8,[r8] r8,[sp,#8]ldmfdsp!,{r8-r9,pc};//6#4#4#47#definepISR_TIMER4 pISR_TIMER4=(unsigned)timer4_sev;STN是早期彩屏的主要器件,STN256TFTUFB是專門為移動(dòng) 和PDA設(shè)計(jì)的顯示屏,它的特點(diǎn)是:超薄,高亮度??梢燥@示65536色,耗電比TFT少,價(jià)格和STN差不多。OLED(OrganicLightEmittingDisy)即有機(jī)發(fā)光顯示器,在LCD上屬于新型產(chǎn)品,被稱譽(yù)為“夢(mèng)幻顯示器”O(jiān)LEDLCDLCD顯示原理(看規(guī)格書,關(guān)注數(shù)據(jù)傳輸?shù)臅r(shí)序圖和信號(hào)和頻率240*320像素=240*320個(gè)RGB三基色一個(gè)像素 56這個(gè)控制器所支持的屏有哪些。STNTFT(調(diào)色板、真彩色TFT主要信號(hào) LCD時(shí)序圖2管腳的信號(hào)void配置CPU的寄存 void使能函數(shù)void1、引腳的初始 2、該模塊的寄存器配置(該模塊原理(協(xié)議)所包括的內(nèi)容)3、啟動(dòng)該模}LCD_y(char 放大縮小的算//////多畫面(4幅畫//4////在任意位置四分之一畫面,XX,YY為畫面頂點(diǎn)坐VSCPULCDSPI1、 時(shí)序 I/O模char 字母在內(nèi)存中占一個(gè)字節(jié)ASCII碼char*p="你 漢字在內(nèi)存中占2個(gè)字節(jié)的是它的區(qū)碼 和位碼LCD123、自己做字庫(kù)。.c Inter-IntegratedCircuit(集成電路總線,主要是用來(lái)連接整體電路。一、EEPROMdatasheet用于用戶的參數(shù)設(shè)置:背景、來(lái)電的音樂(lè)、時(shí)鐘、鬧1、24c08大小幾小 共64小頁(yè)/16字幾大頁(yè)0~255設(shè)備地址DeviceAddress10100p1p0r/w、wordAddress24c088k(1024*8)usestheA2deviceaddressbitwiththenext2bitsbeingformemorypageaddressing.4頁(yè),256byte.0xa00xa20xa40xa60-2552、IIC協(xié)議的時(shí)序 clk是高電平發(fā)送和接受數(shù) clk是低電平 9CURRENTADDRESSREAD、RANDOMREAD、SEQUENTIALREAD(讀可跨大頁(yè)二、IIC控制方式:1、IO口模擬的方式2、使用CPU專門的IIC控制模 中高端2、IIC讀、寫的流程Voidiic_init(void);//引腳初始化voidiic_read(unsignedchardevaddr,unsignedcharwordaddr,unsignedchar*pdata,unsignedintsize);voidiic_write(unsignedchardevaddr,unsignedcharwordaddr,unsignedchardata);void1、觸摸屏種類、分別應(yīng)用在哪里、屏和OS怎么配合使用? 紅外線式和感應(yīng)電容式觸摸屏能夠支持多點(diǎn)觸控。多點(diǎn)觸控帶來(lái)了的選擇,抓取、拖曳、縮放、旋轉(zhuǎn)。屏要和系統(tǒng)搭配才能體現(xiàn)優(yōu)勢(shì)。和android系統(tǒng)支持多點(diǎn)觸控。Windowss不支持多點(diǎn)觸控LCD的像素不是一比一的關(guān)系。且原點(diǎn)可能不是同一個(gè)角。24點(diǎn)式(2點(diǎn)式3、4封裝初始化函數(shù)touchsrc_init(touchsrc_StylusDown((1)ADADOK產(chǎn)生中斷,x,y觸屏的坐標(biāo)值,并設(shè)置中斷標(biāo)志。、完成后設(shè)置成彈起中斷,并等待彈起中斷產(chǎn)touchsrc_calibration(get_touch(,校正參數(shù)在EEPROM中,下次再使用時(shí),只需要該數(shù)組數(shù)據(jù)即可。IIS功能:音樂(lè)涉及內(nèi)容:IIS控制模 DMA搬運(yùn)數(shù) 中 音頻0)數(shù)據(jù)的流 音樂(lè) void2)
DMADMA3種狀態(tài)查詢模式:DREQACK,并進(jìn)行下次的搬運(yùn)動(dòng)作DREQ信號(hào)unitVSburstvoidset_DMA2_for_y(unsignedchar*voicebuf,unsignedint{ 2}voidset_DMA1_for_record(unsignedchar*voicebuf,unsignedintbytes);voidirqIIS_y_int(void){1}voidirqIIS_Rec_int(void);voidstop_IIS_DMA2();voidCPUIISnormaltransfer: 準(zhǔn)備好發(fā)送數(shù)據(jù)notempty flag=1;emptyflag=0 準(zhǔn)備好接收數(shù)據(jù)notfull flag=1;fullflag=0 flag數(shù)據(jù)傳輸模式:IIS-busformat 作演示版級(jí)別的CD樣帶16-bit/44.1kHz采樣頻率是指設(shè)備在一秒鐘內(nèi)對(duì)聲音信號(hào)的采樣次數(shù)采樣頻率越高聲音的還原就越真實(shí)越自然。廣播品質(zhì),44.1KHz則是理論上的CD音質(zhì)界限,48KHz則更加精確一些。對(duì)于高于48KHz的采樣時(shí)鐘又叫系統(tǒng)時(shí)鐘:得到一個(gè)聲道(含左右聲道16bit+16bit)的數(shù)據(jù)即采樣一次所用的時(shí)鐘周期 256個(gè)系統(tǒng)時(shí)鐘得到32bit-→256個(gè)系統(tǒng)時(shí)鐘要傳送32bit》8個(gè)系統(tǒng)時(shí)鐘傳1bit,內(nèi)部有緩沖(常采用 信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。反之,在時(shí)則是把數(shù)字信號(hào)還原成模擬聲音信號(hào)輸出。了數(shù)字聲音信號(hào)對(duì)輸入聲音信號(hào)描述的準(zhǔn)確程度。828次方——256,16216256個(gè)精度單位,造成了較大的信號(hào)損失,最終的采樣效果自然是無(wú)法相提并論的。voidset_IIS_for_record(void);voidset_IIS_for_y(void);voidstart_IIS(void);voidUDA1341音頻編的規(guī)格有哪些寄存器要配置,寄存器的編號(hào)怎么確定,這些寄存器都配置了什么信息 分組的方式確通過(guò)什么方法來(lái)配置 L3協(xié)staticvoidset_L3_data(unsignedcharaddr,unsignedchar*pdata,unsignedcharsize)staticvoidset_UDA1341_work(unsignedintmode)voidIIS_record_voice(unsignedchar*voicebuf,unsignedintbytes)voidIIS_y_voice(unsignedchar*voicebuf,unsignedintbytes)12 charuart_getch(void);內(nèi)容要有一個(gè)。1單幅的顯示,以及將其放大縮小等特效多幅的顯示(每次顯示四幅或者2利用蜂鳴器音樂(lè)3音樂(lè)4/功能,后可進(jìn)行56IIC781)對(duì)接收到的觸點(diǎn)使用if來(lái)處理,做出對(duì)應(yīng)的響 調(diào)用對(duì)應(yīng)的函2、整體設(shè)計(jì)采用遞歸模式 優(yōu)點(diǎn):思路清晰,但是浪費(fèi)資源,容易造成死機(jī) 找出具體是哪一行影響了 減少資源文件,合理分配內(nèi)存(音樂(lè)文件大概20M,文件大概10M,.bin文件少于 各模塊進(jìn)行細(xì)節(jié)處理觀眾評(píng) 功我 文檔、編碼規(guī)每個(gè)作品要演示10-15分鐘把觀眾當(dāng)什么都不懂。吸引他喜歡你的產(chǎn)品。公平公正公開(kāi)憑著良心打分 1、linuxNFSSAMBAHTTP 唯一一個(gè)提示no的地方(是否使能VMTools)回答yes,其他都是回車即可。解放鼠標(biāo),VM共享(windows-→ 配置samba(linux-→windows(設(shè)置時(shí)確保linux和windows的安全防護(hù)都關(guān)掉。作用:解決有文件丟SecureCRT內(nèi)核和發(fā)布包的關(guān)系、LINUX文件類型、權(quán)限、主 的內(nèi)熟悉LINUX基本S編程正則表達(dá)1、VIM2、GCC3、GDB-1、vim將所有的靜態(tài)庫(kù): 靜態(tài)庫(kù)在程序編譯時(shí)會(huì)被連接到目標(biāo)代碼中,程序運(yùn)行時(shí)將不再需要該靜態(tài)庫(kù) 需要?jiǎng)討B(tài)庫(kù)存在。Ldd命令可查看該執(zhí)行文件依賴于哪些動(dòng)態(tài)庫(kù)之中。所以靜態(tài)編譯必然通過(guò)靜態(tài)來(lái)實(shí)現(xiàn)動(dòng)態(tài):動(dòng)態(tài)就是要?jiǎng)討B(tài)的,運(yùn)行時(shí)候動(dòng)態(tài)的dll。所以動(dòng)態(tài)編譯必然通過(guò)動(dòng)態(tài)來(lái)實(shí)現(xiàn)ANSI fopenfclosefreadFILE*fopen(constchar*filename,constchar*modesize_tfwrite(constvoid*buffer,size_tsize,size_tcount,FILE*stream);voidrewind(FILE*stream);size_tfread(void*buffer,size_tsize,size_tcount,FILE*stream);intfclose(FILE*stream);POSIX linux文件IO編程設(shè)備文Openclosereadwrite ioctrol非緩沖IO函 一個(gè)API對(duì)應(yīng)一個(gè)系統(tǒng)調(diào) 寫 讀I/O2種運(yùn)行模式fork()execwait()waitpid()管道pipe()、popen()有名管道m(xù)kfifofd=open(FIFO,O_RDONLY|O_NONBLOCK,0);無(wú)親緣關(guān)系進(jìn)程間的通信信號(hào)raise(SIGSTOP);signal()共享內(nèi)存創(chuàng)建共享內(nèi)存shmget;映射共享內(nèi)存shmat;使用這段共享內(nèi)存,I/O讀寫命令; 消息隊(duì)列創(chuàng)建或打開(kāi)消息隊(duì)列msgget、添加消息msgsnd、消息msgrcv和控制消息隊(duì)列息隊(duì)列就去讀共享內(nèi)存的數(shù)據(jù)。Linux中線程的創(chuàng)建及使用1、線程是在共享內(nèi)存空間中并發(fā)的多道執(zhí)行路徑,它們共個(gè)進(jìn)程的資3、一個(gè)進(jìn)程可以有多個(gè)線程,也就是有多個(gè)線程控制表及堆棧寄存器,但卻共個(gè)用戶地址空間互斥和同步線程控制:互斥鎖mutex和信號(hào)量sem(互斥、同步互斥鎖可以上鎖線程。同步:多個(gè)線程(或進(jìn)程)按照一定的順序來(lái)共享資ISO-OSI InternationalStandard OpenSystemTCP/IPTCPUDP協(xié)議流程TCP(TransmissionControlProtocol)1、TCP以連接為基礎(chǔ),才能傳輸數(shù)據(jù)。3、應(yīng)用在登陸、、重要數(shù)據(jù)傳輸?shù)葓?chǎng)合UDP(UserDatagramProtocol)1、UDP是一個(gè)無(wú)連接服務(wù)I/Oselect;主要功能:登 公 私聊傳文件 啟動(dòng)客戶端:./(服務(wù)器IP)111(消息隊(duì)列啟動(dòng)顯示窗口:./disy111(與客戶端對(duì)應(yīng)的消息隊(duì)列ID),收到的信息上面有時(shí)間(ctime()函數(shù)獲得體系間敗,重新。用單鏈表的方式,節(jié)點(diǎn)的數(shù)據(jù)域包含4項(xiàng)信息(用戶名、、標(biāo)志、小的socket號(hào)3、登陸:輸入用戶名和,客戶端發(fā)送給服務(wù)器,服務(wù)器驗(yàn)證用戶信息文件中是否存在該用戶,以及用戶#msg(公聊) $IDmsg(私聊) @IDfile(傳文件) @ww/test/file.c 對(duì)方輸入保存的文件名test.c5、消息記錄:每個(gè)用戶都會(huì)產(chǎn)生一個(gè)與用戶名同名的.txt6、服務(wù)器踢除用戶:在服務(wù)器中輸入ctrl+“\”,則顯示用戶,提示輸入要踢除的用戶名,輸入用7、用戶退出:輸入“quit”或ctrl+“c”可退出,退出時(shí)對(duì)應(yīng)的顯示窗口自動(dòng)退出,同時(shí)其他用戶顯1TCP網(wǎng)絡(luò)環(huán)境,并發(fā)服務(wù)器3、467、、用戶寫入文件項(xiàng)目完 應(yīng)用的知識(shí)要掌1、查看好23、給好友分組,可給組員發(fā)信息、件方式發(fā)送給Disy進(jìn)程,Disy進(jìn)程接到消息,顯示在窗口。TCP協(xié)議的流程TCP34多線程和多進(jìn)程有什么區(qū)別進(jìn)程間通訊有哪些方式放入空閑的隊(duì)列中。這些線程都是處于阻塞狀態(tài),這些線程只占一點(diǎn)內(nèi)存,不占用CPU。當(dāng)任務(wù)到來(lái)后,線將C面向過(guò)程C++ 類繼承派 虛函 構(gòu)造函數(shù)構(gòu)造函 操作符重1 C的struct--→C++的struct--→C++的(1)C中結(jié)構(gòu)體(2)定義變量時(shí),Cstruct(3)C中沒(méi)有public等權(quán)C++定義變量時(shí),CstructC++也可以在類的內(nèi) ,在類外實(shí)現(xiàn),實(shí)現(xiàn)時(shí)加上作用域的的限private:不能在類的外面??梢栽陬悆?nèi)。類的函數(shù)是作為類內(nèi)protected:不能在類的外面1、可改變形參對(duì)應(yīng)的實(shí)參的值。效率更高。2、1const3、默認(rèn)參數(shù):123、默認(rèn)參數(shù)的值應(yīng)該在時(shí)給出,也可以在實(shí)現(xiàn)時(shí)給出。但是不能在時(shí)而且標(biāo)準(zhǔn)做法是在在時(shí)給出5返回值判斷是否重載的必要條件2個(gè)屬性,32Chap11234567、當(dāng)構(gòu)造函數(shù)形參的名字和屬性名同名時(shí),屬性應(yīng)該加上this指針,它代表本對(duì)象2與類名同名,前面加上如果沒(méi)有定義,系統(tǒng)會(huì)自動(dòng)生成一個(gè)空的不帶參數(shù)的析構(gòu)函數(shù),定義,則此函數(shù)Static成員屬性:0。1、屬于一個(gè)類的,用于記錄類的某些特定,不是屬于具體的某個(gè)對(duì)象的時(shí)通過(guò)類名。如果通過(guò)對(duì)象,語(yǔ)法是通過(guò),但是不規(guī)范。。2、不管有多少個(gè)對(duì)象,static3、在類的外面初始化。如 普通的屬性和方法都要通過(guò)對(duì)象 ,不能通過(guò)類 Static方法:靜態(tài)方法只能靜態(tài)屬性;靜態(tài)方法也是通過(guò)類名Const定義一個(gè)類代表學(xué)生,有,,和。有輸出這些信息的方法和從鍵盤輸入這些信息的方法,定義一個(gè)有5個(gè)學(xué)員的數(shù)組。通過(guò)數(shù)組指針?biāo)麄僀hap 構(gòu)造函數(shù)特點(diǎn)1、利用現(xiàn)成的對(duì)象來(lái)構(gòu)造新的對(duì)象構(gòu)造函2、構(gòu)造函數(shù),參數(shù)一定要用對(duì)象的(語(yǔ)定3、如果自己定義構(gòu)造函數(shù),則系統(tǒng)的那個(gè)就不再有4、系統(tǒng)默認(rèn)的構(gòu)造函數(shù)只是對(duì)屬性逐一,那如果屬實(shí)中有指針,則導(dǎo)致2個(gè)指針同時(shí)指向一函數(shù)返回對(duì)象時(shí),=1誤。要把地址相同(淺)改為內(nèi)容相同地址不同(深。 異常處理 練習(xí):往文件中寫入charint charint 讀出文件的內(nèi)容并到另外的文件中一、友員類的私有成1、友員函 2、友員 如果是到類的成員時(shí),必須看到類的完整實(shí)現(xiàn)。建議把友員函數(shù)在需要的地方做,在所有的類的后面實(shí)現(xiàn)1、作為成員函數(shù)的操作符重載+ 3、operator operator+(int (2)帶參數(shù)只能后,i實(shí)際上是個(gè)標(biāo)志,調(diào)用時(shí)并不需要傳(2;如果(1調(diào)用:t2=t1;只能調(diào)用(1classString{private:chars[100]; //char*p Chap Public繼承:子類中的父類屬性沒(méi)改變(私有不能Protected繼承:子類中的父類屬性公用的改為保護(hù),保護(hù)的還是保護(hù)(私有不能private繼承:子類中的父類屬性公用的改為私有,保護(hù)也改為私有(私有不能2繼承中的構(gòu)造函數(shù)—Derived(intc):Base(c),r(5){}/如果構(gòu)造函數(shù)放在類外實(shí)現(xiàn),則函數(shù)時(shí)不能指定給基類的參數(shù)傳遞,而要放在實(shí)現(xiàn)時(shí)指定。成:Derived(intc);a1.Base::dis34子類可父類的函數(shù)如果權(quán)限允許的調(diào)用子類的,否則調(diào)用父類的,即實(shí)現(xiàn)多態(tài)(動(dòng)態(tài)綁定22、23、純虛函數(shù)時(shí)為了給派生類的函數(shù)提供統(tǒng)一處理的接口,便于4Chap10模板:1temte<classT,class 適配2 ArrayInt Array<int>類模板的成員函數(shù)也可以在類模板的外面定義,但是:1要重新申明temte<classT>,2類名作用域中要加上<T> 》對(duì)練習(xí) 寫一個(gè)模板函數(shù),實(shí)現(xiàn)2個(gè)變量相T*pFirst;//棧底T*st;//棧頂intiSize;TStack(inti);~TStack();voidPush(Tt);TPop();intGetSize()3、Vector矢量器順序類容器,支持隨機(jī)。在內(nèi)存的相鄰位置保存項(xiàng) 這種數(shù)據(jù)結(jié)構(gòu)把項(xiàng)目保存在內(nèi)存的非相鄰位置。不支持隨機(jī),不提供[]運(yùn)算符,因此和,并且在末入或刪除一個(gè)項(xiàng)非??焖佟ist<T>通常就是最合適的通用的容器類。 用一個(gè)完全不同的排序準(zhǔn)則,可以用:typedefset<int,greater<int>>IntSet;其對(duì)于的迭代器set<int,greater<int> tor Map<KT>Map的元素是成對(duì)的鍵值/實(shí)值(key/value)。一個(gè)鍵對(duì)應(yīng)一key重復(fù),則valuekey的升序進(jìn)行排序。1、STL4- 繼承派 虛函 構(gòu)造函數(shù)構(gòu)造函 操作符重1、QTE2345designer6 QT方法:看幫助文檔多看例子、掌握框架Forx86QT源碼—》配置》編 》安 》配置環(huán)境變FORARM源碼—》配置》編譯》安裝》配置環(huán)境變 》移植QT庫(kù)到ARM文件系統(tǒng)12、處Qmakeproject:建立工程,產(chǎn)生.proQmake:Makefileintmain(intargc,char{QApplicationapp(argc,QLabel*label=newQLabel(QObject::tr(" returnapp.exec();//把控制權(quán)交給應(yīng)用程序響應(yīng)}一個(gè)界面對(duì)應(yīng)一對(duì).cpp.h頭文件是類的,在界面中用到的控件都在類中一個(gè)指針和它對(duì)應(yīng)類中的方法在類中要,函數(shù)的,自定義信號(hào)和槽的。構(gòu)造函數(shù)的實(shí)現(xiàn)畫界面,信號(hào)與槽的,布 》業(yè)務(wù)和界面分開(kāi)處QObject::connect(button,&app,(注:signalandslotsparametersmustnotcontainanyvariablenames,onlytheQVBoxLayout*layoutnewQVBoxLayout;//布局管理器QHBoxLayout將部件按照水平從左到右的方向排列。QVBoxLayout將部件按照豎直從上到下的方向排列。QGridLayout將部件放置在一個(gè)網(wǎng)格中。資源文件的使用用show()顯示的框是無(wú)模式框。用exec()顯示的框是模式框。設(shè)置的風(fēng)statureLabel=newdesigner的使用creator的使用#qmake–project#qmake#make有錯(cuò)誤,沒(méi)關(guān)系) uicuntitled.ui-oa.h3自定義類,classmy_dialog:publicQDialog,publicUi_Dialog繼承2個(gè)父類,注意: 子窗體和父窗體之間的交互,子窗體窗體之間的交 在主窗體中處 中 是自動(dòng)調(diào)用閉之前的完善處理。重寫保存用戶設(shè)置QTQSettingQSettingssettings("su.txt",QSettings::IniFormat);settings.setValue("geometry",geometry());QSettingssettings("su.txt",QSettings::IniFormat);QRectrect=settings.value("geometry",QRect(200,200,400,400)).toRect(); roundedtothenearest QT的普通文件的讀寫。 保存保存文件的文件名的 12、系統(tǒng)的 自動(dòng)調(diào)秒表:定時(shí) (1)(2)newQTimer-→timer-(2)timeout22、畫背景paintEvent(QPaintEvent*event) QPainterpainter(this);24 并且在末入或刪除一個(gè)項(xiàng)非常快速。QList<T>通常就是最合適的通用的容器類。QMap<K,T>:關(guān)聯(lián)容器類,一個(gè)鍵對(duì)應(yīng)一個(gè)值。25、系 的使 方式一 讓本進(jìn)程去執(zhí)行另外的進(jìn)程方式二:QProcess 兩個(gè)進(jìn)程同時(shí)運(yùn)行。主進(jìn)程要等待子進(jìn)程結(jié)束才退出while(!(proc.waitForStarted()));while(!proc.waitForFinished(30));>write(;signal:started() classThread:publicvoidrun();線程執(zhí)行的任務(wù)是在run()中完成 27FTP文件(文件傳輸協(xié)議ftp.connectToHost(url.hosturl.port(21));//21ftp21號(hào)端口,http80ftp.get(url.path(&file);//fileHTTP(超文本傳送協(xié)議http.setHost(url.hosturl.port(80));//當(dāng)從獲得文件時(shí),由于不必登錄,所以只要設(shè)置主機(jī)和端http.get(url.path(), TCPQcpServer: ingConnection(intsocketId){Socket*socket=new }讀:connect(this,SIGNAL(readyRead()),this,SLOT(read connect(this,SIGNAL(disconnected()),this,SLOT(dele connect(&udpSocket,this,SLOT(processPendingDatagrams()));udpSocket.readDatagram(datagram.data(),datagram.size());22網(wǎng)絡(luò)LCDCAMJPEM編252829305-3開(kāi)發(fā)環(huán)境與工具:MINI2440(ARM9LinuxC/C++項(xiàng)目描述:實(shí)現(xiàn)功能。3、QT/E4、客戶端:使用開(kāi)發(fā)板上的v4l2頭獲取圖像,并保存至文件。將頭的圖像進(jìn)行JPEG格式編碼。服務(wù)器:接收客戶端通過(guò)UDP協(xié)議傳過(guò)來(lái)的JPEG格式的。將進(jìn)行JPEG格式。讓顯示到LCD上1LCDLCDFB的方法FB的映射獲取LCD的參2、v4l2頭數(shù)據(jù)像普通文件一樣對(duì)其進(jìn)行讀寫,頭在/dev/0下。通過(guò)ioctl函數(shù)獲取頭設(shè)備的狀態(tài)信息讀設(shè)備就是數(shù)據(jù)3、JPEG實(shí)現(xiàn)PC機(jī)通過(guò)UDP發(fā)送給另一PC機(jī),并顯示出實(shí)現(xiàn)頭的數(shù)據(jù),構(gòu)造成,UDP發(fā)給對(duì)方顯示一對(duì)一線性一每60毫秒就一次頭的數(shù)據(jù),并JPEG編碼,通過(guò)UDP發(fā)給對(duì)線性二如果有數(shù)據(jù)可讀,則讀數(shù)據(jù),并把讀到的數(shù)據(jù)構(gòu)造成一個(gè),發(fā)送信號(hào)通知主線程。主線程收到線程二的信號(hào),就把顯示在上。開(kāi)發(fā)環(huán)境與工具:MINI2440(ARM9LinuxC/C++3、QT/E音頻的驅(qū)動(dòng)框架:OSS音量音質(zhì) L3聲音的輸入和輸出IIS3、QT/E4、Mpalyer,Mpalyerslave(調(diào)節(jié)音量等音量音質(zhì) L3聲音的輸入和輸出IIS(2)Mpalyerslave5、GUI的設(shè)計(jì):框、主窗口、布局、處理、QT多進(jìn)程注意:使用QT做界面的程序,在加載運(yùn)行時(shí),需要在啟動(dòng)(如profile中,先進(jìn) ,再執(zhí)行,如 ./1qpainter-addbysu–qws否則可能顯示不了 BOOT2、U-BOOT源 結(jié) 運(yùn)行軌跡、為什么要這樣寫1)設(shè)置異常的地址和異常處理函數(shù);2)看門狗和中斷LEDCLKDIVNPLLCONFCLKHCLKPCLK初始化器空間,設(shè)置刷新頻率給內(nèi)存(1)NOR(2)NANDnand讀到內(nèi)存—BSSC45mini2440.h包含進(jìn)去Mini2440_config:@$(MKCONFIG)$(@:_config=)armarm920tmini2440NULL實(shí)際上是:./Mkconfigmini2440armarm920tmini2440NULL、在 、創(chuàng)建了/include/config.mk = =arm920t =mini2440 =s3c24x0makefile3、創(chuàng)建了/includeconfig.hmini2440.h定義一些全局變量 / 常用命令介7、U-BOOT添加命 理解源碼的某些功能的結(jié)9、總結(jié)U- 的Makefile綜合分1Linux2、Linux4、內(nèi)核配置、Kbuild將linux-/arch/arm/mach-s3c2440/ 下的mach-smdk2440.c一份命名為mach-mini2440.c直接修改 一個(gè)選項(xiàng)通常對(duì)應(yīng)一個(gè)功能模參考公板\arch\arm\configs\s3c2410_defconfig后把.config和原來(lái)的.configMAKEFILE會(huì)根據(jù).config5675-文件系統(tǒng):命令庫(kù)配置文 設(shè)備 下有相關(guān)的內(nèi) 2、從編譯器中所需的動(dòng)態(tài) cramfs\jffs2rmmod5-20LINUX驅(qū)動(dòng)的技術(shù):并發(fā)與競(jìng)爭(zhēng)、阻塞與非阻塞、異步IO、定時(shí)器、中斷、內(nèi)存、1led2、 o模塊。寫MAKEFILE,編譯放PC和ARM平臺(tái)運(yùn)行45、內(nèi)核模塊的頭文件(庫(kù))VS 看的chap1234內(nèi)核模塊編 面向?qū)?-1struct{structcdevcdev;/*cdev結(jié)構(gòu)體 unsignedcharmem[GLOBALMEM_SIZE];/*全局內(nèi)存 模塊的其他屬這個(gè)結(jié)構(gòu)體代表一種設(shè)備。一個(gè)結(jié)構(gòu)體變量代表一個(gè)設(shè)備(Struct來(lái)記錄StructfileStructfile_operations記錄structglobalmem_dev*globalmem_devp;*設(shè)備結(jié)構(gòu)體指針,準(zhǔn)備用來(lái)指向本設(shè)備,*/{1(23、在內(nèi)核中設(shè)備cdev_init46}{1234}structclassmy_class=class_create(THIS_MODULE,device_create(my_class,NULL,MKDEV(globalmem_major, NULL, device_destroy(my_class,MKDEV(globalmem_major,0)); //deletedevicenodeunder/dev3staticconststructfile_operationsglobalmem_fops{.owner=.llseek=.read=.write=.ioctl=.open=.release=55-內(nèi)核中對(duì)CPU的支持是采用層層包含的方式。S3C-→S3C2410--→S3C2440ARM驅(qū)動(dòng)中需要關(guān)注的內(nèi)核的頭文件: //#include<asm/io.h>內(nèi)核中已經(jīng)定義好的虛擬地址的寄存器(3G~4G之間#include<mach/regs-gpio.h>raw_wri ioremap#define (*((volatile *)(ioremap((volatileunsigned 內(nèi)核中寄存器的讀寫方式三用ioremap函數(shù)映射物理內(nèi)staticvoidiomem iomemI/O的內(nèi)存空間 if(led_base=={Return-}#definerGPBCON(*(volatileunsignedlong*)(led_base+0x00))//ADCconversiondata0#definerGPBDAT(*(volatileunsignedlong*)(led_base+0x04))//ADCconversiondata1#definerGPBUP(*(volatileunsignedlong*)(led_base+0x08))ioremapioremapioremap不成功。所以推薦使用mode_init
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Ortho-methyl-4-anilino-1-boc-piperidine-生命科學(xué)試劑-MCE-9872
- 2025年度網(wǎng)紅電商品牌購(gòu)銷合同
- 2025年度礦山資源整合與投資合作協(xié)議
- 施工方案對(duì)土石方材料的要求與選擇
- 游泳教學(xué)與生命安全教育的融合
- 高校突發(fā)公共事件應(yīng)急預(yù)案
- 數(shù)據(jù)中心安全管理措施與緊急情況應(yīng)對(duì)實(shí)例分析
- 60條合同規(guī)定:如何實(shí)現(xiàn)一次性產(chǎn)品零使用
- 上市公司廣告策劃與執(zhí)行合同范本
- 二手房訂房合同條款解析
- 特殊教育導(dǎo)論 課件 第1-6章 特殊教育的基本概念-智力異常兒童的教育
- DB13(J)T145-2012建筑工程資料管理規(guī)程(上冊(cè))
- 企業(yè)職務(wù)犯罪法制講座課件
- 2023學(xué)年完整公開(kāi)課版家鄉(xiāng)的方言
- 護(hù)理質(zhì)量管理課件
- 護(hù)理學(xué)基礎(chǔ)教案導(dǎo)尿術(shù)
- 顱腦外傷(新版)課件
- 《先秦漢魏晉南北朝詩(shī)》(精校WORD版)
- 分包商座談會(huì)領(lǐng)導(dǎo)致辭
- GB/T 16679-1996信號(hào)與連接的代號(hào)
- 高三考前押題卷文科綜合地理試卷(解析版)
評(píng)論
0/150
提交評(píng)論