亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 2600 | 回復(fù): 1
打印 上一主題 下一主題

MaxWit及其中的g-bios在mini2440的初次使用 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-10-11 21:52 |只看該作者 |倒序?yàn)g覽
MaxWit及其中的g-bios 在mini2440的初次使用
      前段時(shí)間上網(wǎng)的時(shí)候無(wú)意中看到了國(guó)內(nèi)的一個(gè)開(kāi)源項(xiàng)目
maxwit
,看了其中的介紹感覺(jué)還不錯(cuò),所以就下載了
相關(guān)的文檔和源碼
試著用了用。經(jīng)過(guò)了一些學(xué)習(xí),發(fā)現(xiàn)可以很容易地使用MaxWit的開(kāi)發(fā)環(huán)境編譯出了arm的toolchain和bootloader,其他的功能還沒(méi)有實(shí)驗(yàn),有待學(xué)習(xí)。MaxWit有比較詳細(xì)的文檔資料你可以從網(wǎng)上單獨(dú)
下載
,也可在
下載源代碼
時(shí)得到,F(xiàn)在我就根據(jù)自己的經(jīng)驗(yàn)簡(jiǎn)單的介紹一下使用MaxWit的開(kāi)發(fā)環(huán)境編譯toolchain和g-bios。
    (1)首先通過(guò)svn的方式下載MaxWit的開(kāi)發(fā)環(huán)境編譯:在你想要存放源碼的地方執(zhí)行
svn co http://maxwit.googlecode.com/svn/trunk/ maxwit-read-only
        當(dāng)前目錄下將會(huì)創(chuàng)建一個(gè)名為“maxwit-read-only”的子目錄,其中包含了MaxWit開(kāi)放實(shí)驗(yàn)室開(kāi)發(fā)環(huán)境中開(kāi)源項(xiàng)目的創(chuàng)建腳本、g-bios源代碼,以及GNU交叉編譯工具編譯時(shí)需要的補(bǔ)丁。這些基本上全是腳本和補(bǔ)丁,所以很快就下載完了。
        這些腳本值得一看,都是自動(dòng)下載源碼、打補(bǔ)丁、配置編譯源代碼的腳本。讓初學(xué)者能輕松的制作toolchain,并編譯代碼。
    (1.1)我自己又將下載下來(lái)的開(kāi)發(fā)環(huán)境代碼有復(fù)制一份使用,以便修改后對(duì)比。
    (2)代碼下載后,首先要編譯一個(gè)交叉工具。但是我當(dāng)前下載的代碼還有一點(diǎn)小bug,我修正后制作了補(bǔ)丁,先打上補(bǔ)丁在繼續(xù)吧。
diff -uaNr maxwit-read-only/core/bmw_base maxwit/core/bmw_base
--- maxwit-read-only/core/bmw_base 2009-09-08 21:03:29.000000000 +0800
+++ maxwit/core/bmw_base 2009-09-10 09:22:56.000000000 +0800
@@ -139,10 +139,11 @@
     echo -n "."

     case "${pkg}" in
- glibc-*)
+ glibc-ports-*)
         rm -rf glibc-ports-${GLIBC_VER}
         tar xf ${SRC_PATH}/glibc-ports-${GLIBC_VER}.tar.* || exit 1
         mv glibc-ports-${GLIBC_VER} ${MWP_GLIBC}/ports
+ pkg=${MWP_GLIBC}/ports
         ;;

     libtool-2.2.6a | texinfo-4.13a)
diff -uaNr maxwit-read-only/toolchain/build maxwit/toolchain/build
--- maxwit-read-only/toolchain/build 2009-09-08 21:03:25.000000000 +0800
+++ maxwit/toolchain/build 2009-09-10 09:21:56.000000000 +0800
@@ -21,6 +21,7 @@
         ${MWP_BINUTILS} \
         ${MWP_GCC} \
         ${MWP_GLIBC} \
+ ${MWP_GLIBC_PORTS} \
         "

     CheckPkg "${MWP_KERNEL} ${TOOLCHAIN_PKG_LIST}

    在maxwit-read-only(或者備份出的代碼)目錄下執(zhí)行
        
./build
[MaxWit Linux Building Menu] (configured for s3c2440)
     1). Build Host Environment
     2). Build GNU Toolchain
     3). Build Bootloader (g-bios)
     4). Build Linux Kernel (linux-2.6.29.4)
     5). Build Basic System (busybox or coreutils)
     6). Build Lib/App (vim,perl)
     7). Build Lib/App (alsa,libmad,mpg123,madplay)
     8). Build Lib/App (MPlayer)
     9). Build Lib/App (jpeg,gif,tiff,png,fbv)
    10). Build Lib/App (SDL,DirectFB)
    11). Build Lib/App (usbutils,tslib)
    12). Build 3D Game (doom)
    13). Testing on QEMU
    14). Create File System Images (yaffs2,jffs2,cramfs,etc.)
     x). Exit
