第05章ARM嵌入式系統(tǒng)開發(fā)環(huán)境ppt課件_第1頁
第05章ARM嵌入式系統(tǒng)開發(fā)環(huán)境ppt課件_第2頁
第05章ARM嵌入式系統(tǒng)開發(fā)環(huán)境ppt課件_第3頁
第05章ARM嵌入式系統(tǒng)開發(fā)環(huán)境ppt課件_第4頁
第05章ARM嵌入式系統(tǒng)開發(fā)環(huán)境ppt課件_第5頁
已閱讀5頁,還剩74頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、第第5章章 ARM嵌入式系統(tǒng)開發(fā)環(huán)境嵌入式系統(tǒng)開發(fā)環(huán)境v5.1 基本原理v5.2 實驗及其要求嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)15.1 基本原理基本原理v絕大多數(shù)的Linux軟件開發(fā)都是以Native方式進行的,即本機Host開發(fā)、調(diào)試,本機運行的方式。這種方式通常不適合嵌入式系統(tǒng)的軟件開發(fā),因為嵌入式系統(tǒng)沒有足夠的資源在本機運行開發(fā)工具和調(diào)試工具。通常,嵌入式系統(tǒng)的軟件開發(fā)采用一種交叉編譯調(diào)試的方式,交叉編譯調(diào)試環(huán)境建立在宿主機上,宿主機可以是一臺PC或工作站,對應(yīng)的目標(biāo)板也稱為開發(fā)板或?qū)嶒灠?。圖5.1給出了這種交叉編譯環(huán)境的示意圖。開發(fā)時使用宿主機上的交叉編譯、

2、匯編及鏈接工具形成可執(zhí)行的二進制代碼,這種可執(zhí)行代碼不能在宿主機上執(zhí)行而只能在目標(biāo)板上執(zhí)行,因此需要把可執(zhí)行文件下載到目標(biāo)板上運行。一般調(diào)試的方法包括串口調(diào)試和以太網(wǎng)口調(diào)試。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)25.1 基本原理基本原理v圖5.1 交叉編譯環(huán)境示意圖嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)35.1 基本原理基本原理5.1.1 SemitARM9200實驗箱實驗箱本書后面的實驗和開發(fā)實例均依托本書后面的實驗和開發(fā)實例均依托SemitARM9200實驗箱進行闡述,實驗箱進行闡述,SemitARM9200實驗箱中的開發(fā)目標(biāo)板及其配實驗箱中的

3、開發(fā)目標(biāo)板及其配套軟件由作者及其同事依托東南大學(xué)移動通信國套軟件由作者及其同事依托東南大學(xué)移動通信國家重點實驗室和南京東大移動互聯(lián)技術(shù)有限公司家重點實驗室和南京東大移動互聯(lián)技術(shù)有限公司而開發(fā)。而開發(fā)。SemitARM9200實驗箱分為上、下兩層,它們實驗箱分為上、下兩層,它們所包含的模塊名稱及其數(shù)量分別列于表所包含的模塊名稱及其數(shù)量分別列于表5.1和表和表5.2中。中。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)45.1 基本原理基本原理表5.1 SemitARM9200實驗箱上層表5.2 SemitARM9200實驗箱下層模 塊 名 稱數(shù) 量模 塊 名 稱數(shù) 量Zigbee模

4、塊(主)1塊SemitARM9200開發(fā)底板1塊Zigbee模塊(從)1塊SemitARM9200 核心板1塊GPS模塊1塊7.5V 1200mA電源1塊CDMA模塊1塊7.5V 800mA電源4塊GPS天線1根GSM天線1根CDMA天線1根耳機1副802.11g無線網(wǎng)卡1塊串口線(雙公)1根串口線(公母)2根直連網(wǎng)線1根嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)55.1 基本原理基本原理v實驗箱的實物圖分別如圖5.2和圖5.3所示,開發(fā)板及接口、CDMA模塊及電源、GPS模塊及電源、Zigbee模塊及電源、IEEE 802.11g無線網(wǎng)卡的實物圖分別如圖5.4圖5.8所示。

5、另外,GSM天線在實驗箱的最低層,取出來后裝在圖5.3中GSM天線底座的位置上。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)65.1 基本原理基本原理v圖5.2 實驗箱上層嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)75.1 基本原理基本原理v圖5.3 實驗箱下層嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)85.1 基本原理基本原理v圖5.4 SemitARM9200 開發(fā)板及接口嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)95.1 基本原理基本原理v 圖5.5 CDMA模塊及電源嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)

6、用第二版)105.1 基本原理基本原理v圖5.6 GPS模塊及電源嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)115.1 基本原理基本原理v圖5.7 Zigbee主、從模塊及電源 v 圖5.8 802.11g無線網(wǎng)卡嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)125.1 基本原理基本原理vSemitARM9200開發(fā)板由核心板和底板組成。核心板在實驗箱的最低層,取出來后裝在圖5.3中的核心板插槽處。核心板上集成了Atmel的AT91RM9200處理器,64MB SDRAM及16MB的Flash,為應(yīng)用研發(fā)提供了足夠的空間。底板上則提供以下外設(shè)接口:兩個RS-23

