久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

BootLoader各步驟的原理及實(shí)現(xiàn)方法

 心不留意外塵 2017-10-06
http://blog./uid-7596337-id-125798.html
2010
1屏蔽中斷
1.1如何屏蔽
  A:CPSR的I,、F位,置1表示屏蔽
1.2和模式的關(guān)系
  A:七種模式-USR,,SYS,,SVC,IRQ,,F(xiàn)IQ,,UND,ABT。進(jìn)入SVC默認(rèn)模式,,低五位M[0-4]值10011
1.3何種匯編
  A:MRS,,從CPSR寄存器讀取值,ORR,,MSR寫回,,CPSRc。
2 關(guān)閉看門狗
2.1 如何關(guān)閉
  A:查閱s3c2440 SOC芯片數(shù)據(jù)手冊(cè),,找到watchdoor寄存器的使能,,對(duì)該位清0表示關(guān)閉。
2.2 地址多少
  A:0x53000000
2.3 不關(guān)有何問題,?
  A:倒計(jì)時(shí)的計(jì)數(shù)器到時(shí)后自動(dòng)重啟開發(fā)板,,大概7,8秒左右,。
3 設(shè)置時(shí)鐘
3.1 時(shí)鐘是什么,?誰(shuí)產(chǎn)生?
  A:固定頻率的晶體,。
3.2 有什么用,?如何設(shè)? 
  A:給ARM內(nèi)核提供clock-FCLK,給系統(tǒng)高速總線提供HLCK,給外設(shè)低速總線提供-PCLK,。
3.3 如何設(shè)clock,?
  A:確定系統(tǒng)輸入時(shí)鐘的頻率,確定3類時(shí)鐘的分頻比,,配置相關(guān)的寄存器,,在s3c2440上的系統(tǒng) 時(shí)鐘是12MHz,6:2:1,,PLL控制寄存器MPLLCON,,UPLLCON(MDIV,PDIV,,SDIV),,CLKCON, CLKDIVN,,CAMDIVN
4,。關(guān)蜂鳴器
4.1 怎樣關(guān)寄存器
  A:查看硬件設(shè)計(jì)的原理圖(電路圖),確定蜂鳴器的連接位置(是和哪個(gè)GPIO的引腳相連),,查 看芯片的datasheet,找到這個(gè)GPIO引腳所對(duì)應(yīng)的配置寄存器(GPBCON),,確定設(shè)置哪些位來(lái)對(duì)該 寄存器進(jìn)行配置。
4.2 如何設(shè)置寄存器
  A:1-設(shè)置GPBCON寄存器,,設(shè)置bit0和bit1為輸出,,value是01表示輸出output
  2-設(shè)置GPBDAT寄存器,,設(shè)置bit0,value是0,表示輸出低電平,根據(jù)電路圖,,低電平就可以關(guān) 閉蜂鳴器,。
5. 設(shè)置堆棧
5.1 堆棧有什么用
 A:因?yàn)镃語(yǔ)言運(yùn)行需要棧,函數(shù)調(diào)用的時(shí)候,。(1.函數(shù)傳遞參數(shù)-超過4個(gè)參數(shù)的時(shí)候,,2.局部變 量的時(shí)候-必須要用棧來(lái)存放變量的時(shí)候,例如數(shù)組)
5.2 怎樣設(shè)置堆棧
 B:Mov sp, #0x1000,;一般來(lái)說,,在進(jìn)入C之前,跳轉(zhuǎn)到C(主函數(shù))函數(shù)之前,,設(shè)置好sp.sp的 地址值應(yīng)該是按字對(duì)齊,。SP地址必須是設(shè)置到SRAM或者SDRAM,設(shè)置在高端的地址上,,編譯器一般壓棧是采用FD(滿遞減)的方式,。
6.設(shè)置串口
6.1 串口有什么用
 A:能夠串行地接收和發(fā)送數(shù)據(jù),因?yàn)樗銐蚝?jiǎn)單,,歷史的原因,。
6.2 串口的工作原理,傳送機(jī)制是什么
 A:發(fā)送數(shù)據(jù),,寫到緩存寄存器bufferREG,從buffer拷貝到移位寄存器shifterREG,從發(fā)送數(shù)據(jù)線 (按bit發(fā)送,根據(jù)異步時(shí)鐘CLK)傳送出去,,等待一段時(shí)間,,傳送過程結(jié)束。未結(jié)束之前,,不能 繼續(xù)寫入,。
6.3 串口的幀格式樣(Frame)是什么?
 A:1個(gè)起始位,,5~8個(gè)數(shù)據(jù)位,,1個(gè)可選的奇偶校驗(yàn)位,1-2個(gè)停止位,。
6.4 S3C2440的串口是怎樣的,?
 A:2440有3個(gè)串口,每個(gè)uart都可以工作在中斷模式和DMA模式,。換言之,,UART可以生成一個(gè)中  斷或DMA 請(qǐng)求用于 CPU 和 UART之間的數(shù)據(jù)傳輸。UART使用系統(tǒng)時(shí)鐘可以支持最高 115.2Kbps的  波特率,。如果一個(gè)外部設(shè)備提供UEXTCLK給UART,,UART可以在更高的速度下工作,。每個(gè) UART通道 對(duì)于接收器和發(fā)送器包括了 2個(gè) 64位的FIFO。
