• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 移植2.6.16內(nèi)核到at91rm9200

    移植2.6.16內(nèi)核到at91rm9200

    作者: 時間:2012-05-31 來源:網(wǎng)絡(luò) 收藏

    1、下載、安裝

    本文引用地址:http://www.czjhyjcfj.com/article/148955.htm

    從 www.kernel.org 上下載Linux版的kernel,解壓到 /usr/src/arm/linux-

    從http://maxim.org.za/AT91RM9200/2.6/ 上下載針對rm9200的補丁,文件名:-at91.patch.gz,復制到 /usr/src/arm/linux-2.6.16,然后在命令行界面中執(zhí)行 zcat 2.6.16-at91.patch.gz |patch -p1

    從http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/yaffs2.tar.gz?view=tar下載YAFFS2補丁 yaffs2.tar.gz 解壓縮后到文件目錄下運行 sh patch-ker.sh ../linux-2.6.16 把YAFF2加到中去;

    下載GCC編譯器,文件名:arm-linux-gcc-3.4.1.tar.bz2,解壓到 /usr/local/arm/3.4.1

    2、修改

    打開原代碼根目錄下的Makefile,找到如下兩行:

    ARCH ?=$(SUBARCH)

    CROSS_COMPILE ?=

    修改為:

    ARCH ?=arm

    CROSS_COMPILE ?=/usr/local/arm/3.4.1/bin/arm-linux-

    3、編譯

    執(zhí)行如下命令:

    make dk_defconfig

    make xconfig

    make

    以上是基本的步驟,所有過程的第一步,以下是我自已過程:

    1),在make xconfig 時改

    boot_option

    ZBOOT_BASE_ADDRESS   0X21000000

    ZBOOT_ROM_BSS      0X21100000

    否則不能動行

    其它的可以按 dk 的配置編譯

    2),添加devfs文件系統(tǒng)

    vi fs/Kconfig

    找到menu Pseudo filesystems

    添加如下語句:

    config DEVFS_FS

    bool /dev file system support (OBSOLETE)

    default y

    config DEVFS_MOUNT

    bool Automatically mount at boot

    default y

    depends on DEVFS_FS

    保存退出后編譯下載后就可以在 開發(fā)板上的 /proc 目錄下的filesystems里看到了

    [root@AT91RM9200DK /proc]$cat filesystems

    nodev sysfs

    nodev rootfs

    nodev bdev

    nodev proc

    nodev sockfs

    nodev pipefs

    nodev futexfs

    nodev tmpfs

    nodev inotifyfs

    nodev eventpollfs

    nodev devpts

    ext2

    cramfs

    nodev ramfs

    nodev devfs

    nodev jffs2

    3),修改NAND的分驅(qū)表

    在arch/mach-/board-dk中

    改dk-nand-patition[]{

    }

    下的代碼為自已想要的分驅(qū)方式

    4),修改NOR的分驅(qū)表

    在driver/mtd/maps/physmap.c中

    添加一個自已的分驅(qū)表后將其引用到physmap_set_patition()中

    5),添加9200的串口驅(qū)動

    這個更簡單

    改arch/mach-at91rm9200/board-dk.c

    .nr_tty = 5,

    .tty_map = {4,3,2,1,0}

    就把2個串口改為5個了,其對應驅(qū)動在相關(guān)目錄下都有詳盡的代碼!

    需要的是一個認真的態(tài)度和不懈的努力!

    這也只是個入門,還有更多的東西要學習!



    關(guān)鍵詞: at91rm9200 內(nèi)核 2.6.16 移植

    評論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 鸡泽县| 江华| 稻城县| 泊头市| 贡嘎县| 民乐县| 泰安市| 威远县| 定日县| 富源县| 兴业县| 武强县| 治县。| 梅州市| 太谷县| 普格县| 丰镇市| 宁陕县| 包头市| 白银市| 台中市| 政和县| 台州市| 永定县| 登封市| 阜宁县| 鱼台县| 武夷山市| 明水县| 宜春市| 镇原县| 乐昌市| 繁峙县| 莱阳市| 双柏县| 拜泉县| 盘锦市| 偃师市| 柯坪县| 尚志市| 满洲里市|