7、2 串口COM),一個USB Host接口,兩個USB Device接口,一個10/100Mbps自適應(yīng)以太網(wǎng)接口。v核心板和底板配合即構(gòu)成一個最小的完整應(yīng)用系統(tǒng)。系統(tǒng)具有體積小、耗電低、處理能力強等特點,能夠裝載和運行嵌入式Linux操作系統(tǒng),用戶可以在這個系統(tǒng)平臺上進行自主軟件開發(fā)。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)135.1 基本原理基本原理v AT91RM9200具有如下資源及接口:v 16KB數(shù)據(jù)Cache,16KB指令Cache,寫緩沖區(qū);v 虛擬內(nèi)存管理單元NMU;v 帶有Debug調(diào)試的在片Emulator;v 中級執(zhí)行嵌入式Trace Macroce

8、ll;v 16KB的內(nèi)部SRAM和128KB的內(nèi)部ROM;v 外部總線接口EBI);v 支持SDRAM、SRAM、Burst Flash和CompactFlash、SmartMedia and NAND Flash的無縫連接;v 增強型的時鐘產(chǎn)生器和電源管理單元;v 帶有兩個PLL的兩個在片振蕩器;v 慢速的時鐘操作模式和軟件電源優(yōu)化能力;嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)145.1 基本原理基本原理 4個可編程的外部時鐘信號; 包括周期性中斷、看門狗和第2計數(shù)器的系統(tǒng)定時器; 帶有報警中斷的實時時鐘; 帶有8個優(yōu)先級、可單個屏蔽中斷源、Spurious中斷保護的先進

9、中斷控制器; 7個外部中斷源和一個快速中斷源; 4個32位的PIO控制器可以達到122個可編程I/O引腳每個都有輸入控制、可中斷及開路的輸出能力); 20通道的外部數(shù)據(jù)控制器DMA); 10/100Mbps的以太網(wǎng)接口; 兩個全速的USB2.0主接口和一個從口; 4個USART;嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)155.1 基本原理基本原理 三通道16位的定時/計數(shù)器TC); 兩線接口TWI); IEEE 1149.1 JTAG標(biāo)準(zhǔn)掃描接口。 核心板各個部分的構(gòu)成如圖5.9所示。 內(nèi)存部分:1片168Mb數(shù)據(jù)寬度的Flash,共16MB FlashIntel 28F1

10、28J3C,如有不同型號,則是完全兼容的器件);兩片16M16b數(shù)據(jù)寬度的SDRAMHY 57V561620B T,如有不同型號,則是完全兼容的器件構(gòu)成64MB SDRAM。 數(shù)據(jù)通信口和外部輸入/輸出口:底板實現(xiàn)了按鍵、UART、USB和百兆位以太網(wǎng)等功能。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)165.1 基本原理基本原理v 圖5.9 SemitARM9200開發(fā)板中的核心板的構(gòu)成嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)175.1 基本原理基本原理5.1.2 宿主機開發(fā)環(huán)境宿主機開發(fā)環(huán)境SemitARM9200開發(fā)板可采用串口調(diào)試,操作系統(tǒng)經(jīng)過修改可

11、以實開發(fā)板可采用串口調(diào)試,操作系統(tǒng)經(jīng)過修改可以實現(xiàn)以太網(wǎng)口調(diào)試。宿主機和目標(biāo)板的處理器一般都不相同,宿主機為現(xiàn)以太網(wǎng)口調(diào)試。宿主機和目標(biāo)板的處理器一般都不相同,宿主機為Intel或或AMD處理器,而目標(biāo)板例如本開發(fā)板的處理器為處理器,而目標(biāo)板例如本開發(fā)板的處理器為ATMEL AT91RM9200。GNU編譯器提供這樣的功能,在編譯時編譯器提供這樣的功能,在編譯時可以選擇開發(fā)所需的宿主機和目標(biāo)機,從而建立開發(fā)環(huán)境。所以在進可以選擇開發(fā)所需的宿主機和目標(biāo)機,從而建立開發(fā)環(huán)境。所以在進行嵌入式開發(fā)前的第一步工作就是要安裝一臺裝有指定操作系統(tǒng)的行嵌入式開發(fā)前的第一步工作就是要安裝一臺裝有指定操作系統(tǒng)的

12、PC作為宿主開發(fā)機。宿主機上的操作系統(tǒng)一般要求安裝作為宿主開發(fā)機。宿主機上的操作系統(tǒng)一般要求安裝Linux,但,但Linux有多個發(fā)行版本,本系統(tǒng)推薦使用有多個發(fā)行版本,本系統(tǒng)推薦使用Redhat 9.0作為本開發(fā)板作為本開發(fā)板的宿主機的宿主機PC操作系統(tǒng)操作系統(tǒng)可以下載)。然后要在宿主機可以下載)。然后要在宿主機上建立交叉編譯調(diào)試的開發(fā)環(huán)境。環(huán)境的建立需要許多軟件模塊協(xié)同上建立交叉編譯調(diào)試的開發(fā)環(huán)境。環(huán)境的建立需要許多軟件模塊協(xié)同工作,這是一個比較繁雜的工作,為此工作,這是一個比較繁雜的工作,為此SemitARM9200實驗系統(tǒng)實驗系統(tǒng)提供了一套光盤,含有開發(fā)軟件包及

