嵌入式環境搭建之開發板軟體環境

來源:互聯網
上載者:User

標籤:exynos 4412   環境搭建   arm   linux   嵌入式   

轉載請註明出處:http://blog.csdn.net/ruoyunliufeng/article/details/44995039


開發板軟體環境:uboot(用官方給的,後續我會考慮分析移植)

                            核心(本來想用官方的降低難度,但給的不支援nfs,簡單更改下吧,後續考慮移植精簡新核心)

                            檔案系統(移植最小檔案系統)

1.修改開發板官方核心支援nfs

          a.用ftp工具從主機拷貝核心到虛擬機器,然後解壓

          b.copy 官方設定檔 .config(不同開發板設定檔不同,我的操作是cp config_for_linux .config)

          c.make menuconfig

             出錯:我碰見過兩種,第一種錯誤是終端太小,裝不形配置。

                                                第二種是缺少ncurses庫,解決辦法$sudo apt-get install libncurses5-dev

          d. 修改配置選項

                 

                

               

                            選中  IP: kernel level autoconfiguration

                 更改後儲存,然後make

            e.將產生的核心燒進開發板

            f.測試nfs功能

                  mount -t nfs -o nolock 192.168.6.2:/work /mnt

                  如果開發板檔案系統的/mnt 掛在到了虛擬機器的/work上則證明成功

2.製作最小網路檔案系統

           a.下載BusyBox(直接百度,然後進入官網,我下載是最新的穩定版本1.23.2)然後解壓

           b.make menuconfig

                   1.修改系統安在哪,叫什麼名,,這個是我的配置:

                      

                     

                  2.用什麼編譯器

                       

                      

             c.make 然後  make install之後你的系統應該已經產生了。

             d.把交叉編譯器裡面的庫檔案,拷貝到我們的最小網路檔案系統中(注意-d選項)

                       cp /usr/local/arm/arm-2009q3/arm-none-linux-gnueabi/libc/lib/* /work/nfs_sys/mini_sys

             e.接下來需要建立幾個檔案,如果懶得建立的話,我後續把我的檔案系統傳上來,大家copy下也可以

                 在/etc下建立三個檔案 etc/initab   etc/init.d/rcS etc/fstab三個檔案內容如下:



etc/fstab             

::sysinit:/etc/init.d/rcSttySAC2::askfirst:-/bin/sh::ctrlaltdel:/sbin/reboot::shutdown:/bin/umount -a -r


etc/init.d/rcS

#!/bin/shifconfig eth0 192.168.6.4mount -amkdir /dev/ptsmount -t devpts devpts /dev/ptsecho /sbin/mdev > /proc/sys/kernel/hotplug<p>echo 0 > /proc/sys/kernel/hung_task_timeout_secs</p> mdev -s




etc/initab

# dev    mount   type      options  dump  fsck   orderproc    /proc    proc      defaults 0      0tmpfs   /tmp     tmpfs     defaults 0      0sysfs   /sys     sysfs     defaults 0      0tmpfs   /dev     tmpfs     defaults 0      0




           除此之外還需要建立/dev檔案夾。然後在下面建立這兩個裝置檔案

                   mknod consol c 5 1

                   mknod null c 1 3

                  f.啟動開發板uboot修改啟動參數,如下:

              set bootargs console=ttySAC2,115200 init=/linuxrc rootfstype=ext4 root=/dev/nfs rw nfsroot=192.168.6.2:/work/nfs_sys/mini_sys ip=192.168.6.4:192.168.6.2:192.168.6.1:255.255.255.0:ruoyun:eth0:off

              如果OK的話,可以儲存環境變數,每次開機就可以直接掛在檔案系統了。

           g.建立其餘目錄

              mkdir  proc mnt tmp sys root

             

        h.如果能順利進入系統,看到這句話Please press Enter to activate this console.那麼恭喜你成功了。測試下建立檔案,看虛擬機器和開發板是否同步(注意不要在tmp檔案夾下建立,我發現在此檔案夾下,資料不能同步,不知道什麼原因)


3.編寫第一個驅動

          a.編寫驅動檔案

#include<linux/init.h>#include<linux/module.h>#include<linux/kernel.h>static int hello_init(void){printk(KERN_ALERT "hello world.\n");return 0;}static void hello_exit(void){printk(KERN_ALERT "exit hello world.\n");}module_init(hello_init);module_exit(hello_exit);MODULE_LICENSE("GPL");


          b.編寫Makefile

KERN_DIR = /work/kernel/itop/iTop4412_Kernel_3.0all:make -C $(KERN_DIR) M=`pwd` modules clean:make -C $(KERN_DIR) M=`pwd` modules cleanrm -rf modules.orderobj-m+= hello_drv.o


          c.測試

                   在虛擬機器上先make ,產生.ko檔案。然後將.ko檔案放在開發板啟動的網路檔案系統中,然後insmod

如果出現hello world。那麼證明你成功了。

                   然後rmmod,我在做的時候出現了一個錯誤。如下:

                               rmmod: can‘t change directory to ‘/lib/modules‘: No such file or directory

                   解決辦法就是mkdir /lib/modules/3.0.15       (最後面的是你的核心版本號碼)

                  如果rmmod出現了exit hello world.  那麼恭喜你成功了。


到這裡環境已經搭建好了,大家可以繼續接下來的驅動去學習了,後續我會繼續寫一些驅動相關的文章的。

嵌入式環境搭建之開發板軟體環境

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.