<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

          1、下載、安裝

          本文引用地址:http://www.ex-cimer.com/article/148955.htm

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

          從http://maxim.org.za/AT91RM9200/2.6/ 上下載針對(duì)rm9200的補(bǔ)丁,文件名:-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補(bǔ)丁 yaffs2.tar.gz 解壓縮后到文件目錄下運(yùn)行 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 時(shí)改

          boot_option

          ZBOOT_BASE_ADDRESS   0X21000000

          ZBOOT_ROM_BSS      0X21100000

          否則不能動(dòng)行

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

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

          vi fs/Kconfig

          找到menu Pseudo filesystems

          添加如下語(yǔ)句:

          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中

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

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

          這個(gè)更簡(jiǎn)單

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

          .nr_tty = 5,

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

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

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

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



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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();