新聞中心

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

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

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

        1、下載、安裝

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

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

        從http://maxim.org.za/AT91RM9200/2.6/ 上下載針對rm9200的補丁,文件名:-at91.patch.gz,復(fù)制到 /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個了,其對應(yīng)驅(qū)動在相關(guān)目錄下都有詳盡的代碼!

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

        這也只是個入門,還有更多的東西要學(xué)習(xí)!



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

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 措美县| 南昌县| 长宁县| 莲花县| 太和县| 酒泉市| 沾益县| 水富县| 唐海县| 鄂尔多斯市| 德化县| 增城市| 海淀区| 姜堰市| 云南省| 康马县| 定兴县| 酒泉市| 萨嘎县| 皋兰县| 曲松县| 临颍县| 浮山县| 遵义市| 阳朔县| 盖州市| 札达县| 长宁区| 柞水县| 平阳县| 名山县| 洪泽县| 香格里拉县| 濮阳县| 镇巴县| 屏东县| 将乐县| 云安县| 永福县| 且末县| 兴城市|