新聞中心
隨著嵌入式系統(tǒng)的普及,越來越多的開發(fā)者選擇使用Linux操作系統(tǒng)來構(gòu)建自己的低成本、高可靠性嵌入式應(yīng)用。TQ2440是一款常見的開發(fā)板,本文將介紹如何將Linux移植到TQ2440開發(fā)板。

10年積累的做網(wǎng)站、成都網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有鐵嶺免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
一、準(zhǔn)備工作
1. 工具準(zhǔn)備
– Ubuntu或其它Linux發(fā)行版
– ARM-Linux交叉編譯器
– TFTP服務(wù)器
– Serial工具
– USB轉(zhuǎn)串口線
2. 軟件準(zhǔn)備
– U-boot引導(dǎo)程序
– Linux內(nèi)核
– 根文件系統(tǒng)
3. 硬件準(zhǔn)備
– TQ2440開發(fā)板
– 電源適配器
二、U-boot引導(dǎo)程序的燒錄
首先需要將U-boot引導(dǎo)程序燒錄到TQ2440開發(fā)板NAND Flash中。
1. 下載U-boot源代碼
可以從U-boot的官方網(wǎng)站(https://www.denx.de/wiki/U-Boot/WebHome)下載最新版的源代碼。下載后解壓縮到本地目錄。
2. 進(jìn)入U-boot源代碼目錄
在終端中進(jìn)入解壓縮后的U-boot目錄。
3. 配置交叉編譯器
$ export PATH=/usr/local/arm/4.3.2/bin:$PATH
此處采用arm-linux-gcc 4.3.2版本,可根據(jù)自己實際情況更換相應(yīng)版本。
4. 配置編譯參數(shù)
$ make versatilepb_config ARCH=arm
根據(jù)U-boot官方文檔,TQ2440開發(fā)板繼承于ARM9實驗板,因此配置參數(shù)選擇versatilepb_config。
5. 編譯
$ make CROSS_COMPILE=arm-linux-
執(zhí)行完畢后,會在U-boot目錄下生成u-boot.bin文件。
6. 進(jìn)入U-boot燒錄模式
按下TQ2440開發(fā)板上的Boot按鈕并按下復(fù)位按鈕,開發(fā)板進(jìn)入U-boot燒錄模式。
7. 燒錄
使用命令將u-boot.bin燒錄到TQ2440開發(fā)板中。
Example:
$ sudo dd if=u-boot.bin of=/dev/mtd0
8. 完成
燒錄完成后,重新啟動TQ2440開發(fā)板。
三、內(nèi)核的編譯和燒錄
接下來需要將編譯好的內(nèi)核燒錄到TQ2440開發(fā)板中。
1. 下載內(nèi)核源代碼
可以從Linux內(nèi)核的官方網(wǎng)站(www.kernel.org)下載最新版的源代碼。下載后解壓縮到本地目錄。
2. 進(jìn)入內(nèi)核源代碼目錄
在終端中進(jìn)入解壓縮后的內(nèi)核目錄。
3. 配置交叉編譯器
$ export PATH=/usr/local/arm/4.3.2/bin:$PATH
此處采用arm-linux-gcc 4.3.2版本,可根據(jù)自己實際情況更換相應(yīng)版本。
4. 配置編譯參數(shù)
$ make arch=arm versatile_defconfig
5. 進(jìn)行菜單式配置
$ make menuconfig ARCH=arm
進(jìn)入菜單式配置頁面,對內(nèi)核進(jìn)行配置。根據(jù)自己開發(fā)板的情況,選擇正確的配置項。
6. 開始編譯
$ make CROSS_COMPILE=arm-linux- zImage
此處只編譯內(nèi)核。
7. 拷貝內(nèi)核映像和設(shè)備樹
將編譯好的內(nèi)核拷貝至TFTP服務(wù)器。
Example:
$ sudo cp arch/arm/boot/zImage /tftpboot/kernel
$ sudo cp arch/arm/boot/dts/q2440a.dtb /tftpboot/kernel
此處將內(nèi)核映像zImage和TQ2440開發(fā)板的設(shè)備樹文件q2440a.dtb拷貝至tftp服務(wù)器,后面啟動時需加載這兩個文件。
8. 燒錄內(nèi)核
開發(fā)板通過TFTP服務(wù)器啟動,因此需要修改U-boot環(huán)境變量并燒錄內(nèi)核。進(jìn)入U-boot終端后,按序執(zhí)行以下命令:
$ setenv bootargs console=ttySAC0,115200 root=/dev/mtdblock3 rootfstype=yaffs2 rw init=/linuxrc
$ setenv ipaddr 192.168.2.106
$ setenv serverip 192.168.2.100
$ tftpboot 30008000 kernel
$ tftpboot 32023000 rootfs.arm.jffs2
$ bootm 30008000 – 32023000
修改bootargs設(shè)置串口輸出,設(shè)置root文件系統(tǒng)文件類型以及啟動腳本。tftpboot用于從服務(wù)器獲取內(nèi)核和文件系統(tǒng),bootm啟動內(nèi)核。此處假定TFTP服務(wù)器地址為192.168.2.100。
注:TQ2440開發(fā)板的Flash分為4個塊,其中mtd0-mtd2分別為U-boot、Linux內(nèi)核和內(nèi)存映射IO區(qū),mtd3為root文件系統(tǒng)。
四、根文件系統(tǒng)的制作和燒錄
內(nèi)核編譯完畢后,需要將根文件系統(tǒng)jffs2格式的鏡像文件生成并燒錄到NAND Flash中。
1. 準(zhǔn)備工作
從官方網(wǎng)站下載根文件系統(tǒng)的源代碼。下載后解壓縮至本地目錄。
2. 配置交叉編譯器
$ export PATH=/usr/local/arm/4.3.2/bin:$PATH
此處采用arm-linux-gcc 4.3.2版本,可根據(jù)自己實際情況更換相應(yīng)版本。
3. 編譯文件系統(tǒng)
$ make
完成后,會在本地目錄下生成rootfs.arm.jffs2文件。
4. 燒錄文件系統(tǒng)
使用以下命令將rootfs.arm.jffs2文件拷貝至tftp服務(wù)器,并進(jìn)行燒錄。
Example:
$ sudo cp rootfs.arm.jffs2 /tftpboot
$ nand erase 0x1c0000 0x300000
$ nand write.jffs2 30000000 0x1c0000 0x300000
燒錄完成后,重新啟動開發(fā)板。
本文介紹了如何將Linux移植至TQ2440開發(fā)板,主要分為以下步驟:
1. 將U-boot引導(dǎo)程序燒錄至TQ2440開發(fā)板中
2. 將編譯好的內(nèi)核燒錄至TQ2440開發(fā)板中,并對U-boot環(huán)境變量進(jìn)行修改
3. 制作根文件系統(tǒng)的jffs2格式鏡像文件,并進(jìn)行燒錄
這只是一個基本的移植過程,實際使用中還需要進(jìn)行更多的定制和優(yōu)化。但是,在掌握了這些基礎(chǔ)知識之后,我們將更輕松、有效地開發(fā)出高質(zhì)量的嵌入式應(yīng)用。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,響應(yīng)式網(wǎng)站制作,設(shè)計師量身打造品牌風(fēng)格,熱線:028-86922220我是天嵌s3c2440的板子,現(xiàn)在Linux移植,一直按廠家手冊做的,可是make menuconfig的時候總是出現(xiàn)如下錯誤
/bin/sh: line 1: gcc: command not found
注意唯漏提示,是 gcc 這個命令未找到,而不是 arm-linux-gcc 這個命令未找到。
而且再看之一行提示
HOSTCC scripts/basic/fixdep
這行里面的 HOSTCC ,橘山拍HOST 一般對于 Linux 來說是本地的東西意思,也就是說這行用的是當(dāng)前系統(tǒng)使用的 cc (這個 cc 是 C Compiler 的意思,gcc 命令圓羨是 GNU Compiler Collection 的 cc )。也就是說,當(dāng)前系統(tǒng)的 gcc (一般習(xí)慣下沒有前綴的 gcc 就是本地 GCC )沒有找到。
所以充分表明你根本不會 Linux 就去弄嵌入式……
應(yīng)該這樣。make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig
linux 移植到tq2440的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux 移植到tq2440,教你如何將Linux移植到TQ2440開發(fā)板,我是天嵌s3c2440的板子,現(xiàn)在Linux移植,一直按廠家手冊做的,可是make menuconfig的時候總是出現(xiàn)如下錯誤的信息別忘了在本站進(jìn)行查找喔。
成都創(chuàng)新互聯(lián)科技公司主營:網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、小程序制作、成都軟件開發(fā)、網(wǎng)頁設(shè)計、微信開發(fā)、成都小程序開發(fā)、網(wǎng)站制作、網(wǎng)站開發(fā)等業(yè)務(wù),是專業(yè)的成都做小程序公司、成都網(wǎng)站建設(shè)公司、成都做網(wǎng)站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網(wǎng)站制作策劃,畫冊、網(wǎng)頁、VI設(shè)計,網(wǎng)站、軟件、微信、小程序開發(fā)于一體。
名稱欄目:教你如何將Linux移植到TQ2440開發(fā)板(linux移植到tq2440)
本文來源:http://m.5511xx.com/article/djpsege.html


咨詢
建站咨詢