6.5 如何去設(shè)置s3c2440的uart0工作,?
 A:查閱芯片手冊(cè),,設(shè)置串口的控制寄存器(工作參數(shù)--數(shù)據(jù)位,停止位,,奇偶校驗(yàn)位,,波特率 ,工作模式),,設(shè)置串口的發(fā)送接收管腳Pin (IO管腳的功能復(fù)用),。
6.6 如何實(shí)現(xiàn)串口的讀寫功能?
 A:getchar和putchar函數(shù)實(shí)現(xiàn):寫操作下:先查看狀態(tài)寄存器,,根據(jù)發(fā)送結(jié)束位(發(fā)送寄存器 為空位),,等待到該位被設(shè)置為空的時(shí)候,讀操作下,,先查看狀態(tài)寄存器,,根據(jù)接收結(jié)束位(接 收寄存器為滿位),等待到該位被設(shè)置為滿的時(shí)候,。
7.xmodem協(xié)議
7.1 為什么會(huì)有,?什么modem協(xié)議?
 A:1-文件大小的問題(文件結(jié)束傳輸?shù)膯栴}),。2-數(shù)據(jù)包丟失的問題(序號(hào)的補(bǔ)碼),。3-電流 干擾導(dǎo)致數(shù)據(jù)出錯(cuò)的問題(算術(shù)校驗(yàn)和)。 總結(jié):解決文件大,、長(zhǎng)距離,、惡劣環(huán)境下的數(shù)據(jù)不 出錯(cuò)的問題。
7.2 相關(guān)協(xié)議有哪些,?
 A:xmodem-1k,ymodem,zmodem,kermit協(xié)議
7.3 xmodem協(xié)議的幀結(jié)構(gòu),?
 A:1字節(jié)的SOH起始位,1個(gè)字節(jié)的數(shù)據(jù)包序號(hào),,1個(gè)字節(jié)的序號(hào)的補(bǔ)碼,,128個(gè)字節(jié)的數(shù)據(jù),1個(gè) 字節(jié)的校驗(yàn),。
7.4 傳送過程是怎樣的,?
 A:1-接受方發(fā)NAK,2-發(fā)送方發(fā)第一幀數(shù)據(jù),,3-接收方回復(fù)ACK,,4-發(fā)送方發(fā)第二幀,5-6,,重復(fù)  3-4的步驟,,直到結(jié)束,,End-發(fā)送方發(fā)EOT,接收方發(fā)ACK確認(rèn)。
    重發(fā)機(jī)制:如果接收方發(fā)現(xiàn)數(shù)據(jù)包出錯(cuò),,發(fā)NAK,,然后發(fā)送方重發(fā)當(dāng)前的數(shù)據(jù)。
7.5 控制字有哪些,,有什么用,?
 A:SOH-幀的開頭字節(jié)。EOT-結(jié)束標(biāo)志字節(jié),。ACK-確認(rèn)字節(jié),。NAK-重發(fā)請(qǐng)求字節(jié)。CAN-中止傳輸 字節(jié),。
8. SDRAM初始化
8.1 什么是SDRAM,?為什么要用SDRAM?
 A:SDRAM(Synchronous Dynamic Random Access Memory,同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器),。因?yàn)镾RAM容 易小,,價(jià)格貴,無(wú)法適應(yīng)大規(guī)模的程序開發(fā)),。
8.2 SDRAM的工作原理,、控制機(jī)制是什么?
 A:從總線傳送的地址,,通過行地址和列地址進(jìn)行尋址,,存儲(chǔ)結(jié)構(gòu)是4個(gè)bank,每個(gè)bank是4M大小 ,,每個(gè)存儲(chǔ)單元是16bit,,接收地址省略了0,1這2個(gè)位,使得尋址按4個(gè)字節(jié)對(duì)齊,,它的時(shí)鐘是分 2個(gè)clock分別尋址,,由2個(gè)SDRAM器件組成,,每個(gè)32M存儲(chǔ)空間,,分別存放一個(gè)word的高2字節(jié)和低 2字節(jié),共同組成64M的SDRAM空間,。
 0x30000000--前13位是行地址,,后9位是列地址。通過內(nèi)存控制器,。之所以分行地址和列地址,, 是為了地址線的分時(shí)復(fù)用。
8.3 如何初始化SDRAM器件,?
 A:查閱SDRAM器件的數(shù)據(jù)手冊(cè),,設(shè)置s3c2440和內(nèi)存控制器相關(guān)的13個(gè)寄存器,,賦初始化控制值  ,包括總線寬度,、等待狀態(tài),、SDRAM的刷新頻率、控制寄存器選擇bank6,、bank7,。可調(diào)整的bank 大小,。模式寄存器(CAS latency去查sdram器件的芯片手冊(cè)-時(shí)序圖),。
 
