新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM 2440 學(xué)習(xí)筆記

ARM 2440 學(xué)習(xí)筆記

作者: 時間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
1、NOR Flash 和 NAND Flash

NOR Flash 的特點(diǎn)是芯片內(nèi)執(zhí)行(XIP ,eXecute In Place),這樣應(yīng)用程序可以直接在Flash閃存內(nèi)運(yùn)行,不必再把代碼讀到系統(tǒng)RAM中。

本文引用地址:http://butianyuan.cn/article/201611/321243.htm

NOR 的傳輸效率很高,在1~4MB的小容量時具有很高的成本效益,但是很低的寫入和擦除速度大大影響到它的性能。NAND的結(jié)構(gòu)能提供極高的單元密度,可以達(dá)到高存儲密度,并且寫入和擦除的速度也很快。應(yīng)用NAND的困難在于Flash的管理和需要特殊的系統(tǒng)接口。通常讀取NOR的速度比NAND稍快一些,而NAND的寫入速度比NOR快很多。

http://baike.baidu.com/view/2741245.htm

l 、NOR的讀速度比NAND稍快一些。

  2、 NAND的寫入速度比NOR快很多。

  3 、NAND的4ms擦除速度遠(yuǎn)比NOR的5s快。

  4 、大多數(shù)寫入操作需要先進(jìn)行擦除操作。

  5 、NAND的擦除單元更小,相應(yīng)的擦除電路更少。

  此外,NAND的實(shí)際應(yīng)用方式要比NOR復(fù)雜的多。

NOR主要應(yīng)用在代碼存儲介質(zhì)中,NAND適合于數(shù)據(jù)存儲

2、GPIO

General Purpose Input Output (通用輸入/輸出)簡稱為GPIO,或總線擴(kuò)展器,利用工業(yè)標(biāo)準(zhǔn)I2C、SMBus™或SPI™接口簡化了I/O口的擴(kuò)展。當(dāng)微控制器或芯片組沒有足夠的I/O端口,或當(dāng)系統(tǒng)需要采用遠(yuǎn)端串行通信或控制時,GPIO產(chǎn)品能夠提供額外的控制和監(jiān)視功能。

3、TTL電平

 TTL電平信號被利用的最多是因?yàn)橥ǔ?shù)據(jù)表示采用二進(jìn)制規(guī)定,+5V等價于邏輯“1”,0V等價于邏輯“0”,這被稱做TTL(晶體管-晶體管邏輯電平)信號系統(tǒng)。

4、

USB Host:和普通PC 的USB 接口是一樣

USB Slave:使用它來下載程序到目標(biāo)板,當(dāng)開發(fā)板裝載了WinCE 系統(tǒng)時,它可以通過ActiveSync 軟件和Windows 系統(tǒng)進(jìn)行同步。

5、BSP(board support package)板級支持包

BSP(board support package)是板級支持包,是介于主板硬件和操作系統(tǒng)之間的一層,應(yīng)該說是屬于操作系統(tǒng)的一部分,主要目的是為了支持操作系統(tǒng),為上層的驅(qū)動程序提供訪問硬件設(shè)備寄存器的函數(shù)包,使之能夠更好的運(yùn)行于硬件主板。在嵌入式系統(tǒng)軟件的組成中,就有BSP。BSP是相對于操作系統(tǒng)而言的,不同的操作系統(tǒng)對應(yīng)于不同定義形式的BSP,例如VxWorks的BSP和Linux的BSP相對于某一CPU來說盡管實(shí)現(xiàn)的功能一樣,可是寫法和接口定義是完全不同的,所以寫B(tài)SP一定要按照該系統(tǒng)BSP的定義形式來寫(BSP的編程過程大多數(shù)是在某一個成型的BSP模板上進(jìn)行修改)。這樣才能與上層OS保持正確的接口,良好的支持上層OS。

BSP主要功能為屏蔽硬件,提供操作系統(tǒng)及硬件驅(qū)動,具體功能包括:

  1. 單板硬件初始化,主要是CPU的初始化,為整個軟件系統(tǒng)提供底層硬件支持

  2. 為操作系統(tǒng)提供設(shè)備驅(qū)動程序和系統(tǒng)中斷服務(wù)程序

  3. 定制操作系統(tǒng)的功能,為軟件系統(tǒng)提供一個實(shí)時多任務(wù)的運(yùn)行環(huán)境

  4. 初始化操作系統(tǒng),為操作系統(tǒng)的正常運(yùn)行做好準(zhǔn)備。

http://baike.baidu.com/view/6137.htm

6、交叉編譯器 

 在一種計(jì)算機(jī)環(huán)境中運(yùn)行的編譯程序,能編譯出在另外一種環(huán)境下運(yùn)行的代碼,我們就稱這種編譯器支持交叉編譯。這個編譯過程就叫交叉編譯。簡單地說,就是在一個平臺上生成另一個平臺上的可執(zhí)行代碼。

7、ADS

ADS(ARM Developer Suite),是在1993年由Metrowerks公司開發(fā)是ARM處理器下最主要的開發(fā)工具。

8、SDK

SDK(Software Development Kit, 即軟件開發(fā)工具包)一般是一些被軟件工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。

9、DNW

三星公司出的串口下載工具,相當(dāng)于WINXP自帶的超級終端,不過有了一些超級終端沒有的功能,比如用USB傳輸文件等。

10 nboot eboot uboot