13、提供了一套光盤,含有開發(fā)軟件包及GNU編譯工具,裝載后安裝工編譯工具,裝載后安裝工作完全自動完成。作完全自動完成。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)185.1 基本原理基本原理v 當(dāng)開發(fā)環(huán)境安裝完畢后,會在根目錄下生成兩個目錄:工作目錄/home/arm和交叉編譯環(huán)境目錄/usr/local/arm。v 嵌入式開發(fā)通常要求宿主機配置有網(wǎng)絡(luò),支持NFS為交叉開發(fā)時mount所用),支持TFTP服務(wù)器為下載映像文件所用等,這些將在后面介紹。v (1安裝步驟v 建議完全安裝Redhat9.0 Linux操作系統(tǒng):提供下載),可以使用系統(tǒng)所附光盤啟動安

14、裝Redhat9.0 Linux。剛開始安裝不久,安裝向?qū)棾鰧υ捒蛟儐柊惭b服務(wù)器或工作站等,請選擇自定義Custom)。安裝過程中可以指定PC上網(wǎng)卡的IP地址。因為本開發(fā)板在燒寫時默認(rèn)的IP為3,所以建議宿主機IP地址也配置在此網(wǎng)段192.168.0.X)。IP地址可以在安裝時指定,也可以在PC安裝好以后指定IP。在配置防火墻Firewall時,選擇不安裝防火墻No Firewall)。在選擇軟件Package時,選擇最后一項:Everything,即完全安裝。完全安裝完以后,大概占用4.8GB的硬盤空間。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)1

15、95.1 基本原理基本原理v 最后選擇Linux啟動以后進入X模式還是文本模式,這個可以根據(jù)自己的愛好決定。進入文本模式時,啟動花費的時間少一些。即使進入X Windows,也可以按Ctrl + Alt +Fxx在默認(rèn)情況下可以是1,2,6組合鍵,輸入安裝RedHat時設(shè)置的用戶名root或已經(jīng)建立的其他用戶和密碼,即可進入操作系統(tǒng)的Shell提示符,如:rootlocalhost root#。v 注意:安裝完成以后也可以修改etcinittab文件來選擇進入X Windows還是進入字符模式。v 將系統(tǒng)附帶的光盤插入光驅(qū),然后執(zhí)行以下命令若主機系統(tǒng)是Redhat9.0,一般會自動識別并mou

16、nt掛載插入的光盤:嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)205.1 基本原理基本原理cd /mnt :進入mnt目錄mkdir cdrom :建立cdrom目錄mount /dev/cdrom /mnt/cdrom :mount插入的光盤cd /mnt/cdrom :進入CDROM所在目錄./arminst:執(zhí)行安裝程序回車 :開始安裝嵌入式實驗系統(tǒng)軟件注意:進入中文環(huán)境是為了能夠看到安裝啟動時的一些中文提示信息,若沒有中文環(huán)境也無所謂,只是會看到一些亂碼而已,用戶只需輸入y并按回車鍵即可完成全部安裝建議在安裝前啟動時就將串口線連好)。安裝時,當(dāng)前用戶必須是root。執(zhí)

17、行完畢后,會在根目錄下生成工作目錄:/home/arm,該目錄含有Linux內(nèi)核、應(yīng)用程序源代碼及各個工具軟件。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)215.1 基本原理基本原理v 安裝完系統(tǒng)后,安裝程序自動配置Minicom終端程序,通常在宿主機上用Minicom觀察開發(fā)板輸出到串口的調(diào)試信息,也可以通過串口向開發(fā)板發(fā)送命令。Minicom類似于Windows下的超級終端程序。v 用串口線連接SemitARM9200開發(fā)板的ttys0和宿主機的COM1,在宿主機任意目錄下執(zhí)行minicom,然后給開發(fā)板上電,就可以看到開發(fā)板啟動時顯示出來的信息。開發(fā)板啟動后運行一個簡化

18、的shell進程,可以接受用戶的控制,使用者可以輸入一些簡單的命令,如cd、ls來查看片上文件系統(tǒng)。運行程序直接輸入程序名,/bin下面都是可執(zhí)行程序,用ps命令可以查看系統(tǒng)正在運行的進程。v SemitARM9200開發(fā)板要求minicom設(shè)置COM1為所選串口,波特率為115 200bps,無硬件流控,8位數(shù)據(jù)位,1位停止位,無奇偶校驗,即8N1。v 注意:串口線、JTAG線嚴(yán)禁帶電拔插!嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)225.1 基本原理基本原理(2NFS服務(wù)器的配置首先在Redhat Linux PC上shell提示符root#下輸入setup命令,彈出如圖

19、5.10所示的菜單。選擇System services項,按回車鍵進入系統(tǒng)服務(wù)選項菜單,選中*nfs項,然后退出setup界面返回命令提示符: vim /etc/exports 將這個默認(rèn)的空文件修改為只有如下一行內(nèi)容: / (rw) /即根目錄可讀寫,/和(rw)之間要留空格 然后保存退出(:wq),執(zhí)行如下命令啟動NFS服務(wù): /etc/rc.d/init.d/nfs restart 或 service nfs restart Shutting down NFS mountd: OK Shutting down NFS daemon: OK Shutting down NFS quotas

20、: OK 嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)235.1 基本原理基本原理Shutting down NFS services: OK Starting NFS services: OK Starting NFS quotas: OK Starting NFS daemon: OK Starting NFS mountd: OK 啟動完成后,推薦采用在PC上mount本機看是否成功來判斷NFS是否已經(jīng)配好。例如,在PC的根目錄下執(zhí)行假定PC的IP地址配置為2): mount 2:/ /mnt 然后到/mnt/目錄下看是否可以列