Your choice[1-14]? 2
    然后選擇[2],腳本就會(huì)下在${HOME}下建立目錄,并檢查其中是否已經(jīng)有需要的軟件包,否則會(huì)詢問(wèn)是否下載此包。如果你已經(jīng)下載好了這些軟件包,直接放到相應(yīng)目錄就可以加快進(jìn)度。確認(rèn)所有的軟件包已經(jīng)獲得后,腳本會(huì)對(duì)其解壓,并自動(dòng)打上補(bǔ)。ㄈ绻枰,開(kāi)始全自動(dòng)的編譯工作。期間基本不會(huì)碰到問(wèn)題,成功后會(huì)產(chǎn)生gcc-4.4.0的交叉編譯器。至于編譯器是針對(duì)什么平臺(tái)的,可以在core/bmw_base腳本中設(shè)置TARGET_SOC="????",默認(rèn)是S3C2440,所以我沒(méi)改過(guò)。
    (3)編譯g-bios,在上面的交叉編譯器編譯好之后在選[3]就可以了,基本不用怎么修改就能實(shí)現(xiàn)基本的引導(dǎo)內(nèi)核的功能。對(duì)于2440來(lái)說(shuō)還是要改一個(gè)小地方:
diff -uaNr maxwit-read-only/g-bios/include/arch/s3c24xx.h maxwit/g-bios/include/arch/s3c24xx.h
--- maxwit-read-only/g-bios/include/arch/s3c24xx.h 2009-09-08 21:03:21.000000000 +0800
+++ maxwit/g-bios/include/arch/s3c24xx.h 2009-10-10 23:20:49.000000000 +0800
@@ -35,7 +35,7 @@
#define GBIOS_BH_OFFSET 1

// # fixme
-#define CONF_MACH_ID 2318
+//#define CONF_MACH_ID 2318

#ifdef CONF_MACH_ID
#define MACH_ID CONF_MACH_ID
    否則會(huì)出現(xiàn)內(nèi)核運(yùn)行時(shí)會(huì)出現(xiàn)machine ID不匹配的錯(cuò)誤。
    (4)編譯很快,因?yàn)槌绦虿淮。完成后?huì)在${HOME}/maxwit/images(默認(rèn)情況)下出現(xiàn)g-bios-bh.bin和g-bios-th.bin。
        g-bios-th.bin是g-bios的第一階段,小于4K(大約3.6K)符合24x0系列的nand啟動(dòng)條件,所以直接將他燒到nand的 0x0 地址處。
        之后就可以從nand啟動(dòng),并通過(guò)串口的kermit協(xié)議引導(dǎo)g-bios-bh.bin,實(shí)現(xiàn)完整啟動(dòng)。這部分及其他的操作可以參考
源碼自帶的中文文檔
操作了,上面講得很清楚。我就不多說(shuō)了。附上啟動(dòng)信息:
    +----------------------------------+
    | Welcome to MaxWit g- |
    | (http://maxwit.googlecode.com) |
    | [09-10-10 12:28:05] |
    +----------------------------------+
ARCH = ARM v4T
CPU = ARM920
PLAT = S3C2440
NAND = 0xEC:0x76
Load g-bios from (1.Flash, 2.Serial): 1
1. [ArchHeapInit() @ 0x330121a4]
Init arch: heap init, region = [0x33013250, 0x33d80000]
2. [MW2440XInit() @ 0x330121f4]
3. [NetCoreInit() @ 0x33012544]
Init subsystem: Network Subsystem
4. [FlashCoreInit() @ 0x33012944]
Init subsystem: Flash Subsystem.
5. [S3c24xxPwmInit() @ 0x33012a4c]
Init subsystem: Timer init
Using default value: loop_per_usec = 1
6. [S3c24xxGpuInit() @ 0x3301246c]
7. [DM9000Init() @ 0x3301258c]
Init driver: DM9000
DM900x ID = 0x9000, Varient = 0xb8c, Rev = 0.
Detecting ethernet speed ... 100M Full Duplex
8. [CS8900Init() @ 0x330127c4]
CS8900 NOT
9. [S3C2440NandProbe() @ 0x33012998]
S3C2440NandProbe():
NAND-0 is detected: Vendor ID = 0xec, Device ID = 0x76 (Samsung K9F1208)
Flash details:
    Chip size = 0x04000000 (64M)
    Block size = 0x00004000 (16K)
    Page size = 0x00000200 (512)
    OOB size = 0x00000010 (16)
Scanning bad blocks:
Total: 1 nand chip detected
10. [SysConfInit() @ 0x33012edc]
Init application: System Configuration.
Parition List: (on K9F1208)
----------------------------------------------------------------
Index Start End Size Type Name
----------------------------------------------------------------
   0* 0x00000000 - 0x00080000 512K g-bios "g-bios"
   1 0x00080000 - 0x00300000 2M512K linux "linux"
   2 0x00300000 - 0x01b00000 24M yaffs2 "rootfs"
   3 0x01b00000 - 0x04000000 37M yaffs2 "data"
----------------------------------------------------------------
Autoboot after 2 seconds. Press any key to interrupt.
g-bios: 0#
   
我只要簡(jiǎn)單的幾步就可以實(shí)現(xiàn)g-bios的編譯和燒寫(xiě)。以下是啟動(dòng)到g-bios-bh.bin后出現(xiàn)的三色屏。



   我已經(jīng)在mini2440上成功的用g-bios啟動(dòng)了Linux系統(tǒng)(使用nfs掛載rootfs)。對(duì)于maxwit,還有更多的東西需要研究,有空我再寫(xiě)上來(lái)。


本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u1/34474/showart_2067860.html

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2011-11-25 07:28 |只看該作者
請(qǐng)問(wèn)你是通過(guò)什么軟件把g-bios-th.bin文件燒到nandflash上面去的,我現(xiàn)在是不知道用什么軟件燒寫(xiě)部分,我的板子也是s3c2440的(已經(jīng)很老了),見(jiàn)笑了,呵呵。。。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP