複製鏈接
請複製以下鏈接發送給好友

嵌入式產品

鎖定
主機和目標機是基於不同體系架構的開發,宿主機開發、編譯,目標機運行進行嵌入式開發之前,首先需要安裝交叉工具鏈,網絡協議棧以及驅動程序開發。協議棧分為新協議的開發和基於已有協議設計新的處理例程;驅動包括字符設備驅動、塊設備驅動、網絡設備驅動。
中文名
嵌入式產品
優    勢
固化在存儲器芯片或單片機本身
內核製作
Linux內核與根文件系統
交叉工具鏈
#tar zxvf arm-linux-gcc-4.
開發流程
硬件設計,網卡、USB控制器

嵌入式產品嵌入式產品開發流程

1. 硬件設計,網卡、USB控制器等
2. BootLoader移植
3. Kernel移植。內核移植又名最小系統移植,移植後的內核具備網絡通、串口通、根文件系統可用等基
本條件。
4. 5. 應用程序的開發。C函數庫(Uclibc/Glibc)、QT圖形化應用程序開發、網絡應用程序開發
6. 功能測試性能測試、系統集成測試、實驗局、新產品發佈

嵌入式產品交叉工具鏈

宿步驟如下:
1. #tar zxvf arm-linux-gcc-4.3.2.tar.gz -C /
2. (1)一次性:執行export在PATH環境變量中添加路徑 #export PATH=$PATH:/usr/local/arm/4.3.2/bin (2)永久性:修改/etc/profile,添加 pathmunge /usr/local/arm/4.3.2/bin
編譯器: #arm-linux-gcc hello.c -o hello
反彙編工具:#arm-linux-objdump -D -S hello >log
#arm-linux-gcc -g hello.c -o hello #arm-linux-objdump -D -S hello >log 這兩句執行後將在log文件生成彙編、C逐句對照信息
ELF文件查看工具:#arm-linux-readelf -a hello 可查看文件運行架構、大小端等信息。 #arm-linux-readelf -a hello 可產看文件所用到的動態共享鏈接庫,一般編譯時加上"-static"選項

嵌入式產品內核製作

嵌入式Linux系統由Linux內核與根文件系統兩部分構成,二者缺一不可。內核製作步驟如下:
1. 清除原有配置與中間文件 #make distclean
2. 配置內核
X86:#make menuconfig arm:#make menuconfig ARCH=arm
參考配置在arch/arm/configs目錄下,注意配置NFS與ramdisk文件系統的區別
3. 編譯內核
X86:#make bzImage
arm:#make uImage ARCH=arm CROSS_COMPILE=arm-linux- 首先得將u-boot/tools/目錄中的mkimage cp至/bin目錄下

嵌入式產品根文件系統

根文件系統是Linux啓動使用的第一個文件系統,由一系列目錄組成,包括應用程序、C庫以及相關配置文
1. 創建根文件系統的目錄
#mkdir rootfs
#cd rootfs
#mkdir bin dev etc lib proc sbin sys usr mnt tmp var
#mkdir usr/bin usr/sbin usr/lib lib/modules
2. 創建設備文件
#cd dev/
#mknod -m 666 console c 5 1
#mknod -m 666 null c 1 3
#cd ..
3. 安裝/etc
#tar zxvf etc.tar.gz -C /XXX/rootfs
4. 編譯內核模塊
進入內核根目錄執行命令:
#make modules ARCH=arm CROSS_COMPILE=arm-linux-
5. 安裝內核模塊
#make modules_install ARCH=arm INSTALL_MOD_PATH=/XXX/rootfs 實質是將編譯好的內核模塊從內核代碼中cp至/XXX/rootfs/lib/modules路徑下
6. 配置Busybox
進入busybox目錄執行 #make menuconfig
(1)進入Busybox Settings->Build Options->
選中“Build Busybox as a static binary”,靜態鏈接
Cross Compiler Prefix (arm-linux-)
(2)進入Busybox Settings->Installation Options->
選中“Don't use /usr”避免busybox被安裝到宿主機/usr目錄下,破壞宿主機系統
Busybox Installation Prefix (/XXX/rootfs) 指明編譯後Busybox的安裝位置
7. 編譯、安裝busybox
#make ARCH=arm CROSS_COMPILE=arm-linux-
#make install

嵌入式產品ramdisk製作

#genext2fs -b 8192 -d /XXX/rootfs ramdisk
#gzip -9 -f ramdisk

嵌入式產品文件系統

常見的文件系統類型有:Jffs2,Yaffs,Cramfs,Ramdisk,NFS等,配置內核時選擇文件系統類型。
Jffs2: 用於NorFlash,可讀寫,可壓縮
Yaffs: 用於NandFlash,速度快,不支持數據壓縮
Cramfs:用於NandFlash和NorFlash,只讀的壓縮文件系統
Ramdisk:實質並非文件系統,是將實際文件系統(如:ext2)裝入內存的機制

嵌入式產品嵌入式產品的特點

嵌入式產品嵌入式產品的核心

嵌入式產品的核心嵌入式微處理器嵌入式微處理器一般就具備以下4個特點:
1.對實時多任務有很強的支持能力,能完成多任務並且有較短的中斷響應時間,從而使內部的代碼和實時內核心的執行時間減少到最低限度。
2.具有功能很強的存儲區保護功能。這是由於嵌入式產品的軟件結構已模塊化,而為了避免在軟件模塊之間出現錯誤的交叉作用,需要設計強大的存儲區保護功能,同時也有利於軟件診斷。
3.可擴展的處理器結構,以能最迅速地開展出滿足應用的最高性能的嵌入式微處理器。
4.嵌入式微處理器必須功耗很低,尤其是用於便攜式的無線及移動的計算和通信設備中靠電池供電的嵌入式產品更是如此,如需要功耗只有mW甚至μW級。

嵌入式產品嵌入式產品的優勢

嵌入式計算機系統同通用型計算機系統相比具有以下特點:
1.嵌入式產品通常是面向特定應用的嵌入式CPU與通用型的最大不同就是嵌入式CPU大多工作在為特定用户羣設計的系統中,它通常都具有低功耗、體積小、集成度高等特點,能夠把通用CPU中許多由板卡完成的任務集成在芯片內部,從而有利於嵌入式產品設計趨於小型化,移動能力大大增強,跟網絡的耦合也越來越緊密。
2.嵌入式產品是將先進的計算機技術、半導體技術和電子技術與各個行業的具體應用相結合後的產物。這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。
3.嵌入式產品的硬件和軟件都必須高效率地設計,量體裁衣、去除冗餘,力爭在同樣的硅片面積上實現更高的性能,這樣才能在具體應用中對處理器的選擇更具有競爭力。
4.嵌入式產品和具體應用有機地結合在一起,它的升級換代也是和具體產品同步進行,因此嵌入式產品產品一旦進入市場,具有較長的生命週期。
5.為了提高執行速度和系統可靠性,嵌入式產品中的軟件一般都固化在存儲器芯片或單片機本身中,而不是存貯於磁盤等載體中。
6.嵌入式產品本身不具備自舉開發能力,即使設計完成以後用户通常也是不能對其中的程序功能進行修改的,必須有一套開發工具和環境才能進行開發。