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

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


咨詢
建站咨詢
