『壹』 編譯生成u-boot.bin文件要用什麼交叉編譯工具
總結起來最主要的有以下幾個軟體吧: 1 ADS調試用確切的說是ADS+AXD。ADS里包含AXD。原來都用SDT後來ARM公司停止對SDT支持了,改支持ADS了,還是用ADS吧。有的人的程序發布的仍然是SDT版本的,但基本都可以找到相應ADS的,新人在這里不要發蒙。ADS是編譯器,AXD是調試器。便宜成AXF以後再在ARM的RAM里調試。 2 PLASHPGM FLASH燒寫的軟體。AXD在RAM里調試,掉電就沒有了,方便程序修改。調試好的程序再下到FLASH里,上電直接運行。同類的軟體還有很多,什麼FLUTED了、FLSHP了都是,但FLASHPGM最好,要是有人還問FLASH不支持BIN格式文件的問題就要看我寫的PLASHPGM使用了。 3 BANYANT調試代理(不知道名對不,起這么個難記的,我一般都叫它「半羊」因為知道它那幾天剛吃了烤羊)調試代理就是用它幫你使用更簡單的JTAG(便宜啊)來實現原本1K才賣的JTAG模擬器的大部分功能。JTAG調試原理看我另一篇筆記。簡單的就可以把他理解為你自己做的JTAG的驅動就行了。調試代理還有很多種,什麼H-JTAG了、ARM7了(不知道具體叫什麼,就記得可執行文件叫ARM7.EXE)都是,BANYANT比較好。需要注意的是,沒種調試代理安裝方法雖然都簡單但都不一樣,需要看說明。而且AXD調試之前都要運行。省錢了,就別怕麻煩了。 4 ARM-ELF-TOOLS工具鏈裡面是UClinux開發用的工具比如ARM-ELF-GCC只類的。工具鏈就是把很多工具打包在一起發布的方便你開發的東西。具體安裝方法看我另一篇筆記。另外如果你開發LINUX就要用ARM-LINUX-TOOLS,不一樣,不通用。 5 U-BOOT 大名鼎鼎的BOOTLOADER生成工具,同類的好象還有VIVI(名字很曖昧~~)生成的BOOTLOADER燒到FLASH里,然後就可以用BOOTLOADER下載燒寫其他了有了BOOTLOADER才能下UCLINUX。BOOTLOADER就像電腦上的BIOS。當然UCOS的不用這個,用什麼我不知道:)最新版本是1.1.4 具體使用方法看我另一篇筆記吧。 6 UCLINUX包 UCLINUX的源碼包,不用多說了吧?建議大家用現成的先體會一下,然後再自己編譯,裁剪。因為單獨UCLINUX的編輯技術上比較簡單,但涉及的方面還是比較廣的。 7 VMWARE 老牌的虛擬機軟體,在一個機器上虛擬出一個機器裝LINUX(PC上用的),省得你來回開關機了。記得裝VMWARE-TOOLS,安裝方法在我另一篇筆記里另外去網上收收賣塊開發板吧.!
『貳』 關於bootloader的一些問題。高手確定的回答。
簡單地說,BootLoader就是在操作系統內核運行之前運行的一段小程序。通過這段小程序,我們可以初始化硬體設備、建立內存空間映射圖,從而將系統的軟硬體環境帶到一個合適狀態,以便為最終調用操作系統內核准備好正確的環境。在嵌入式系統中,通常並沒有像BIOS那樣的固件程序(注,有的嵌入式CPU也會內嵌一段短小的啟動程序),因此整個系統的載入啟動任務就完全由BootLoader來完成。比如在一個基於ARM7TDMI core的嵌入式系統中,系統在上電或復位時通常都從地址0x00000000處開始執行,而在這個地址處安排的通常就是系統的BootLoader程序。
在專用的嵌入式板子運行GNU/Linux系統已經變得越來越流行。一個嵌入式Linux系統從軟體的角度看通常可以分為四個層次: 1、 引導載入程序。包括固化在固件(firmware)中的boot代碼(可選),和BootLoader兩大部分。 2、 Linux內核肆枝。特定於嵌入式板子的定製內核以及內核的啟動參數。 3、 文件系統。包括根文件系統和建立於Flash內存設備之上文件系統。通常用ramdisk來作為rootfs。 4、 用戶應用程序。特定於用戶的應用程序。有時在用戶應用程序和內核層之間可能還會包括一個嵌入式圖形用戶界面。常用的嵌入式GUI有:MicroWindows和MiniGUI等。 引導載入程序是系統加電後或判運行的第一段軟體代碼。PC機中的引導載入程序由BIOS(其本質就是一段固件程序)和位於硬碟MBR中的OS BootLoader(比如,LILO和GRUB等)一起組成。BIOS在完成硬體檢測和資源分配後,將硬碟MBR中的BootLoader讀到系統的RAM中,然後將控制權交給OS BootLoader。BootLoader的主要運行任務就是將內核映象從硬碟上讀到 RAM 中,然後跳轉到內核的入口點去運行,也即開始啟動操作系統。 通常,BootLoader是嚴重地依賴於硬體而實現的,特別是在嵌入式世界。因此,在嵌入式世界裡建立一個通用的BootLoader幾乎是不可能的。裂團敏盡管如此,我們仍然可以對BootLoader歸納出一些通用的概念來,以指導用戶特定的BootLoader設計與實現。
編輯本段常見bootloader
Redboot
Redboot是Redhat公司隨eCos發布的一個BOOT方案,是一個開源項目。 當前Redboot的最新版本是Redboot-2.0.1,Redhat公司將會繼續支持該項目。 Redboot支持的處理器構架有ARM,MIPS,MN10300,PowerPC, Renesas SHx,v850,x86等,是一個完善的嵌入式系統Boot Loader。 Redboot是在ECOS的基礎上剝離出來的,繼承了ECOS的簡潔、輕巧、可靈活配置、穩定可靠等品質優點。它可以使用X-modem或Y-modem協議經由串口下載,也可以經由乙太網口通過BOOTP/DHCP服務獲得IP參數,使用TFTP方式下載程序映像文件,常用於調試支持和系統初始化(Flash下載更新和網路啟動)。Redboot可以通過串口和乙太網口與GDB進行通信,調試應用程序,甚至能中斷被GDB運行的應用程序。Redboot為管理FLASH映像,映像下載,Redboot配置以及其他如串口、乙太網口提供了一個互動式命令行介面,自動啟動後,REDBOOT用來從TFTP伺服器或者從Flash下載映像文件載入系統的引導腳本文件保存在Flash上。當前支持單板機的移植版特性有: - 支持ECOS,Linux操作系統引導 - 在線讀寫Flash - 支持串列口kermit,S-record下載代碼 - 監控(minitor)命令集:讀寫I/O,內存,寄存器、 內存、外設測試功能等 Redboot是標準的嵌入式調試和引導解決方案,支持幾乎所有的處理器構架以及大量的外圍硬體介面,並且還在不斷地完善過程中。
ARMboot
ARMboot是一個ARM平台的開源固件項目,它特別基於PPCBoot,一個為PowerPC平台上的系統提供類似功能的姊妹項目。鑒於對PPCBoot的嚴重依賴性,已經與PPCBoot項目合並,新的項目為U-Boot。 ARMboot發布的最後版本為ARMboot-1.1.0,2002年ARMboot終止了維護。 ARMboot支持的處理器構架有StrongARM ,ARM720T ,PXA250 等,是為基於ARM或者StrongARM CPU的嵌入式系統所設計的。 ARMboot的目標是成為通用的、容易使用和移植的引導程序,非常輕便地運用於新的平台上。ARMboot是GPL下的ARM固件項目中唯一支持Flash快閃記憶體,BOOTP、DHCP、TFTP網路下載,PCMCLA尋線機等多種類型來引導系統的。特性為: -支持多種類型的FLASH -允許映像文件經由BOOTP、DHCP、TFTP從網路傳輸; -支持串列口下載S-record或者binary文件 -允許內存的顯示及修改 -支持jffs2文件系統等 Armboot對S3C44B0板的移植相對簡單,在經過刪減完整代碼中的一部分後,僅僅需要完成初始化、串口收發數據、啟動計數器和FLASH操作等步驟,就可以下載引導uClinux內核完成板上系統的載入。總得來說,ARMboot介於大、小型Boot Loader之間,相對輕便,基本功能完備,缺點是缺乏後續支持。
U-Boot
U-Boot是由開源項目PPCBoot發展起來的,ARMboot並入了PPCBoot,和其他一些arch的Loader合稱U-Boot。2002年12月17日第一個版本U-Boot-0.2.0發布,同時PPCBoot和ARMboot停止維護。 U-Boot自發布以後已更新6次,最新版本為U-Boot-1.1.1,U-Boot的支持是持續性的。 U-Boot支持的處理器構架包括PowerPC (MPC5xx,MPC8xx,MPC82xx,MPC7xx,MPC74xx,4xx), ARM (ARM7,ARM9,StrongARM,Xscale),MIPS (4Kc,5Kc),x86等等, U-Boot(Universal Bootloader)從名字就可以看出,它是在GPL下資源代碼最完整的一個通用Boot Loader。 U-Boot提供兩種操作模式:啟動載入(Boot loading)模式和下載(Downloading)模式,並具有大型Boot Loader的全部功能。主要特性為: -SCC/FEC乙太網支持 -BOOTP/TFTP引導 -IP,MAC預置功能 -在線讀寫FLASH,DOC, IDE,IIC,EEROM,RTC -支持串列口kermit,S-record下載代碼 -識別二進制、ELF32、pImage格式的Image,對Linux引導有特別的支持 -監控(minitor)命令集:讀寫I/O,內存,寄存器、內存、外設測試功能等 -腳本語言支持(類似BASH腳本) -支持WatchDog,LCD logo,狀態指示功能等 U-Boot的功能是如此之強大,涵蓋了絕大部分處理器構架,提供大量外設驅動,支持多個文件系統,附帶調試、腳本、引導等工具,特別支持Linux,為板級移植做了大量的工作。U-Boot1.1.1版本特別包含了對SA1100和44B0晶元的移植,所以44B0移植主要是針對Board 的移植,包括FLASH、內存配置以及串口波特率等等。U-Boot的完整功能性和後續不斷的支持,使系統的升級維護變得十分方便。
Blob
Blob(Boot Loader Object)是由Jan-Derk Bakker and Erik Mouw發布的,是專門為StrongARM 構架下的LART設計的Boot Loader。 Blob的最後版本是blob-2.0.5。 Blob支持SA1100的LART主板,但用戶也可以自行修改移植。 Blob也提供兩種工作模式,在啟動時處於正常的啟動載入模式,但是它會延時 10 秒等待終端用戶按下任意鍵而將 Blob 切換到下載模式。如果在 10 秒內沒有用戶按鍵,則 Blob 繼續啟動 Linux 內核。其基本功能為: 初始化硬體(CPU速度,存儲器,中斷,RS232串口) -引導Linux內核並提供ramdisk - 給LART下載一個內核或者ramdisk -給FLASH片更新內核或者ramdisk -測定存儲配置並通知內核 -給內核提供一個命令行 Blob功能比較齊全,代碼較少,比較適合做修改移植,用來引導Liunx,目前大部分S3C44B0板都用Blob修改移植後來載入uClinux。
Bios-lt
Bios-lt是專門支持三星(Samsung)公司ARM構架處理器S3C4510B的Loader,可以設置CPU/ROM/SDRAM/EXTIO,管理並燒寫FLASH,裝載引導uClinux內核。這是國內工程師申請GNU通用公共許可發布的。 Bios-lt的最新版本是Bios-lt-0.74,另外還提供了S3C4510B的一些外圍驅動。
Bootldr
Bootldr是康柏(Compaq)公司發布的,類似於compaq iPAQ Pocket PC,支持SA1100晶元。它被推薦用來引導Llinux,支持串口Y-modem協議以及jffs文件系統。 Bootldr的最後版本為Bootldr-2.19。
『叄』 嵌入式需要學習什麼
嵌入式開發學習路線圖-尚觀嵌入式研究室-嵌入式路線圖
-------作者:尚觀嵌入式研究室UEA0908班 范同學
為什麼選擇學習嵌入式?
嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一,同時也是當今IT領域僅存的幾個金領職位之一。當前的中國IT人才面臨嚴重的「後繼乏人」,
而且這種缺口由於培訓缺乏、教育模式等原因造成的,而缺口最大的,就是高級IT人才。如果你從事的IT培訓不專業,面對競爭越來越激烈的職場,基本找不到
工作。據專家預測,嵌入式每年人才缺口在30萬左右。
入式職業發展講解視頻
視頻中主要講解什麼樣的人適合從事嵌入式行業、嵌入式行業從業人員需要具備哪些基本素質、嵌入式行業的特點以及嵌入式行業的現狀與發展。
嵌入式研發方向職業生涯講解視頻(1)
嵌入式研發方向職業生涯講解視頻(2)
嵌入式研發方向職業生涯講解視頻(3)
嵌入式研發方向職業生涯講解視頻(4)
嵌入式研發方向職業生涯講解視頻(5)
ARM+Linux嵌入式底層內核驅動方向學習總體路線圖
基礎學習Ⅰ---Linux入門
目前嵌入式主要開發環境有
Linux、Wince等;Linux因其開源、開發操作便利而被廣泛採用。而Linux操作系統也只是一個簡單的操作系統,簡單的使用對於嵌入式開發人
員來說價值並不很高,真正有價值的是掌握Linux的基本服務和Linux的設計理念、思想,這對於嵌入式開發人員的長期發展是很極其重要的。Linux
系統有很多發行版,RedHat、Ubuntu、Fedora等。作為嵌入式開發人員,我們沒有必要把精力放到使用哪個Linux發行版上,而是盡快把
Linux系統盡快安裝好。如果打算堅持長期學習,那麼建議您把自己的電腦做成雙系統,而不要在虛擬機上安
裝
基礎學習Ⅱ---C語言
C語言是嵌入式開發必備的基礎知識。在Linux下從事C語言的開發,你會覺得更為順暢、更為自然,因為C語言是因unix的出現而誕生的,Linux內
核幾乎完全是由C語言編寫完成的。學習C語言,如果不會用指針,那麼就稱不上會C語言。做嵌入式開發指針更顯得尤為重要,所以做嵌入式開發除了掌握位操
作、限定詞等,對指針的掌握是不可或缺的。而且要掌握多級指針、函數指針等等。涉及到指針,那麼就會講到內存分配。在大學中,學習C語言一般的學習很少講
到內存分配,但是如果期望從事嵌入式開發,那麼就必須懂得C語言是怎麼做內存分配管理的。指針之外,還要學習模塊化編譯處理、指針與數組、gcc、
Makefile、GDB、遞歸、結構體、宏定義使用等。C語言是整棟嵌入式大廈的基礎,所以在學習嵌入式時,必須把C語言重視起來,多敲代碼,多練。一
名優秀的程序員必定是通過「體力勞動」再轉向「腦力勞動的」,這也是為什麼我們要有「寫不出代碼=0」思想的原因所在。
如果說C語言相當於文字,那麼數據結構就相當於在造句、寫文章。代碼質量有一部分取決於對數據結構的掌握程度。在數據結構部分我們要把鏈表、樹、排序作
為學習重點。而且我們也可以查看一些比較常見的函數(如str、strcat、printf等)在內核中是如何實現的,以及編寫代碼模擬堆棧,這
不僅有利於編寫代碼質量的提高,而且還可以初步了解Linux內核精髓,為今後工作打下堅實的基礎。
C++、QT在嵌入式開發領域,是用來開發圖形界面的,希望從事上層應用開發及圖形界面,那麼在C++、QT方面需要比較深入的學習。
B)經典學習視頻推薦:
1-1c語言編輯器vi的使用
1-2c語言編譯過程及編譯器gcc
2-1c語言的數據類型
2-2數據快速引用
2-3c語言運算符及表達式
3-1c語言的分支結構
3-2c語言的循環結構
4-1c語言函數的定義及傳
4-2c語言函數調用
5-1-1c語言的一維數組
5-1-2二維數組及多維數組
5-1-3c語言字元數組
5-2-1c語言結構體-Struct
5-2-2C語言聯合體-Union
6-1c語言指針的概念
6-2c語言指針與一維數組
6-3指針與二維數組及字元
6-4指針與結構體、聯合體
6-5c語言指針與函數
6-6c語言指針常量與常量
7c語言存儲空間管理
8-1c語言存儲模型分析
8-2雙向循環鏈表的創建增
8-3雙向循環鏈表的數據管
C)經典學習案例:
1、學員成績管理系統2、計算器3、電子詞典4、文件壓縮器
基礎進階---Linux應用程序設計
Linux的思想源於Unix。Linux繼承了Unix的優點,但是沒有用UNIX的代碼,所有程序都是重新編寫的,而且Linux與Unix的源碼級兼容。Linux是類Unix操作系統。Linux
不僅符合 POSIX 標准,而且還包括其它 UNIX 標準的多種特性,例如,UNIX 的 System V 介面文檔(System V Interface
Document,SVID)和伯克利軟體發布(Berkeley Software Distribution,BSD)版本。Linux 採用了折衷的策略,包含了
UNIX 幾個典型特性當中最實用的一些功能:
Linux 採用了 SVR4 的進程間通信(IPC)機制:共享內存、消息隊列、信號。
Linux 支持 BSD Socket 網路編程介面。
許多 Linux 發行版採用 SysV init
機制,支持運行級別。
此階段的學習是從事嵌入式上層應用開發以及底層開發人員的必修課程。進程、線程、信號、文件鎖、socket是這部分內容的重點。要把這些內容學的透徹非要下些苦功夫不可。而且函數是系統提供給我們的,難免要對計算機系統深入理解一番。TCP/IP協議也是要涉及到的。有問題建議用Google搜索及登陸chinaunix論壇。通過這個階段的學習,我們就可以初步實現一些應用程序的開發了,如做自己的shell命令解析器、簡單的聊天軟體、視頻多播等。
A)經典書籍推薦:
B)經典學習視頻推薦:
Linux網路開發-1、ARP攻擊原理
Linux網路開發-2、ARP攻擊實例分析
Linux網路開發-3、ARP攻擊程序代碼分析和socket構造
C)經典學習案例:
1、串口監聽程序
2、圖片瀏覽器 3、MP3播放器 4、聊天程序 5、 ftp程序
6、音頻廣播程序 7、ping的實現
8、DDos攻擊程序 9、ARP攻擊程序
嵌入式入門---ARM體系結構
從這部分開始,我們將真正進入嵌入式開發學習階段。首先我們要知道採用哪種處理器。目前通用嵌入式處理器有ARM、MIPS、PowerPC、X86等。從市場產品佔有率上看,ARM處理器遠遠領先於同類其它處理器,並逐步掠奪傳統51單片機和英特爾市場份額。據招聘網站統計,目前用人單位在技術水平上要求開發人員掌握ARM9及以上平台的開發技術。ARM公司在發布ARM11產品後,更改以往的數字標記更新方式,轉為發布ARM
Cortex。但是Cortex並不是更高端,而是全新系列的處理器,比如Cortex
M3,它主要應用於機械加工、工控領域,目的是取代以前的ARM7處理器。
在開始學習前,建議有一塊自己的開發板,目前ARM9
2440的開發板價格在400-600元之間,ARM11
6410的開發板價格要高一些,最便宜的也要1200元以上。在此,提醒大家盡量不要買mini開發板,雖然mini開發板的價格要便宜些,但是與正常開發板相比,mini板功能是不完善的。嵌入式匯編有別於X86匯編,所以如果以前沒有接觸過匯編語言,那麼沒有必要先去學X86匯編再學嵌入式匯編,可以直接學習嵌入式匯編。除了匯編我們還要學習ARM指令集。有了開發板,我們要下載相對應處理器的DataSheet及開發板電路原理圖。ARM體系結構的學習我們是不能完全照抄別人代碼的,因為我們自己手中的開發板及處理器與別人是不同的,除非所用的代碼是根據你手中的開發板來編寫的。所以,我們要先去看書、看視頻資料理解原理及工作方式等,然後根據自己開發板的電路原理圖和DataSheet來編寫代碼,達到理解外圍設備工作原理和操作硬體的目的。
B)經典學習視頻推薦:
1)嵌入式掃盲篇
嵌入式漫談1
嵌入式漫談2
嵌入式漫談3
十問嵌入式1-什麼是嵌入式,創業
十問嵌入式2-嵌入式實例iphone
十問嵌入式3-嵌入式前景
十問嵌入式4-嵌入式學習
十問嵌入式5-ARM概述
十問嵌入式6-ARM概述
開發板
十問嵌入式7-ARM與單片機
十問嵌入式8-匯編語言的作用
十問嵌入式9-操作系統的選擇
十問嵌入式10-編程語言選擇
2)嵌入式開發概述
嵌入式開發入門經典教程-1
嵌入式開發入門經典教程-2
嵌入式開發入門經典教程-3
嵌入式開發入門經典教程-4
嵌入式開發入門經典教程-5
嵌入式開發入門經典教程-6
嵌入式開發入門經典教程-7
嵌入式開發入門經典教程-8
嵌入式開發入門經典教程-9
嵌入式開發入門經典教程-10
嵌入式開發入門經典教程-11
嵌入式開發入門經典教程-12
嵌入式開發入門經典教程-13
3)ARM體系結構與Bootloader開發
1、ARM基礎概念介紹與開發板使用教程
2、編譯器高級應用與裸機代碼編寫教程
3、ARM指令與ARM匯編入門
4、ARM匯編高級教程與APCS規范詳解
5、ARM體系結構詳解與異常處理機制
6、ARM中斷機制詳解與Watchdog驅動開發實例
7-1、ARM外部中斷機制詳解與LED驅動開發實例
7-2、ARM嵌入式開發之ARM外部中斷機制詳解與實例
8、AMBA匯流排結構與ARM時鍾配置
9、時序圖詳解與NAND
FLASH驅動開發實例
10-1、內存控器與SDRAM原理詳解(上)
10-2、內存控器與SDRAM原理詳解(下)
11、UART串口詳解與通信開發實例
12、ARM協處理器CP15配置原理
13、從零開始寫Bootloader開發過程詳解
C)經典學習案例:
1. ARM模擬器開發 2. Watchdog控製程序 3.
RTC時鍾控製程序
4. Uart控製程序 5. LCD控製程序 6.
觸摸屏控製程序
7. DMA控製程序 8. 音頻控製程序 9. 網卡控製程序
10.
文件系統製作 11. ARM-Linux移植
嵌入式提升---Linux內核、驅動
眾所周知嵌入式開發包含至少兩個級別,一個是嵌入式內核驅動級別,另外一個是嵌入式應用層開發,而薪酬高的、最具價值的無疑是嵌入式內核驅動級別的開發者。真正的嵌入式高手或者企業中的核心開發人員,一定是嵌入式底層的內核驅動開發工程師,這些工程師成長比較緩慢,造成對內核驅動人才的大量需求,所以這些人才是真正企業需要的香餑餑。掌握驅動開發會讓自己的核心能力有極大的飛躍,真正實現嵌入式最有價值的就業。
由於Linux內核更新速度很快,書籍和視頻不可能及時更新,所以我們再看書和視頻後,要自己動手下載內核源碼包,去看內核中的代碼,在這里可以充分檢驗C語言、數據結構等基礎知識的掌握程度。而驅動的編寫還是要藉助外設硬體電路原理圖和晶元手冊。內核和驅動的知識是讓我們根據不同的硬體,編寫對應的驅動、合理剪裁內核、製作文件系統,並移植到硬體開發板上。如果手裡有ARM11
6410及以上的開發板,可以試試在裸板上編寫驅動並移植Android系統到開發板上吧。
B)經典學習案例:
1. GPIO驅動 2. RTC時鍾驅動 3.
WatchDog驅動 4. Udev移植 5. 觸摸屏輸入設備驅動
6. LCD顯示設備驅動 7. DMA驅動 8.
音頻設備驅動 9. Nand Flash塊設備驅動 10. 網路設備驅動
有不明白的可以到尚觀嵌入式研究室咨詢,或者聽聽免費的網路公開課,希望對你有幫助
『肆』 請詳細介紹一下 UP-NETARM3000
UP-NETARM3000國內是最成熟的ARM7嵌入式教學科研實驗系統,有豐富的外圍教學資源。它採用模塊化的設計理念, 更加強調應用,移植了目前最為流行的實時、開放源碼的雙操作系統μC/OS-II和UCLinux,實現了對不同專業教學要求的全覆蓋。 UP-NETARM3000穩定運行嵌入式系統中應用最為廣泛的μC/OS-II和μCLinux 雙操作系統,非常適合高校本科生的嵌入式系統教學。它擁有國內最廣泛的客戶群和豐富的教學資源,有近百家實驗室用戶,以豐富完善的軟硬體資源領先於國內其它同類平台! UP-NETARM3000實驗平台 核心模塊 ·基於ARM7架構的嵌入式晶元S3C44B0X ·2MB Nor Flash作為引導ROM ·8MB SDRAM 主板資源 ·16MB Nand Flash ·二個串口 ·一個USB口 ·一個JTAG通用介面 ·10M乙太網口 ·觸摸屏 ·17鍵鍵盤 ·320*240STN彩色LCD ·16M U盤 ·直流電機模塊 ·步進電機模塊 ·音頻模塊 ·CAN匯流排模塊 ·A/D、D/A模塊 ·I2C介面 UP-NETARM3000選配模塊 IDE+CF卡模塊 FPGA擴展板模塊 GPS/GPRS模塊 I2C模塊 語音識別模塊 UP-NETARM3000實驗軟體包 ·完全移植好的μC/OS-II、UCLinux操作系統,並分別有配套的實驗指導書、實驗源碼。 ·支持ARM公司的ADS1.2,SDT2.5開發環境,在μC/OS-II下有對應的兩套全部實驗源碼。 ·移植好的MiniGUI圖形用戶界面。 ·源碼全部開放。 UP-NETARM3000配套教材 UP-NETARM3000實驗指導書 μC/OS-II操作系統第一章 嵌入式系統開發環境簡介 1.1 ARM SDT 2.5開發環境簡介 1.2 ADS 1.2 開發環境簡介 1.3 超級終端設置及BIOS功能使用第二章 嵌入式系統硬體驅動基礎開發案例 2.1 ARM的串列口實驗 2.2 鍵盤及LED驅動實驗-C語言實現方法 2.3 鍵盤及LED驅動實驗-ARM匯編語言實現方法 2.4 ARM的D/A介面實驗 2.5 ARM的A/D介面實驗 2.6 電機轉動控制實驗-C語言實現方法 2.7 步進電機控制-ARM匯編語言實現方法 2.8 LCD的驅動控制實驗 2.9 觸摸屏驅動實驗 2.10 CAN匯流排通訊實驗第三章 嵌入式系統核心開發案例 3.1 定時器中斷和驅動程序實驗 3.2 BOOTLOADER實驗 3.3 μC/OS-II在ARM微處理器上的移植及編譯 3.4 完善的μC/OS-II開發框架第四章 基於μC/OS-II操作系統的開發案例 4.1 音頻實驗 4.2 繪圖的API函數 4.3 系統的消息循環 4.4 文件的使用 4.5 列表框控制項的使用 4.6 文本框控制項的使用 4.7 多任務和系統時鍾 4.8 UDP通訊實驗第五章 嵌入式系統綜合開發案例 5.1 綜合實驗 5.2 模擬電子畫板實驗-觸摸屏應用 5.3 基於ARM的多通道儀表數據採集實驗-多任務與A/D轉換第六章 圖形界面MINIGUI入門案例 6.1 MINIGUI到μC/OS-II---HELLOWORLD程序 6.2 MINIGUI到μC/OS-II---LOADBMP點陣圖操作第七章 嵌入式系統擴展板開發案例 7.1 GPRS擴展板通信實驗 7.2 GPS通信實驗 7.3 基於ARM7的FPGA實驗附錄A:嵌入式系統應用編程API函數附錄B:嵌入式開發系統概況和設備驅動安裝附錄C:ARM匯編指令集附錄D:嵌入式系統參考電路原理圖 UCLinux操作系統第一章 嵌入式LINUX開發基礎知識 1.1 嵌入式Linux簡介 1.2 嵌入式Linux開發平台簡介 1.3 嵌入式Linux開發流程 1.4 建立嵌入式Linux開發環境 第二章 基礎實驗 2.1 熟悉UCLinux開發環境 2.2 多線程應用程序設計 2.3 串列埠程序設計 2.4 A/D介面實驗 2.5 D/A介面實驗 2.6 CAN匯流排介面實驗 2.7 LED實驗 2.8 電機控制實驗 第三章 MICROWINDOWS圖形界面實驗 3.1 Microwindows配置與安裝 3.2 Microwindows繪圖練習 3.3 Microwindows觸摸屏原理 3.4 Microwindows事件編程練習 3.5 Microwindows綜合實驗 3.6 Microwindows圖像處理 3.7 Microwindows漢字處理 3.8 簡單嵌入式WEB伺服器實驗 3.9 嵌入式游戲設計 3.10 PDA-GUI設計第四章 MINIGUI圖形應用程序設計 4.1 MINIGUI配置與安裝 4.2 MINIGUI的程序架構及helloworld程序 4.3 MINIGUI-loadbmp點陣圖實驗 4.4 基於NEWGAL的高級GDI函數 4.5 引導裝載程序(BOOTLOADER)移植實驗-BLOB 4.6 內核移植與編譯實驗 4.7 內核驅動設計入門-模塊方式驅動實驗 4.8 內核驅動設計實驗-觸摸屏驅動 4.9 內核、根文件系統燒寫實驗 4.10 常用LINUX命令的使用 4.11 gcc與gdb 4.12 GNU通用公共許可證(GPL 1991.6第二版)