8.4 程序如何從SRAM跳到SDRAM上運(yùn)行?
 A:1-設(shè)置鏈接器armlink的-ro-base參數(shù),,使得ro-base從0x30000000(sdram)開始,,2-在程序 中,定義一個(gè)跳轉(zhuǎn)的標(biāo)識(shí)符on_the_ram,,這其實(shí)就是定義了一個(gè)絕對(duì)地址在SDRAM中,,3-設(shè)置PC寄存器為剛才那個(gè)絕對(duì)地址(on_the_ram(0x3000xxxx))。ldr pc, =on_the_ram,。
9.實(shí)現(xiàn)NAND flash->SDRAM的搬移
9.1 什么是NAND FLASH,,為什么要用它?
 A:NAND flash是ROM的一種,。因?yàn)樗萘看?,價(jià)格便宜,并且掉電后不丟失數(shù)據(jù),,可進(jìn)行在線的 編程,。
9.2 NAND flash要不要初始化?如果要,,怎么初始化,?
 A:要初始化??磗3c2440的芯片手冊(cè),,找到NAND flash控制器中相應(yīng)的寄存器,對(duì)控制寄存器 CONF進(jìn)行設(shè)置,,設(shè)置Buswidth,Addcycle,Pagesize...,。
9.3 如何實(shí)現(xiàn)flash的讀操作?
 A:1-先通讀一下硬件原理圖,,找到NANDflash的連接圖,,了解flash的接口。
   2-查找NAND flash 的芯片手冊(cè),,找到相應(yīng)接口pin管腳的含義,。
   3-提出一個(gè)問題,,IO0-IO7如何表示對(duì)一個(gè)地址的讀寫操作?
     (1)flash是以Page頁(yè)為單位,,進(jìn)行讀寫操作,。
     (2)對(duì)40k空間,進(jìn)行計(jì)算,,得到需要進(jìn)行80次頁(yè)操作(讀),。
     (3)對(duì)一個(gè)頁(yè)page的讀,找到對(duì)應(yīng)的READ Flow Chart讀操作的控制流程,。
9.4 NAND flash的數(shù)據(jù)存儲(chǔ)是怎樣的,?
 A:最小的單位是一個(gè)頁(yè)P(yáng)age=512bytes+16byteREG。按32Pages組成一個(gè)Block,。一個(gè)flash器件 內(nèi)部可以包含4096個(gè)blocks,最大容量為512M,。
9.5Nand Flash(k9f1208)和NorFlash(sst39vf160)有何不同?
 A:首先查看2種Flash的Datesheet,,找到2個(gè)器件的外圍管腳pin的定義說明,,通過對(duì)比發(fā)現(xiàn), NorFlash有獨(dú)立的地址線和數(shù)據(jù)線,,Nandflash是IOn管腳進(jìn)行復(fù)用,。Norflash沒有命令鎖存和地 址鎖存。NorFlash的讀操作和SRAM一致,,可以用來(lái)存放啟動(dòng)代碼,。NorFlash的寫操作類似于 NANDflash,對(duì)NorFlash進(jìn)行寫操作,,不能使用str,,必須進(jìn)行編程(program)。
9.6相比用NorFlash存放啟動(dòng)代碼,,NandFlash用于啟動(dòng)有何優(yōu)缺點(diǎn),?
 A:NandFlash要比NorFlash慢一點(diǎn),因?yàn)樗荌O復(fù)用方式,,比直接的總線讀寫要慢,。NandFlash  能夠啟動(dòng),必須要靠SRAM,,同時(shí)還必須有NandFlash的控制器在啟動(dòng)的時(shí)候幫助進(jìn)行copy,。
 優(yōu)點(diǎn)是容量大,,可以存放更多啟動(dòng)代碼,,或者更大的操作系統(tǒng),文件系統(tǒng),,因?yàn)橛辛薔andFlash  和SRAM,,SDRAM的配合啟動(dòng)方式,,使得減少了NorFlash的使用,慢慢不用,。
9.7我們采用的Nandflash的外部引腳是怎樣的,?
 A:IO0-IO7表示輸入輸出(命令字、地址(塊block地址,,頁(yè)page地址),、數(shù)據(jù)),CLE:命令鎖  存,,ALE:地址鎖存,,RE:讀使能,WE:寫使能,,R/Busy:忙,。區(qū)別于NorFlash:沒有地址線和數(shù)據(jù)線。
9.8NandFlash的1Page和1block多大,?
 A:1Page:512字節(jié)+16字節(jié)=528字節(jié),。1block:32個(gè)page頁(yè),約16K字節(jié),。
9.9NandFlash的地址線和數(shù)據(jù)線是如何區(qū)分的,?
 A:首先數(shù)據(jù)和地址都是通過IO0-IO7這八個(gè)管腳進(jìn)行傳輸?shù)模瑓^(qū)別數(shù)據(jù)和地址主要看NandFlash 的操作(控制)流程圖FlowChart,,根據(jù)最開始寫入的命令字來(lái)區(qū)分,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多