21、出所指定的IP的機器可以是本機,當(dāng)然也可以測試其他機器是否可以被mount根目錄(/)下的所有文件和目錄,如果可以,則說明mount成功,NFS配置成功。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)245.1 基本原理基本原理(3TFTP服務(wù)器的配置在PC上執(zhí)行setup,選擇System services項,將其中的tftp一項選中呈現(xiàn)*表示選中),并去掉ipchains和iptables兩項服務(wù)即去掉它們前面的*號),如圖5.11所示。最后,退出setup,執(zhí)行如下命令以啟動TFTP服務(wù): service xinetd restart 配置完成后,建議簡單測試一下TFTP服

22、務(wù)器是否可用,即在本機上tftp自己,例如,在PC上執(zhí)行: cd / cp /etc/inittab /tftpboot/ /復(fù)制一個文件到/tftpboot目錄下以供下面使用tftp命令下載嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)255.1 基本原理基本原理v 下面以etc/inittab文件為例進行說明:v tftp 2v tftp get inittab v 如果在/tftpboot目錄里沒有下載的文件,會提示沒有找到相關(guān)文件。若出現(xiàn)如下信息:v Received 741512 bytes in 0.7 seconds v 就表示TFTP服務(wù)器配

23、置成功了,在根目錄下就會有剛才下載的inittab文件存在了。若彈出信息為:Timed out,則表明未成功,建議用如下命令查看tftp服務(wù)是否開通: v netstat -a|grep tftp v 若TFTP服務(wù)器沒有配置成功,需要按照上述步驟重新檢查一遍。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)265.1 基本原理基本原理v圖5.10 NFS的配置v圖5.11 TFTP服務(wù)的配置嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)275.1 基本原理基本原理(4關(guān)閉防火墻輸入setup,選擇Firewall configuration項,選中No firewa

24、ll項,關(guān)閉防火墻,如圖5.12所示。說明: Redhat Linux PC自測mount成功也不能完全說明NFS就可以工作了,因為還有一個防火墻的問題,為此建議讀者在安裝Redhat Linux時默認(rèn)選擇No firewall。但若讀者沒有這樣選擇的話,REDHAT啟動時會加載防火墻規(guī)則,這樣就能自測mount,但其他PC和開發(fā)板也無法mount這臺PC。 注意:setup里面的防火墻顯示永遠(yuǎn)都是HIGH,這個一直是Redhat的一個小BUG,即使安裝時默認(rèn)選擇了No firewall,setup里面也照樣會顯示防火墻設(shè)置為HIGH。這個可以不必理會,只要選擇了一次No firewall就可

25、以了。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)285.1 基本原理基本原理 有時根目錄不讓讀/寫,建議在PC的命令提示符下執(zhí)行chmod 777 / 試試。 Redhat在加入網(wǎng)關(guān)設(shè)置后,網(wǎng)絡(luò)建立TCP鏈接非常慢,如FTP/TELNET/NFS等都是。建立鏈接后,以太網(wǎng)通信還是很快的。若安裝網(wǎng)絡(luò)時加入了網(wǎng)關(guān),就會出現(xiàn)在開發(fā)板操作NFS mount Redhat PC時,輸入mount -o nolock XXX.XXX.XXX.XXX:/ /mnt后非常長的時間不返回Shell提示符,就一直停在那里,這是因為建立連接的時間非常長。遇到這種情況,建議在Redhat Linux

26、 PC上執(zhí)行: route del default 即去掉網(wǎng)關(guān),然后再進行NFS mount等操作就會非常快了。 測試NFS,必須用以太網(wǎng)將開發(fā)板和Redhat Linux PC連接起來才行,連接的方式有兩種:一是開發(fā)板和PC都用普通的網(wǎng)線接到Hub或者交換機上;二是用交叉網(wǎng)線將開發(fā)板和PC嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)295.1 基本原理基本原理v圖5.12 防火墻的配置嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)305.1 基本原理基本原理 直接連起來,不過一定要注意這種網(wǎng)線是特制的,其內(nèi)部收發(fā)是交換的即一頭按普通網(wǎng)線的做法,另一頭把1和3、2

27、和6交換一下)。測試開發(fā)板和PC網(wǎng)絡(luò)是否連通的方式是:開發(fā)板正常啟動Linux后,在minicom里面ping一下PC看是否連通。當(dāng)然,用PC來ping開發(fā)板看是否接通也是可以的。注意:開發(fā)板必須啟動Linux后才能ping通,開發(fā)板處在bootloader階段一般是無法ping通的,即使這時開發(fā)板的bootloader初始化了以太網(wǎng)也不行。在一般情況下,如果不設(shè)置網(wǎng)關(guān),使用ping命令時,需要開發(fā)板和PC在同一個網(wǎng)段。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)315.1 基本原理基本原理v 若開發(fā)板跟PC的網(wǎng)絡(luò)不通,則mount報錯信息為:v # mount -o nolo

28、ck 2:/ /mnt v mount: RPC: Unable to receive; eNrno = No route Fo host mount: Sfsmount v failed:Bad file descriptor mount program didnt pass remote address! mount: v Mounting 2:/ on /mnt failed: Invalid argument v 關(guān)于TFTP服務(wù)安裝的問題。有些讀者在安裝Redhat Linux 時,沒有在CustomPackages中選擇everythin

