【Tiny4412】 Tiny4412开发环境搭建
創建一個ARM目錄
mkdir?? /disk/A9? -p
接下來你需要準備以下的東西
1、arm-linux-gcc-4.5.1?????交叉編譯器
2、linux-3.5-tiny4412??????內核
3、rootfs_qtopia_qt4-20140124.tar.gz??? QT文件系統?(做好的)
4、busybox-1.22.1.tar.bz2??文件系統原碼? busybox
5、uboot_tiny4412-20130729.tgz???uboot
6、arm-qte-4.8.5-20131207.tar.gz?? QT原碼? ARM
7、uboot_tiny4412-20130729.tgz ?對應的4412uboot源碼
8、minicon ? 串口
9、安裝dnw ,需要上網搜索dnw下載并安裝到系統
10、一張SD卡、一條串口線、一根dnw線、一根網線
好了,該準備的我們都準備好了,接下來看如何把開發環境搭建好。
1.安裝交叉編譯器
cd? /disk/A9
tar -xvf? arm-linux-gcc-4.5.1
ls opt
FriendlyARM
cp opt/FriendlyARM??? /opt? -r
ls?/opt/FriendlyARM/toolschain/4.5.1/bin/
拷?/opt/FriendlyARM/toolschain/4.5.1/bin/
vim?? ~/.bash_profile
在PATH=$PATH:$HOME/bin下面加上
PATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/bin/
保存退出??? ctrl +Alt + backspace??注銷
測試是否安裝成功??arm-?? tab tab?可以列出所有的交叉編譯器就成功
2.編譯uboot
cd? /disk/A9
tar? -xvf?uboot_tiny4412-20130729.tgz
cd? uboot_tiny4412
make tiny4412_config
make?????生成u-boot.bin?? u-boot?文件
3.將編好的u-boot.bin燒寫到SD卡
1>插入SD卡
2>D卡
dd if=/dev/zero? of=/dev/sdb?? bs=1024?count=102400
3>燒寫
cd? /disk/A9/uboot_tiny4412/sd_fuse
make
cd? tiny4412
./sd_fusing.sh?? /dev/sdb
燒寫完畢
配置minicom
在命令行中輸入:
minicom -s
??????????? ┌─────[configuration]──────┐
??????????? │ Filenames and paths ? ? ?
??????????? │ File transferprotocols ?
??????????? │ Serial port setup ? ? ? ? ?<== 選擇這一項
??????????? │ Modem and dialing ? ? ? ?
??????????? │ Screen and keyboard ? ? ?
??????????? │ Save setup as dfl ? ? ? ?
?? ?????????│ Save setup as.. ? ? ? ? ?
??????????? │ Exit ? ? ? ? ? ? ? ? ? ??
??????????? │ Exit from Minicom ? ? ? ?
???????????└──────────────────────────┘
按如圖所示配置
???┌───────────────────────────────────────────────────────────────────────┐
??? │ A -??? Serial Device????? : /dev/ttyUSB0 ? ? ? ? ? ? ? ? ? ? ? ? ? ??
??? │ B - Lockfile Location???? : /var/lock ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
??? │ C -?? Callin Program????? : ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
??? │ D -?Callout Program????? : ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
??? │ E -??? Bps/Par/Bits?????? : 115200 8N1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
??? │ F - Hardware Flow Control : No ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
??? │ G - Software Flow Control : No ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
??? │ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
??? │???Change which setting? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
???└───────────────────────────────────────────────────────────────────────┘
改成這樣
enter??
Save setup as dfl?保存成默認
Exit??????????????退出
退出minicom??
ctrl + a? + q??退出
然后開機界面可以看到以下打印信息:
U-Boot 2010.12 (Oct 13 2015 - 11:03:50) for TINY4412???????????????????????????
CPU:??? S5PC220 [Samsung SOC on SMPPlatform Base on ARM CortexA9]???????????
?? ?????APLL = 1400MHz, MPLL = 800MHz?????????????????????????????????????
????????????????????????????????????????????????????????????????????????
Board:? TINY4412???????????????????????????????????????????????????????
DRAM:?? 1023 MiB???????????????????? ?????????????????????????????????
vdd_arm: 1.2??????????????????????????????????????????????????????
vdd_int: 1.0?????????????????????????????????????????????????????
vdd_mif: 1.1????????????????????????????????????????????????????
BL1 version:? N/A (TrustZone EnabledBSP)
Checking Boot Mode ... SDMMC
REVISION: 1.1
MMC Device 0: 3724 MB
MMC Device 1: 7456 MB
MMC Device 2: N/A
*** Warning - using default environment
Net:??? No ethernet found.
Hit any key to stop autoboot:? 0?
TINY4412 #?
內核移殖
編好內核?? zImage???給uboot引導
cd? /disk/A9
ls linux-3.5-tiny4412
tar -xvf? linux-3.5-tiny4412
cd? linux-3.5
cp? tiny4412_linux_defconfig?? .config
make
最后出現
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
編譯成功???????
arch/arm/boot/zImage
安裝DNW
cd? /disk/A9/dnw-linux
make?
make install
一?.?利用dnw方式下載內核
1>?minicom中
dnw 0x40008000
2>? PC中
cd /disk/A9/linux-3.5
dnw? arch/arm/boot/zImage
成功下載內核到板子
3>引導內核?==>??啟動內核
bootm 0x40008000??
二?. SD卡下載內核
?1>?關電取出SD卡,并將PC機上的內核zImage拷到SD卡上的第一個分區?fat32
?2>?將SD卡插入開發板并且開機
?3>?查看SD卡上的內核
??? fatls mmc 0:1 /????? //查看第0個MMC設備 第一個分區 的分區目錄
?4>?讀取SD卡上的內核
??? fatload mmc 0:1 0x40008000? zImage?
?5>?引導內核
??? bootm 0x40008000
三?.?自動讀取SD卡上的內核并且啟動
在minicom中
??? set?bootcmd? "fatload mmc 0:10x40008000 zImage;bootm 0x40008000"
??? save
reset??查看是否會自動啟動內核
四. movi?內核啟動
1>?DNW下載內核到板子uboot??地址0x40008000
2>寫內核
? movi write kernel 0 0x40008000
3>?設置自動啟動
set bootcmd "movi read kernel 0 0x40008000;bootm 0x40008000"
4>? reset??自動啟動內核
燒寫文件系統?
1>??網絡文件系統?
cd /disk/A9
tar -xvf? busybox-1.22.1.tar.bz2
cd? busybox-1.22.1
make defconfig???? //默認配置
make menuconfig??
???? Busybox Settings? --->??????
[*] Build BusyBox as a static binary (no shared libs)????????????????? │
[*]?? Build BusyBox as a positionindependent executable (NEW)????????│
[ ] Force NOMMU build?????????????????????????????????????????????????│
[ ] Build shared libbusybox (NEW)????????????????????????????????????? │
[*] Build with Large File Support (for accessing files > 2 GB)???????? │
(arm-linux-)? Cross Compiler prefix?????????????????????????????????????????
保存退出
make -j4
make install???會生成一個目錄?? _install
制作文件系統?
cd /disk/A9
mkdir filesystem
cd /disk/A9/filesystem
cp /disk/A9/busybox-1.22.1/_install/*? .-r
mkdir?? etc dev opt sys tmp mnt lib proc
mkdir? etc/init.d
vim? etc/init.d/rcS
添加
mount -t ramfs none? /dev
mount -t sysfs none? /sys
mount -t proc? none? /proc
mount -t tmpfs none? /tmp
/sbin/mdev? -s
保存退出
vim? etc/inittab
添加
::sysinit:/etc/init.d/rcS
ttySAC0::askfirst:-/bin/sh
保存退出
vim? etc/profile
添加
export? PS1="[root @ cjy \W ] #"
保存退出
mknod? dev/console? c??5? 1
cp?/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/lib/*? ./lib?? -r
cd ..
給權限
chmod 777 filesystem -R
發布文件系統
vim?? /etc/exports
添加
/disk/A9/filesystem???? ?*(rw,sync,no_root_squash)
保存退出
檢查文件系統是否已經發布
showmount -e 192.168.88.xxx
//板子上配置IP還有bootargs
set gatewayip? 192.168.88.1
set ipaddr???? 192.168.88.x?? //板子的IP
set serverip?? 192.168.88.xxx?? //PC機IP
save
set bootargs? "root=/dev/nfsnfsroot=192.168.88.xxx:/disk/A9/filesystem
ip=192.168.88.x console=ttySAC0,115200 lcd=S70 ctp=2"
save
reset??查看是否進入文件系統
//************************************************************
SD卡文件系統?
一>
????將/disk/A9/filesystem??拷到?SD卡上的 第四個分區
????
????板子
??? 1>?保存nfsbootargs
??? set nfsbootargs $bootargs
??? save
????
??? 2>?
??? set bootargs "root=/dev/mmcblk0p4console=ttySAC0,115200 lcd=S70 ctp=2"
??? save
????
??? 3>
??? reset?查看是否進入SD卡文件系統?
????
二>
????先進入網絡文件系統
????掛載出SD卡的第四個分區
??? mount /dev/mmcblk0p4? /mnt
????打包現有的文件系統
??? cd /disk/A9/filesystem
??? tar -cf nfs.tar *
??? tar -xvf nfs.tar -C? /mnt
??? umount /mnt
????板子
??? 2>?
??? set bootargs "root=/dev/mmcblk0p4console=ttySAC0,115200 lcd=S70 ctp=2"
??? save
????
??? 3>
??? reset?查看是否進入SD卡文件系統?
最后一個
????將文件系統直接燒錄到板子上的mmc
??? 1.
????將uboot燒寫進去
??? dnw?E4412_N.bl1.bin
????
????先進入SD卡的uboot
??? 2.
??? emmc open 1
??? //??????1板子上的MMC?? 0x40008000從哪里讀? 0起始塊地址? 0x10大小
??? 3.
??? mmc write 1 0x40008000 0 0x10
????
??? dnw?bl2.bin
??? 4.
??? mmc write 1 0x40008000 0x10 0x1C
????
??? dnw?u-boot.bin
????
??? 5.
??? mmc write 1 0x40008000 0x300x1F6
??? 6.
??? emmc close 1
????
??? 7.
????段電,拔SD卡,選擇NAND啟動,上電看是否進入板子MMCuboot
????燒寫MMC?內核
??? dnw?arch/arm/boot/zImage
????
??? movi write kernel 0 0x40008000
??? set bootcmd "movi read kernel 00x40008000;bootm 0x40008000"
??? save
????
??? //分區板子上的MMC
??? fdisk -p 0???查看分區信息???
????創建分區
??? fdisk -c? 1000 500 500
????
????直接進入網絡文件系統
??? set bootargs"root=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
??? save
????進入系統之后
??? mount /dev/mmcblk0p2? /mnt
??? tar -xvf nfs.tar -C /mnt
??? chmod 777 /mnt/? -R
??? umount /mnt?
????
????
??? u-boot內
??? set bootargs"root=/dev/mmcblk0p2?console=ttySAC0,115200 lcd=S70 ctp=2"
??? save
??? reset?啟動MMC內的文件系統?
總結
以上是生活随笔為你收集整理的【Tiny4412】 Tiny4412开发环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Tiny4412】 Android系统
- 下一篇: 【面试题】 迅雷2014校园招聘笔试题