久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 第1課:S3C2440的燒寫

第1課:S3C2440的燒寫

作者: 時間:2016-11-11 來源:網絡 收藏
首先明確要學什么?

1寫Bootloader。會以u-boot為例。

本文引用地址:http://cqxgywz.com/article/201611/316806.htm

2改內核。用ARM編譯器對linux內核進行編譯。并移植驅動

3制作文件系統,把shell放入開發板(串口shell),把應用程序植入。

那么先來介紹開發板的硬件:

現在手上拿到的是山寨的2440開發板,分上層核心板和下層母板。

有1個arm的cpu(片上系統,里面還包括外設,不只一個cpu),2個32m的內存,一個flash,和一個晶振提供的時鐘。

母板則為4.3寸觸摸屏和LCD屏(2個屏要分開驅動),USB的3個host端和1個device端。RJ45網絡端口。Rs232串口(15電壓)。

JTAG仿真接口。SD卡槽。3個指示燈。音頻輸入輸出口。gps芯片。

一下介紹pc機與開發板直接的連接方式。

usb,并口<-------------------------------->JTAG

<------------------------串口----------------------->

PC<------------------------網絡-----------------------> ARM開發板

<------------------------usb------------------------>

還有一類叫wiggier仿真器,可以進行flash燒寫和簡單的調試。

接下來介紹整個開發板的燒寫流程。

1我們使用openjtag對裸板進行燒寫。OPENJTAG仿真器網上都有賣。它通過把寫好的u-boot,uimage放入開發板內存,再通過燒寫flash,把內存中的u-boot程序燒如flash中。

2利用網絡來巧妙安裝系統。先執行minicom -s來啟動minicom,在serial port setup中A選/dev/ttyS0, E選115200 8N1.然后關閉hardware flow control。最后選save setup as dfl。minicom就可以控制開發板了。

在開發板開機后按空格,可進入u-boot的命令行。

我們利用linux上的nfs把剪裁好的linux與linux系統的壓縮包先掛載在nfs服務器上,然后通過網線把開發板和pc機連起來,修改u-boot的環境變量,讓他從網絡加載。之后定制的linux系統便起來了,然后把先前一起加載的壓縮包解壓縮,解壓縮的文件自動燒入flash中,完成燒寫。之后把u-boot的環境變量改回來就行了。

以下是具體的執行代碼

1啟動openjtag。

2執行腳本

a, >halt 使開發板的cpu暫停
b, >arm920t cp15 2 0協處理器命令來關閉mmu
c,>init_2440對開發板進行初始化
d,>halt
e,>arm920t cp15 2 0
f,>load_image /u-boot.bin 0x33f80000 把u-boot放入內存
g,>load_image /uImage 0x32000000 把uImage放入內存
h,>resume 0x33f80000 從u-boot位置開始運行

i,minicom #help nand
j,#nand erase清除flash
k,#nand write 33f80000 0 40000 把內存中的u-boot寫入flash中
l,#nand write 32000000 100000 200000把內存中的uImage寫入flash中
m,#reset重啟

3在linux下執行一下步驟

a,mkdir/work/root;chmod 777 /work/root 新建工作目錄,并把權限位設置到最高
b,tar zxvf root.tgz -C /work/root解壓當前目錄下的文件系統壓縮包
b,mv root.tgz /work/root 并把該壓縮包一同放入工作目錄
c,vi /etc/exports ,添加一行 /work/root *(rw,sync,no_root_squash) 配置nfs的配置文件
d,services nfs restart 重啟nfs服務
e, minicom >setenv bootargs root=/dev/nfs rw nfsroot=192.168.1.3:/work/root ip=192.168.1.8:192.168.1.3:255.255.255.0 console=ttySAC0,115200 init=/linuxrc mem=64M 在minicom中的開發板的uboot下改變環境變量,讓開發板通過網絡從主機端啟動工作目錄下的文件系統。(這里主機端的ip位用ifconfig eth0 +ip來設)
h,>printenv
ti,>boot

4之后你會發現開發板的linux系統已經啟動,之后繼續通過minicom操作開發板

a,minicom >mount /dev/mtdblock2 /mnt 把flash設備掛載到mnt里
b,>tar zxvf root.tgz -C /mnt 把剛剛的壓縮包直接解壓到flash設備中,完成操作系統的燒錄
c,>reboot 重啟

d,minicom >setenv bootargs root=/dev/mtdblock2 console=ttySAC0 mem=64M 重啟后在u-boot里把環境變量改成從flash啟動

e.>boot

這樣就是一個完整的燒錄過程。而其中的u-boot uImage 與 操作系統的定制。我們將在以后的課程中來編寫。



關鍵詞: S3C2440燒

評論


技術專區

關閉