29、g,導(dǎo)致沒有安裝TFTP服務(wù)。典型的情況是,安裝完成后沒有/tftpboot目錄,setupsystem services里面也沒有tftp選項。這時若要重新完全安裝就太麻煩了,可采用如下單獨安裝TFTP的方法:v rpm -ivh foo-1.0-5.i386.rpmv 其中,foo-1.0-5.i386.rpm在Redhat 9.0 Linux操作系統(tǒng)的安裝光盤里面。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)325.1 基本原理基本原理說明:按照上面方法把PC上的Linux安裝和配置好,就可以把系統(tǒng)提供的開發(fā)板的源代碼包安裝到PC上了。如果沒有配置好上面的TFTP服務(wù),則

30、SemitARM9200開發(fā)板就沒有辦法使用TFTP通過以太網(wǎng)下載映像文件。如果上面的NFS沒有配置好,則下面開發(fā)的應(yīng)用程序就沒有辦法使用NFS服務(wù),這一項雖然不是必須的,但是有了這一項服務(wù),可以大大方便調(diào)試應(yīng)用程序的開發(fā)。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)335.1 基本原理基本原理5.1.3 文件與目錄結(jié)構(gòu)文件與目錄結(jié)構(gòu)1. 光盤目錄介紹光盤目錄介紹系統(tǒng)光盤的主目錄內(nèi)容如下。系統(tǒng)光盤的主目錄內(nèi)容如下。 SEMIT.tar.gz:整個軟件源代碼和編譯器的壓:整個軟件源代碼和編譯器的壓縮包??s包。 arminstall:安裝腳本文件,可以在:安裝腳本文件,可以在She

31、ll提示提示符下輸入符下輸入vi來打開,進入光盤目錄以后,輸入來打開,進入光盤目錄以后,輸入./arminstall,就會提示安裝上面提到的,就會提示安裝上面提到的tgz擴擴展名的文件,并且安裝相應(yīng)的編譯器和復(fù)制展名的文件,并且安裝相應(yīng)的編譯器和復(fù)制minicom的設(shè)置文件。的設(shè)置文件。 doc:“ARM9嵌入式系統(tǒng)嵌入式系統(tǒng)+無線通信開發(fā)平臺實無線通信開發(fā)平臺實驗指導(dǎo)書驗指導(dǎo)書V1.2及其他芯片資料。及其他芯片資料。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)345.1 基本原理基本原理2. 安裝開發(fā)環(huán)境軟件包安裝開發(fā)環(huán)境軟件包啟動啟動PC上的上的Redhat 9.0 Lin

32、ux操作系統(tǒng),并將產(chǎn)品附帶的光盤插入操作系統(tǒng),并將產(chǎn)品附帶的光盤插入光驅(qū),然后執(zhí)行以下命令:光驅(qū),然后執(zhí)行以下命令:mount /dev/cdrom /mnt /掛載光盤掛載光盤 cd /mnt . /arminstall/執(zhí)行安裝腳本執(zhí)行安裝腳本 在安裝的過程中會顯示一些提示信息。在安裝的過程中會顯示一些提示信息。注意:執(zhí)行完畢后,會在根目錄下生成工作目錄:注意:執(zhí)行完畢后,會在根目錄下生成工作目錄:/home/arm,內(nèi),內(nèi)含含Linux內(nèi)核、藍(lán)牙協(xié)議棧和應(yīng)用程序、內(nèi)核、藍(lán)牙協(xié)議棧和應(yīng)用程序、IEEE 802.11g模塊驅(qū)動模塊驅(qū)動源碼及源碼及bootloader。安裝完光盤提供的源代碼文

33、件和交叉編譯環(huán)境以后,執(zhí)行:安裝完光盤提供的源代碼文件和交叉編譯環(huán)境以后,執(zhí)行: cd / /回到其他目錄才能卸載光盤回到其他目錄才能卸載光盤 umount /mnt /卸載光盤卸載光盤 現(xiàn)在可以取出光盤了。現(xiàn)在可以取出光盤了。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)355.1 基本原理基本原理3. 安裝光盤后的目錄介紹安裝光盤后的目錄介紹安裝光盤以后,會在安裝光盤以后,會在PC的的/home目錄下生成名稱為目錄下生成名稱為arm的目錄,并且的目錄,并且把編譯器安裝到該目錄下指定的路徑中去,同時在根目錄下生成把編譯器安裝到該目錄下指定的路徑中去,同時在根目錄下生成“SEMI

34、T_Project的應(yīng)用程序目錄:的應(yīng)用程序目錄:/home/arm/linux-2.4.19-rmk7 Linux的內(nèi)核;的內(nèi)核;/home/arm/bluez 藍(lán)牙協(xié)議棧和應(yīng)用程序;藍(lán)牙協(xié)議棧和應(yīng)用程序;/home/arm/driver IEEE 802.11g模塊的驅(qū)動源碼;模塊的驅(qū)動源碼;/home/arm/bootloader/ SEMIT平臺的引導(dǎo)代碼,可以通過修平臺的引導(dǎo)代碼,可以通過修改這些源碼來修改改這些源碼來修改bootloader;/tftpboot / 其下是編譯好的映像文件或者可執(zhí)行文件,其中,其下是編譯好的映像文件或者可執(zhí)行文件,其中,zImage是編譯好的是編譯好

