新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > S5PV210(TQ210)學習筆記——內核移植與文件系統構建

        S5PV210(TQ210)學習筆記——內核移植與文件系統構建

        作者: 時間:2016-11-28 來源:網絡 收藏


        另外,從TQ210原理圖的DM9000部分還可以看到,DM9000使用的是外部中斷10,故將中斷號修改為10號。

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

        最后需要說明的是smdkv210_dm9000_init函數的修改,這是因為DM9000的數據訪問、命令發送等是按照一定時序工作的,而DM9000接再SROMC上,因此需要配置SROMC時序,使其可以正確驅動DM9000,關于時序的詳細配置我還沒研究,不過韋東山老師的第二期視頻中講述了DM9000的驅動移植,也講了時序配置,需要的話可以參考。

        五 掛接文件系統

        我們現在配置好了網卡驅動,還需要對內核稍作配置才能使內核支持網絡文件系統掛載,具體的可以參考以下配置。

        (1) 配置網絡支持

        1. [*]Networkingsupport--->
        2. Networkingoptions--->
        3. <*>Packetsocket
        4. <*>Unixdomainsockets
        5. [*]TCP/IPnetworking
        6. [*]IP:multicasting
        7. [*]IP:kernellevelautoconfiguration
        8. [*]IP:DHCPsupport
        9. [*]IP:BOOTPsupport
        10. [*]IP:RARPsupport
        11. [*]IP:multicastrouting

        (2) 配置網卡設備支持
        1. DeviceDrivers--->
        2. [*]Networkdevicesupport--->
        3. [*]Ethernetdriversupport--->
        4. <*>DM9000support

        (3) 配置網絡文件系統支持
        1. Filesystems--->
        2. [*]NetworkFileSystems--->
        3. <*>NFSclientsupport
        4. <*>NFSclientsupportforNFSversion2
        5. <*>NFSclientsupportforNFSversion3
        6. [*]NFSclientsupportfortheNFSv3ACLprotocolextension
        7. <*>NFSclientsupportforNFSversion4
        8. [*]RootfilesystemonNFS

        配置完以上三項后保存配置,然后再次編譯內核,直接執行make指令即可。

        這時,重新下載內核測試運行,沒有意外的話現在內核已經可以正常工作了,如果不幸的遇到了問題,那么問題應該是NFS服務器配置的問題,ubuntu下配置NFS服務器很簡單

        1. sudoapt-getinstallnfs-kernel-server

        然后以根權限打開/etc/exports文件,我的NFS根目錄為/nfsroot,故,我設置export為
        1. /nfsroot/*(rw,sync,no_root_squash)

        設置完成之后需要重啟NFS服務,ubuntu下執行

        1. sudoservicenfs-kernel-serverrestart

        重啟的時候會看到一些警告,如下圖

        但是上述警告不影響使用。反之,如果設置為no_subtree_check,雖然系統可以正常掛載,但是無法進行創建文件等寫操作,也就是說,掛載的文件系統是只讀的。最后還要修改下/nfsroot的權限,為了以后使用方便。

        1. chmoda+x/nfsroot-R

        到這里,基于TQ210的內核移植已經初步完成了,接下來我們就可以進行驅動開發了。

        六 問題總結

        我在配置過程中遇到了很多問題,現在稍作總結

        (1) 串口中斷打印完Starting kernel...之后就沒有任何輸出了

        配置內核,指定調試信息輸出端口為UART0,文中講到了詳細配置。

        (2) 解壓完內核之后沒有任何輸出了

        a.檢查bootargs環境變量設置是否正確,必須設置console=ttySAC0

        b.檢查uboot傳遞的機器碼根內核是否對應

        c.檢查uboot傳給內核的taglist是否正確

        (3) 內核無法掛接到NFS文件系統

        a. 正確移植DM9000網卡驅動

        b. 配置內核的網絡部分、網卡設備和文件系統中的網絡文件系統

        c. 確認NFS服務器的配置是否正確,用另外其他linux或已經移植好系統的linux進行測試(mount -o nolock xx.xx.xx.xx:/nfsroot/rootfs)。

        (4) 文件系統掛接成功,無法執行/linuxrc

        a. 檢查NFS配置文件,最好以NFSv2方式配置,內核不支持的話會出現問題。

        b. 最好以文中推薦的方式進行NFS服務器配置。

        c. 配置完成之后需要重啟NFS服務或者是重啟系統。

        七 其它問題

        如果您在移植過程中出現了其他問題歡迎留言討論。


        上一頁 1 2 3 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 田林县| 临湘市| 揭东县| 张家口市| 萨迦县| 石渠县| 峨山| 建昌县| 郑州市| 镇雄县| 布尔津县| 余江县| 桐乡市| 太康县| 靖宇县| 武鸣县| 淳安县| 集安市| 玛曲县| 延川县| 普安县| 诸城市| 石家庄市| 昌吉市| 沂源县| 云林县| 柘城县| 宝坻区| 屏南县| 刚察县| 抚顺市| 潼南县| 图们市| 小金县| 历史| 安庆市| 荆门市| 雅安市| 平和县| 黄梅县| 东兴市|