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

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


咨詢
建站咨詢