35、的Linux內(nèi)核映像文件,內(nèi)核映像文件,u-boot.bin是編譯好的是編譯好的引導(dǎo)程序二進制代碼,引導(dǎo)程序二進制代碼,ramdisk.image4ppp.gz是是ramdisk文文件系統(tǒng)壓縮的映像文件,件系統(tǒng)壓縮的映像文件,TECH-burn-cmd是燒寫時要用到的一些是燒寫時要用到的一些命令,已經(jīng)把相關(guān)命令寫到此文本文件中了。命令,已經(jīng)把相關(guān)命令寫到此文本文件中了。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)365.1 基本原理基本原理 minirc.dfl 本開發(fā)板啟動時默認(rèn)的串口終端配置,使用第一個串口ttyS0)。如果在串口設(shè)置時出了問題,可以把此文件復(fù)制到PC的/e

36、tc目錄中,然后退出minicom,再重新進入minicom即可。注意:這里的bootloader for AT91RM9200分為如下3個。 AT91RM9200-Loader:生成loader.bin,在CPU內(nèi)部SRAM中運行。這個可從home/arm/bootloader/AT91RM9200-Loader目錄下的ld文件ld.script中看出:MEMORY ram : ORIGIN = 0 x200000, LENGTH = 0 x3000 #上面這個0 x200000就是INTERNAL SRAM的地址嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)375.1 基本原

37、理基本原理SECTIONS .text : _stext = . ; *(.text) *(.rodata) . = ALIGN(4); _etext = . ; ram .data : _sdata = . ; *(.data) *(.glue_7*) . = ALIGN(4); _edata = . ; ram .bss : _sbss = . ; *(.bss) . = ALIGN(4); _ebss = . ; ram 嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)385.1 基本原理基本原理 simple_boot:生成boot.bin,燒到Flash上運行。 u-bo

38、ot-0.4.8:生成u-boot.bin,可在SDRAM中運行,實際應(yīng)用是燒到Flash上,由上面的boot.bin加載到SDRAM中運行。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)395.1 基本原理基本原理5.1.4 Linux系統(tǒng)的配置編譯和文件系統(tǒng)系統(tǒng)的配置編譯和文件系統(tǒng)嵌入式嵌入式Linux內(nèi)核及設(shè)備驅(qū)動全部源代碼光盤安裝后建立完備的開發(fā)內(nèi)核及設(shè)備驅(qū)動全部源代碼光盤安裝后建立完備的開發(fā)環(huán)境)、交叉編譯的工具集被放置到環(huán)境)、交叉編譯的工具集被放置到/usr/local/arm/2.95.3目目錄下,其中錄下,其中GNU工具集列于表工具集列于表5.3中。中。編譯內(nèi)核

39、的命令如下:編譯內(nèi)核的命令如下:cd /home/arm/linux-2.4.19-rmk7make zImage 編譯完成后,就會自動把編譯完成后,就會自動把zImage復(fù)制到復(fù)制到/tftpboot/目錄下以供目錄下以供TFTP下載。下載。如果需要對內(nèi)核進行配置和裁剪,可以在如果需要對內(nèi)核進行配置和裁剪,可以在/home/arm/linux-2.4.19-rmk7目錄下輸入如下指令:目錄下輸入如下指令:make menuconfig 這時將出現(xiàn)如圖這時將出現(xiàn)如圖5.13所示的內(nèi)核和驅(qū)動模塊的配置界面,在這里可以對所示的內(nèi)核和驅(qū)動模塊的配置界面,在這里可以對內(nèi)核和驅(qū)動模塊進行選擇和設(shè)置。內(nèi)核

40、和驅(qū)動模塊進行選擇和設(shè)置。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)405.1 基本原理基本原理v表5.3 GNU工具集嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)GNU工具集arm-linux-gccarm-linux-cc1plusarm-linux-ranlibarm-linux-asarm-linux-objcopyarm-linux-stringsarm-linux-ldarm-linux-objdumparm-linux-gdbarm-linux-g+arm-linux-striparm-linux-gasparm-linux-cc1arm-lin

41、ux-nmarm-linux-sizearm-linux-cpparm-linux-ararm-linux-addr2line415.1 基本原理基本原理v圖5.13 內(nèi)核和驅(qū)動模塊的配置界面嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)425.1 基本原理基本原理v 若對系統(tǒng)類型進行設(shè)置,則出現(xiàn)如下內(nèi)容:v System Type - v (AT91RM9200-based) ARM system type v - AT91RM9200 Implementation v * SMDK (MERI TECH BOARD) v * change AIJI v AT91RM9200

42、USB function support v - Processor Type v * ARM920T CPU idle v * ARM920T I-Cache on v * ARM920T D-Cache on v Force write through caches on ARM920T v Support Thumb instructions (experimental)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)435.1 基本原理基本原理v完成設(shè)置后,退出,保存設(shè)置,然后執(zhí)行make zImage命令,即可編譯生成所定制的內(nèi)核映像文件,并自動復(fù)制到/tftpboot/

43、目錄下以供燒寫。v如果想了解編譯的過程,可輸入如下命令把編譯過程重新定向到log文件進行觀察:vmake zImage &log /把編譯信息輸出到文件log 中vvim log v即可看到完整的編譯過程。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)445.1 基本原理基本原理5.1.5 Linux系統(tǒng)在地址空間中的位置系統(tǒng)在地址空間中的位置開發(fā)板地址空間的分布開發(fā)板地址空間的分布Memory Map如圖如圖5.14所示。所示。AT91RM9200提供了提供了8個外部片選引腳用于外部個外部片選引腳用于外部尋址,即尋址,即nGCSn07,每個片選都指定了固,每個片選都指定了固定的

