娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

tiny210裸機(jī)第1課(啟動(dòng)原理)

發(fā)布者:EnchantedBreeze最新更新時(shí)間:2025-01-07 來(lái)源: cnblogs關(guān)鍵字:tiny210  裸機(jī)  啟動(dòng)原理 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

軟硬件環(huán)境

宿主機(jī)系統(tǒng):ubuntu

板子芯片:S5PV210(Contex-A8),512M DDR2,512M SLC Nand

交叉編譯器:arm-linux-gcc-4.5.1

手冊(cè):S5PV210的S5PV210_UM_REV1.1(老版本居然連內(nèi)存地址空間都不同)

1.寫在前面的話

       雖然現(xiàn)在主要做應(yīng)用層軟件,還是想學(xué)一下底層的東東,弄清楚cpu的啟動(dòng)原理。內(nèi)容多為摘抄《Linux平臺(tái)下Mini210S裸機(jī)程序開(kāi)發(fā)指南》--友善之臂和他人博客,作為日后翻閱的筆記之用。

2.S5PV210介紹

S5PV210的datasheet中有對(duì)它的基本架構(gòu)的一些介紹,里面有這么一幅圖

        

         從這張圖中我們可以看出,對(duì)于S5PV210來(lái)說(shuō),采用ContextA8架構(gòu),具有32KB的一級(jí)緩存(Cache)和512K的二級(jí)緩存。

S5PV210有一個(gè)96K的iRam和一個(gè)64K的iRom。iRom是拿來(lái)存放ContextA8的啟動(dòng)BL0的,在出廠的時(shí)候由生產(chǎn)商固化在里面,iRam是ContextA8的內(nèi)部RAM,這個(gè)才是真正意義上的內(nèi)存,BL0會(huì)把BL1拷貝到iRam中運(yùn)行。S5PV210支持存儲(chǔ)接口包括SRAM/ROM, OneNAND, SLC/MLC NAND, LPDDR1/LPDDR2/DDR2。

3.S5PV210內(nèi)存映射 

       

3. S5PV210啟動(dòng)流程

參考S5PV210_iROM_ApplicationNote_Preliminary_20091126.pdf(以下簡(jiǎn)稱SIAP)以及S5PV210的S5PV210_UM_REV1.1.pdf這個(gè)版本的datasheet。

3.1板子是怎么啟動(dòng)起來(lái)的?

首先我們看下面這一表(見(jiàn)SIAP p22頁(yè)):

從原文可知道OM[5:0] 引腳決定了SP5V210的啟動(dòng)流程,可直接接VDD或GND來(lái)進(jìn)行模式切換。OM[5]則需要多接一個(gè)100k的的下拉電阻。

從友善之臂的原理圖中可查到SD啟動(dòng)時(shí),OM[5:0]=001100b,跟原文相符。

接著我們來(lái)看看SIAN里面的一個(gè)圖:

           

下面還有個(gè)注:BL1 / BL2 : It can be variable size copied from boot device to internal SRAM area. 
                        BL1 max. size is 16KB. BL2 max. size is 80KB.       

    在這個(gè)圖中我們看以看出我們的S5PV210支持Nor Flash啟動(dòng),eSSD啟動(dòng),MMC啟動(dòng),OneNand啟動(dòng)和Nand啟動(dòng)。B1最大為16KB,BL2最大為80KB。這里的啟動(dòng)代碼分為三個(gè)部分,第一個(gè)就是BL0,第二個(gè)就是BL1,第三個(gè)就是BL2,這里的BL就是Bootloader的意思。這些標(biāo)著①②③的就是三星給我們的一個(gè)啟動(dòng)流程建議步驟,為啥說(shuō)是建議的步驟呢?因?yàn)槲覀兊膯?dòng)有時(shí)候不一定按照它的建議來(lái),不過(guò)流程是不變的,只是代碼存放的地方要做一些調(diào)整。下面為參考解釋:

(1)BL0:是指S5PV210的iROM中固化的啟動(dòng)代碼
        作用:初始化系統(tǒng)時(shí)鐘,設(shè)置看門狗,初始化堆和棧,加載BL1

(2)BL1:是在iRAM自動(dòng)從外擴(kuò)存儲(chǔ)器(nand/sd/usb)中拷貝的uboot.bin二進(jìn)制文件的頭最大16K代碼
        作用:初始化RAM,關(guān)閉Cache,設(shè)置棧,加載BL2

