新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 移植2.6.16內核到at91rm9200

        移植2.6.16內核到at91rm9200

        作者: 時間:2012-05-31 來源:網絡 收藏

        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,復制到 /usr/src/arm/linux-2.6.16,然后在命令行界面中執行 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、編譯

        執行如下命令:

        make dk_defconfig

        make xconfig

        make

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

        1),在make xconfig 時改

        boot_option

        ZBOOT_BASE_ADDRESS   0X21000000

        ZBOOT_ROM_BSS      0X21100000

        否則不能動行

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

        2),添加devfs文件系統

        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

        保存退出后編譯下載后就可以在 開發板上的 /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的分驅表

        在arch/mach-/board-dk中

        改dk-nand-patition[]{

        }

        下的代碼為自已想要的分驅方式

        4),修改NOR的分驅表

        在driver/mtd/maps/physmap.c中

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

        5),添加9200的串口驅動

        這個更簡單

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

        .nr_tty = 5,

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

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

        需要的是一個認真的態度和不懈的努力!

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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 三原县| 广元市| 宜兴市| 大庆市| 新泰市| 朝阳区| 高密市| 江川县| 宁蒗| 军事| 萨嘎县| 睢宁县| 泰兴市| 喀喇沁旗| 四平市| 和平区| 双江| 合水县| 昂仁县| 黄梅县| 烟台市| 溧阳市| 山阳县| 岑溪市| 福建省| 宁陕县| 德安县| 青海省| 盐边县| 博野县| 江永县| 两当县| 固镇县| 拉孜县| 大宁县| 高平市| 社旗县| 松潘县| 甘谷县| 普兰县| 当雄县|