44、地址,其固定間隔為定的地址,其固定間隔為256MB。圖。圖5.15給出給出了整個了整個32位的位的4GB地址空間的分布情況,其中地址空間的分布情況,其中除了除了8個外部總線接口個外部總線接口EBI,External Bus Interface外,還包括內(nèi)部存儲器外,還包括內(nèi)部存儲器Internal Memory)、外設(shè))、外設(shè)Peripheral及尚未定義及尚未定義Undefined的地址空間。內(nèi)部的地址空間。內(nèi)部存儲器和尚未定義的地址分布如圖存儲器和尚未定義的地址分布如圖5.16所示。所示。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)455.1 基本原理基本原理v圖5.14

45、開發(fā)板地址空間分布嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)465.1 基本原理基本原理vAT91RM9200提供了8個外部片選引腳用于外部尋址,即nGCSn07,每個片選都指定了固定的地址,其固定間隔為256MB。圖5.15給出了整個32位的4GB地址空間的分布情況,其中除了8個外部總線接口EBI,External Bus Interface外,還包括內(nèi)部存儲器Internal Memory)、外設(shè)Peripheral及尚未定義Undefined的地址空間。內(nèi)部存儲器和尚未定義的地址分布如圖5.16所示。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)475.1

46、 基本原理基本原理v圖5.15 整個32位的4GB地址空間的分布情況嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)485.1 基本原理基本原理v 圖5.16 內(nèi)部存儲器和尚未定義的地址分布嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)495.1 基本原理基本原理v 外設(shè)部分的空間被映射到0 xFFFFF0000 xFFFFFFFF之間的4KB地址空間上。每個外設(shè)擁有256或者512字節(jié),其詳細(xì)的分布情況請參見光盤中CPU Manual第32頁的圖6 System Peripherals Mapping。v 本開發(fā)板內(nèi)存由兩片16M16b數(shù)據(jù)寬度的SDRAM構(gòu)成,兩片

47、拼成32位模式,公用nGCS1,共64MB RAM。起始地址為0 x20000000。v nGCS0接的是1片8M16b數(shù)據(jù)寬度的INTEL E28F128 Flash,起始地址為0 x10000000。其中內(nèi)核zImage燒寫在地址0 x10040000開始處,根文件系統(tǒng)RAMDISK燒在0 x10240000地址處。v INTEL E28F128J3A-150 Flash的單片16MB,共128個扇區(qū),每個扇區(qū)都是128KB大小,均勻分布。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)505.1 基本原理基本原理5.1.6 中斷中斷AT91RM9200開發(fā)板上擴展的外設(shè)接口占

48、用片選開發(fā)板上擴展的外設(shè)接口占用片選和中斷情況見表和中斷情況見表5.4。中斷資源列于表中斷資源列于表5.5,由該表可以看出,由該表可以看出,AT91RM9200提供了提供了7路外部中斷和路外部中斷和1路路FIQ。表表5.4 外設(shè)接口占用片選和中斷情況外設(shè)接口占用片選和中斷情況嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)接 口占 用 片 選占 用 中 斷13506視頻芯片NCS2IDE硬盤NCS3PD23(中斷號為5)PS/2鍵盤NCS4PD8(中斷號為5)515.1 基本原理基本原理v表5.5 AT91RM9200的中斷資源嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第

49、二版)外設(shè)ID外設(shè)助記符外 設(shè) 名 稱外 部 中 斷0AIC增強中斷控制器FIQ1SYSIRO2PLOA并行I/O控制器A3PLOB并行I/O控制器B4PLOC并行I/O控制器C5PLOD并行I/O控制器D6US0USART 07US1USART 18US2USART 29US3USART 310MCI多媒體卡接口11UDPUSB器件端口12TWI兩線接口13SPI串行外設(shè)接口14SSC0同步串行控制器015SSC1同步串行控制器116SSC2同步串行控制器217TC0定時器/計數(shù)器018TC1定時器/計數(shù)器119TC2定時器/計數(shù)器220TC3定時器/計數(shù)器321TC4定時器/計數(shù)器422T

50、C5定時器/計數(shù)器523UHPUSB主機端口24EMAC以太網(wǎng)MAC25AIC增強中斷控制器IRQ026AIC增強中斷控制器IRQ127AIC增強中斷控制器IRQ228AIC增強中斷控制器IRQ329AIC增強中斷控制器IRQ430AIC增強中斷控制器IRQ531AIC增強中斷控制器IRQ6525.1 基本原理基本原理v 在Linux里面request_irq所需要的中斷向量號,也就是表5.5中左邊一行的數(shù)值,在ARMLinux內(nèi)核中有如下的定義:v linux-2.4.19-rmk7/include/asm/arch/irqs.hv ARMlinux都是統(tǒng)一在這個地方定義的,但對于9200它

51、放到下面這個文件里:v linux-2.4.19-rmk7/include/asm/arch/AT91RM9200.hv #define AT91C_ID_FIQ ( 0) / Advanced Interrupt Controller (FIQ) v #define AT91C_ID_SYS ( 1) / System Peripheral v #define AT91C_ID_PIOA ( 2) / Parallel IO Controller A v #define AT91C_ID_PIOB ( 3) / Parallel IO Controller B v #define AT91C

52、_ID_PIOC ( 4) / Parallel IO Controller C v #define AT91C_ID_PIOD ( 5) / Parallel IO Controller D v #define AT91C_ID_US0 ( 6) / USART 0 v #define AT91C_ID_US1 ( 7) / USART 1 嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)535.1 基本原理基本原理#define AT91C_ID_US2 ( 8) / USART 2 #define AT91C_ID_US3 ( 9) / USART 3 #define AT9