(3)BL2:是指在代碼重定向后在內(nèi)存中執(zhí)行的uboot的完整代碼
        作用:初始化其它外設(shè),加載OS內(nèi)核

(4)三者之間的關(guān)系:(Interal ROM固化代碼)BL0將BL1(bootloader的前16KB--BL1)加載到iRAM;BL1然后在iRAM中運(yùn)行將BL2(剩下的bootloader)加載到SDRAM;BL2加載內(nèi)核,把OS在SDRAM中運(yùn)行起來(lái),最終OS是運(yùn)行在SDRAM(內(nèi)存)中的。

下圖為SRAM的內(nèi)存地址映射。

            

        因?yàn)槲沂褂玫氖菑腟DMMC啟動(dòng),所以我們會(huì)使用到CopySDMMCtoMem這個(gè)函數(shù),這個(gè)函數(shù)被定義在0xD0037F98這個(gè)位置.

    

這個(gè)函數(shù)的原型是:

SD/MMC Copy Function Address

External source clock parameter is used to fit EPLL source clock at 20MHz.

/**

* This Function copy MMC(MoviNAND/iNand) Card Data to memory.

* Always use EPLL source clock.

* This function works at 20Mhz.

* @param u32 StartBlkAddress : Source card(MoviNAND/iNand MMC)) Address.(It must block address.)

* @param u16 blockSize : Number of blocks to copy.

* @param u32* memoryPtr : Buffer to copy from.

* @param bool with_init : determined card initialization.

* @return bool(u8) - Success or failure.

*/

#define CopySDMMCtoMem(z,a,b,c,e)(((bool(*)(int, unsigned int, unsigned short, unsigned int*, bool))(*((unsigned

int *)0xD0037F98)))(z,a,b,c,e))


關(guān)鍵字:tiny210  裸機(jī)  啟動(dòng)原理 引用地址:tiny210裸機(jī)第1課(啟動(dòng)原理)

上一篇:喜羊羊系列之【設(shè)備-驅(qū)動(dòng) 動(dòng)態(tài)載入進(jìn)內(nèi)核】
下一篇:linux驅(qū)動(dòng)(九)platform驅(qū)動(dòng)模型詳解,以及基于platform驅(qū)動(dòng)模型的led驅(qū)動(dòng)

推薦閱讀最新更新時(shí)間:2025-04-19 16:06