nboot很?。?k左右),一般用在從nandflash啟動的情況,nandflash不支持xip,所以必須有一個可以執(zhí)行的程序?qū)龑懺谄渲械膃boot搬到內(nèi)存中,nboot就是干這個的。nboot燒寫在片內(nèi)的4ksram中。所以nboot一般配合eboot一起使用。

eboot就是ethernet boot,開始都是用網(wǎng)絡(luò)下載的,現(xiàn)在大都加入了usb下載功能。eboot可以單獨(dú)使用,就是把eboot燒寫到norflash中,norflash支持xip,所以eboot可以自己把自己搬到內(nèi)存中。

uboot以前常配合linux系統(tǒng)使用,不過現(xiàn)在已經(jīng)在ce下用的很多了,我現(xiàn)在用的就是由uboot移植來的,只不過板商一般都不給源碼,比較郁悶。uboot應(yīng)該是比較強(qiáng)大的bootloader了,比eboot強(qiáng)大多了。

一、直接看用戶手冊安裝win CE 開發(fā)環(huán)境。

遇到問題參考這個:

1、http://wenku.baidu.com/view/3d4d2b5c804d2b160b4ec06c.html

2、遇到 因windows installer 裝不起Windows Embedded CE 6.0 Platform Builder Service Pack 1.msi 的時候,參考這個:http://zhidao.baidu.com/question/373792186.html

Ø 軟件列表

1. Visual Studio 2005

2. Visual Studio 2005 Service Pack 1

若安裝的是英文版VS2005,則需要安裝的補(bǔ)丁的文件名為:VS80sp1-KB926601-X86-ENU.exe;若安裝的是中文版VS2005,則需要安裝的補(bǔ)丁的文件名為:VS80sp1-KB926604-X86-CHS.exe

3. Visual Studio 2005 Service Pack 1 Update for Windows Vista

若使用的是WindowsXP,則不用安裝此項(xiàng)。若使用的是Windows7,則需要安裝此補(bǔ)丁。若安裝的是英文版VS2005,則需要安裝的補(bǔ)丁的文件名為:VS80sp1-KB932232-X86-ENU.exe;若安裝的是中文版VS2005,則需要安裝的補(bǔ)丁的文件名為:VS80sp1-KB932230-X86-CHS.exe

4. Visual Studio 2005 Service Pack 1 ATL Security Update

若使用的是XP系統(tǒng),則不必安裝該補(bǔ)丁。文件名:VS80sp1-KB971090-X86-INTL.exe

ATL是ActiveX Template Library 的縮寫,它是一套C++模板庫

5. Windows Embedded CE 6.0

6. Windows Embedded CE 6.0 Platform Builder Service Pack 1

7. Windows Embedded CE 6.0 R2

8. Windows Embedded CE 6.0 R3

9. 安裝模擬器Microsoft Device Emulator 2.0 -- Standalone Release

10. CHSEmu.msi

這個文件是我從網(wǎng)上下載到的別人創(chuàng)建的SDK,如果你自己創(chuàng)建自定義SDK不成功,或者不想自己創(chuàng)建一個SDK的話,直接安裝這個SDK就可以了。

2012.8.15 關(guān)于用H-JTAG燒寫mini2440不能識別NorFlash型號問題

(使用的開發(fā)板配套的PDF上寫的NOR flash型號是SST39VF1601,實(shí)際上不對,應(yīng)為S29AL016D-M02)

如題,燒寫后總是出現(xiàn)不能識別FLASH型號問題。到H-JTAG網(wǎng)站下載了一個hfc文件查看,發(fā)現(xiàn)比friendlay提供的hfc文件多了一
行SoftReset+++,于是修改H-Flasher_mini2440.hfc文件,在SCRIPT
SECTION:后插入一行SoftReset+++,呵呵,可以正確識別了。將我修改后的H-Flasher_mini2440.hfc內(nèi)容粘貼如下,
以供參考,希望能對各位有所幫助。

FLASH SECTION:
SST
SST39VF1601
MEMORY SECTION:
16-BIT X 1-CHIP
0x00000000
0x40000000
XTAL SECTION:
NULL
TCK SECTION:
-1
-1
SCRIPT SECTION:
SoftReset+++
Setmem+32-Bit+0x53000000+0x00000000
Setmem+32-Bit+0x4A000008+0xFFFFFFFF
Setmem+32-Bit+0x4A00001C+0x000007FF
Setmem+32-Bit+0x53000000+0x00000000
Setmem+32-Bit+0x56000050+0x000055AA
Setmem+32-Bit+0x4C000014+0x00000007
Setmem+32-Bit+0x4C000000+0x00FFFFFF
Setmem+32-Bit+0x4C000004+0x00061012
Setmem+32-Bit+0x4C000008+0x00040042
Setmem+32-Bit+0x48000000+0x22111120
Setmem+32-Bit+0x48000004+0x00002F50
Setmem+32-Bit+0x48000008+0x00000700
Setmem+32-Bit+0x4800000C+0x00000700
Setmem+32-Bit+0x48000010+0x00000700
Setmem+32-Bit+0x48000014+0x00000700
Setmem+32-Bit+0x48000018+0x0007FFFC
Setmem+32-Bit+0x4800001C+0x00018005
Setmem+32-Bit+0x48000020+0x00018005
Setmem+32-Bit+0x48000024+0x008E0459
Setmem+32-Bit+0x48000028+0x00000032
Setmem+32-Bit+0x4800002C+0x00000030
Setmem+32-Bit+0x48000030+0x00000030
PGMOPTION SECTION:
ADDON SECTION:
NULL



關(guān)鍵詞: ARM2440學(xué)習(xí)筆

評論


技術(shù)專區(qū)

關(guān)閉