53、1C_ID_MCI (10) / Multimedia Card Interface #define AT91C_ID_UDP (11) / USB Device Port #define AT91C_ID_TWI (12) / Two-Wire Interface #define AT91C_ID_SPI (13) / Serial Peripheral Interface #define AT91C_ID_SSC0 (14) / Serial Synchronous Controller 0 #define AT91C_ID_SSC1 (15) / Serial Synchronous C

54、ontroller 1 #define AT91C_ID_SSC2 (16) / Serial Synchronous Controller 2 #define AT91C_ID_TC0 (17) / Timer Counter 0 #define AT91C_ID_TC1 (18) / Timer Counter 1 #define AT91C_ID_TC2 (19) / Timer Counter 2 嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)545.1 基本原理基本原理#define AT91C_ID_TC3 (20) / Timer Counter 3 #define

55、 AT91C_ID_TC4 (21) / Timer Counter 4 #define AT91C_ID_TC5 (22) / Timer Counter 5 #define AT91C_ID_UHP (23) / USB Host port #define AT91C_ID_EMAC (24) / Ethernet MAC #define AT91C_ID_IRQ0 (25) / Advanced Interrupt Controller (IRQ0) #define AT91C_ID_IRQ1 (26) / Advanced Interrupt Controller (IRQ1) #de

56、fine AT91C_ID_IRQ2 (27) / Advanced Interrupt Controller (IRQ2) #define AT91C_ID_IRQ3 (28) / Advanced Interrupt Controller (IRQ3) #define AT91C_ID_IRQ4 (29) / Advanced Interrupt Controller (IRQ4) #define AT91C_ID_IRQ5 (30) / Advanced Interrupt Controller (IRQ5) #define AT91C_ID_IRQ6 (31) / Advanced I

57、nterrupt Controller (IRQ6)在開發(fā)板的minicom終端可以通過如下命令查看板上的中斷信息: # cat proc/interrupts 嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)555.1 基本原理基本原理5.1.7 通用輸入通用輸入/輸出接口和總線輸出接口和總線1. 通用輸入通用輸入/輸出接口輸出接口通用輸入通用輸入/輸出輸出GPIO,General Purpose Input/Output是一種總線擴展器,當(dāng)微控是一種總線擴展器,當(dāng)微控制器或芯片組沒有足夠的制器或芯片組沒有足夠的I/O端口,或系統(tǒng)需要端口,或系統(tǒng)需要采用遠(yuǎn)端串行通信或控制時,采用

58、遠(yuǎn)端串行通信或控制時,GPIO接口能夠提接口能夠提供額外的控制和監(jiān)視功能。供額外的控制和監(jiān)視功能。AT91RM9200提供了提供了128路復(fù)用的路復(fù)用的I/O口線,口線,分為如下端口進行管理:分為如下端口進行管理:Port AGPA):):32路輸入路輸入/輸出口線;輸出口線;Port BGPB):):32路輸入路輸入/輸出口線;輸出口線;Port CGPC):):32路輸入路輸入/輸出口線;輸出口線;Port DGPD):):32路輸入路輸入/輸出口線。輸出口線。核心板已經(jīng)將這些復(fù)用的信號引腳中未被占用的全核心板已經(jīng)將這些復(fù)用的信號引腳中未被占用的全部引到底板上來了。部引到底板上來了。嵌入式

59、系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)565.1 基本原理基本原理2. 總線總線AT91RM9200的內(nèi)部地址為的內(nèi)部地址為32位,外部地址為位,外部地址為27位,數(shù)位,數(shù)據(jù)總線寬度為據(jù)總線寬度為32位,主頻最高達位,主頻最高達180MHz,總線信息速,總線信息速率最高達率最高達100Mbps。若外接若外接8位或位或16位數(shù)據(jù)寬度的外設(shè)芯片,與位數(shù)據(jù)寬度的外設(shè)芯片,與CPU相接時,相接時,本開發(fā)板的數(shù)據(jù)總線寬度是可配置的,分別為本開發(fā)板的數(shù)據(jù)總線寬度是可配置的,分別為32位、位、16位或位或8位模式,在位模式,在BWSCON中的中的BW位實現(xiàn)設(shè)置,具體位實現(xiàn)設(shè)置,具體方法請參見

60、系統(tǒng)所配光盤中方法請參見系統(tǒng)所配光盤中AT91RM9200X Users Manual的的Memory Controller。在給外設(shè)分配片選。在給外設(shè)分配片選時,設(shè)置好它的時,設(shè)置好它的BWSCON中的這兩位,在訪問它的地址中的這兩位,在訪問它的地址時就可以改變數(shù)據(jù)寬度。時就可以改變數(shù)據(jù)寬度。若設(shè)置若設(shè)置16位數(shù)據(jù)寬度模式,則低位數(shù)據(jù)寬度模式,則低16位數(shù)據(jù)線有效;若設(shè)置位數(shù)據(jù)線有效;若設(shè)置8位數(shù)據(jù)寬度模式,則最低位數(shù)據(jù)寬度模式,則最低8位數(shù)據(jù)線有效。位數(shù)據(jù)線有效。嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)嵌入式系統(tǒng)及其開發(fā)應(yīng)用第二版)575.1 基本原理基本原理v注意:啟動時上述設(shè)置對CS0是無效的,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論