s3c2440 地址分配硬件連接及其啟動(dòng)原理分析
一.CPU 地址分配: 1. s3c2440A 的存儲(chǔ)器控制器有以下特性: l 大小端(通過(guò)軟件選擇) l 地址空間:每個(gè)bank有128M 的字節(jié)(總共1G字節(jié)/8個(gè)banks) l 可編程的訪問(wèn)位寬,bank0(16/32 位),其他bank(8/16/32 位) l 共8個(gè)存儲(chǔ)器banks l 6 個(gè)是ROM,SRAM 等類型存儲(chǔ)器bank (bank0 ---- bank5) l 2 個(gè)是可以作為ROM、SRAM、SDRAM 等存儲(chǔ)器bank (bank6 ---- bank7) l 7 個(gè)固定的存儲(chǔ)器bank起始地址 (bank0 ---- bank6) l 最后一個(gè)bank 的起始地址可調(diào)整 (bank7,
[單片機(jī)]
s3c2440 地址分配硬件連接及其<font color='red'>啟動(dòng)</font><font color='red'>原理</font>分析
IMX6ULL裸機(jī)-4-ADC控制器
ADCx_CFG(x=1~2) 配置寄存器 OVWREN (bit16):數(shù)據(jù)復(fù)寫使能位,為 1 的時(shí)候使能復(fù)寫功能,為 0 的時(shí)候關(guān)閉復(fù)寫功能。 AVGS (bit15:14):硬件平均次數(shù),只有當(dāng) ADC1_GC 寄存器的 AVGE 位為 1 的時(shí)候才有效 ADTRG (bit13):轉(zhuǎn)換觸發(fā)選擇。為 0 的時(shí)候選擇軟件觸發(fā),為 1 的時(shí)候,不選擇軟件觸發(fā)。 REFSEL (bit12:11):參考電壓選擇,為 00 時(shí)選擇 VREFH/VREFL 這兩個(gè)引腳上的電壓為參考電壓,正點(diǎn)原子 ALPHA 開(kāi)發(fā)板上 VREFH 為 3.3V,VREFL 為 0V。 ADHSC (bit10):高速轉(zhuǎn)換使能位,當(dāng)為 0 時(shí)
[單片機(jī)]
s3c2440裸機(jī)-LCD編程(五、LCD上實(shí)現(xiàn)畫點(diǎn)、線、圓)
1.畫點(diǎn) 無(wú)論是何種圖形,都是基于點(diǎn)來(lái)構(gòu)成的,因此我們需要先實(shí)現(xiàn)畫點(diǎn),其他的都是上層的一些數(shù)據(jù)處理了,像各種圖形、甚至色彩鮮艷的圖片無(wú)非都是一些由點(diǎn)構(gòu)造出的數(shù)據(jù)而已。 我們?cè)谠趂armebuffer.c實(shí)現(xiàn)畫點(diǎn),在geomentry.c實(shí)現(xiàn)畫線、畫圓等幾何圖形,font.c實(shí)現(xiàn)畫字。 那么一個(gè)像素點(diǎn)要顯示到lcd上,我們要知道它的位置坐標(biāo),然后還要知道它的顏色值,假設(shè)該像素點(diǎn)的坐標(biāo)為(x,y),那么該像素的地址為: (x,y)= fb_base + (xres*(bpp/8))*y +x*bpp/8; 那么所以在畫點(diǎn)前需要先獲取lcd參數(shù):fb_base、xres、yres、bpp; static unsigned
[單片機(jī)]
s3c2440裸機(jī)-ADC編程
ADC硬件原理 模數(shù)轉(zhuǎn)換器即A/D轉(zhuǎn)換器,或簡(jiǎn)稱ADC,通常是指一個(gè)將模擬信號(hào)轉(zhuǎn)變?yōu)閿?shù)字信號(hào)的電子元件。 如圖,是把可變電阻上的電壓值變換的模擬信號(hào)通過(guò)ADC轉(zhuǎn)換,輸出數(shù)字信號(hào)。 對(duì)于數(shù)字信號(hào)我們需要得到它的2個(gè)屬性: 1.轉(zhuǎn)換精度: 用多少位來(lái)存儲(chǔ)這個(gè)數(shù)據(jù)(假如是10 bit)。那么最大值0b111111111對(duì)應(yīng)3.3v, 0b0對(duì)應(yīng)0v。 2.采樣/轉(zhuǎn)換速度: 可以看出s3c2440的轉(zhuǎn)換精度可達(dá)10 bit, 轉(zhuǎn)換速率可達(dá) 500ksps. 下圖是s3c2440芯片的ADC轉(zhuǎn)換框圖, 從上圖可以看出AD converter前有一個(gè)MUX選擇器,用來(lái)選擇模擬輸入源,這里選擇A 作為輸入源。 下面是編寫程序要做的步驟:
[單片機(jī)]
s3c2440<font color='red'>裸機(jī)</font>-ADC編程
三星6410裸機(jī)程序開(kāi)發(fā)1:tiny6410開(kāi)發(fā)板和裸機(jī)開(kāi)發(fā)環(huán)境
目前,在幫別人開(kāi)發(fā)一個(gè)短距離通信的無(wú)線接收模塊,需求很簡(jiǎn)單,本來(lái)用簡(jiǎn)單的51單片機(jī)就可以搞定。可是人家偏偏指定要使用500MHz以上的CPU,而且采用裸奔的方式。 當(dāng)時(shí)面對(duì)這種奇葩的要求,瞬間無(wú)語(yǔ)。幸好,對(duì)方允許使用友善之臂的tiny6410核心板。這樣下來(lái),開(kāi)發(fā)這個(gè)收發(fā)器模塊也就變得簡(jiǎn)單了。就權(quán)當(dāng)自己練習(xí)吧! tiny6410開(kāi)發(fā)板 硬件上,收發(fā)器模塊使用tiny6410核心板(如下圖所示),底板根據(jù)需求自行設(shè)計(jì)。這不僅可以縮短開(kāi)發(fā)時(shí)間,降低開(kāi)發(fā)難度,而且大大節(jié)省開(kāi)發(fā)成本。 tiny6410核心板 由于硬件底板沒(méi)有這么快設(shè)計(jì)出來(lái),開(kāi)發(fā)時(shí)間又短,因此考慮購(gòu)買現(xiàn)成的6410開(kāi)發(fā)板來(lái)開(kāi)展前期的程序開(kāi)發(fā)及調(diào)試工作。所以選擇
[單片機(jī)]
【JZ2440筆記】裸機(jī)實(shí)驗(yàn)使用NandFlash
一、前言 S3C2440芯片內(nèi)部沒(méi)有ROM可以放用戶代碼,所以用戶代碼需要被保存在外部的存儲(chǔ)器當(dāng)中,如果是NorFlash的話可以直接在NorFlash中運(yùn)行程序,但是NorFlash比較貴,一般都用NandFlash作為存儲(chǔ)介質(zhì),以SDRAM為代碼的運(yùn)行空間。JZ2440開(kāi)發(fā)板上有一顆256MB容量的NandFlash芯片,記錄下學(xué)習(xí)過(guò)程,代碼是開(kāi)發(fā)板自帶的例程。 二、實(shí)驗(yàn)?zāi)繕?biāo) 在SRAM運(yùn)行程序關(guān)閉看門狗,初始化SDRAM,初始化NandFlash控制器,隨后將NandFlash塊1中的main.c部分代碼拷貝到SDRAM中運(yùn)行,看到開(kāi)發(fā)板上3個(gè)LED顯示流水燈效果。 三、資源分析 NandFlash型號(hào)K9F2G
[單片機(jī)]
【JZ2440筆記】<font color='red'>裸機(jī)</font>實(shí)驗(yàn)使用NandFlash
[ARM裸機(jī)程序][2]TQ2440、ADS1.2、JLINK建立集成開(kāi)發(fā)環(huán)境
簡(jiǎn)介 基本原理 通過(guò)JLINK將程序下載到SDRAM(0x30000000)中運(yùn)行。 硬件環(huán)境 TQ2440通過(guò)JLINK鏈接到計(jì)算機(jī)上; NOR FLASH/NAND FLASH啟動(dòng)模式隨意。 軟件環(huán)境 建議使用WIN XP系統(tǒng),可以使用vmware安裝虛擬機(jī); 安裝ADS1.2集成開(kāi)發(fā)環(huán)境; 安裝JINK驅(qū)動(dòng); 需要將TQ2440所帶的Flash.csv文件拷貝到JLINK安裝目錄下。 C:Program Files (x86)SEGGERJLinkARM_V408iETCJFlash 匯編程序模板 先使用一個(gè)HELLO WROLD程序,測(cè)試該環(huán)境的有效性: AREA ARM,COD
[單片機(jī)]
[ARM<font color='red'>裸機(jī)</font>程序][2]TQ2440、ADS1.2、JLINK建立集成開(kāi)發(fā)環(huán)境
win7下keil4開(kāi)發(fā)s3c2440裸機(jī)的開(kāi)發(fā)環(huán)境搭建
ADS在win7下不穩(wěn)定并且官方早就已經(jīng)不更新,并且本人常用MDK進(jìn)行嵌入式軟件開(kāi)發(fā),MDK簡(jiǎn)單好用,功能強(qiáng)大,所以想用MDK來(lái)進(jìn)行開(kāi)發(fā)S3C2440的裸機(jī)開(kāi)發(fā)。從網(wǎng)上找里好多大神的博客,搭建環(huán)境時(shí),出現(xiàn)很多奇怪的問(wèn)題,寫此博客一是記錄一下,二是想讓新搭建環(huán)境的同行少走一些彎路。 1、平臺(tái) 1)、操作系統(tǒng):win7 64位 2)、KEIL版本:4.74 3)、jlink V9下載器 4)、開(kāi)發(fā)板:FL2440 keil軟件以及jlink驅(qū)動(dòng)安裝可自行百度安裝。 2、新建工程 2.1、選擇project下的New uVision Project新建個(gè)工程 設(shè)置工程路徑以及工程名字 ##2.2、選
[單片機(jī)]
win7下keil4開(kāi)發(fā)s3c2440<font color='red'>裸機(jī)</font>的開(kāi)發(fā)環(huán)境搭建
小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 防城港市| 灌云县| 兰州市| 岳阳市| 遵义县| 祥云县| 娱乐| 六枝特区| 公安县| 龙江县| 洛川县| 望城县| 祁连县| 民丰县| 白银市| 彭山县| 和龙市| 裕民县| 逊克县| 武威市| 河曲县| 扶绥县| 喜德县| 武清区| 平阴县| 璧山县| 红原县| 彭阳县| 苏州市| 南召县| 资中县| 吉木萨尔县| 股票| 蓝田县| 成安县| 虹口区| 平潭县| 耒阳市| 双牌县| 福泉市| 平昌县|