JZ2440驱动开发之环境搭建
作為Linux驅動開發的小白搭建整個開發環境是至關重要的一步,鄙人是從裸機程序直接跳轉到驅動里面來的,裸機到驅動的銜接沒怎么看,所以在剛開始驅動的時候搭環境遇到了大麻煩,不過還是在堅持中挺過來了,還得感謝博客園Nqian博主的支持,? 大家可以看看他的文章非常好,還可以和博主交流 ? 網址:https://www.cnblogs.com/lifexy/
環境搭建:
一 單板配置:
如果你沒有自己移植U-boot和內核建議直接燒官方提供的,(如果你想自己去移動植,可以參考:https://www.cnblogs.com/lifexy/p/8136378.html)小白不建議,
對于小白我們可以直接來參考官方提供文檔“重新燒寫JZ2440的整個系統”里面步驟非常詳細
??? 第一步 ??燒寫uboot到nor flash
?? 第二步:格式化一下nand flash,然后重新保存uboot的環境變量到nand flash中
第三步:燒錄uboot到nand flash
第四步:燒錄linux內核的uImage文件到nand flash
這一步文檔上使用的是tftpd32.exe軟件來燒入的,但是發現此軟件有問題對比如圖,一直沒有OK不知道為什么?果斷使用dnwl來燒入
使用dnwl燒入方法:
首先啟動單板連接串口到如圖界面:
?
第五步:燒錄linux根文件系統文件到nand flash?? 方法同第四步
?至此單板的配置就OK·,開機可以直接進到官方提供的QT界面里面去。
二.驅動編譯環境配置
對于Linux系統而言對于編譯環境是非常嚴格的,一定要一一對應,我們單板上用的是官方提供的uImage4.3(其實是linux-2.6.22.6內核),所以我們可以在Ubuntu用linux-2.6.22.6內核來搭建環境
第一步:解壓內核和打補丁,如圖:
第二步:簡單修改linux-2.6.22.6內核文件:
配置頂層Makefile(主要是配置編譯器為arm-linux-gcc-3.4.5-glibc-2.3.6所在路徑)
記得一定要修改怎么Ubuntu的默認編譯器和Makefile一樣,不然到時候你的測試程序會一直報錯的,如圖:
第三步:配置Ubuntu的交叉編譯工具:
sudo vim /etc/environment?
?
?第四步:Ubuntu NFS配置與單板互傳文件:
非常重要的一步,筆者弄了好久才成功了,具體還不太弄,推薦經典文章:https://www.cnblogs.com/multimicro/p/9269863.html
需要注意:每次重新開機單板的時候都要在內核里使用mount掛載NFS目錄。
mount -t nfs -o nolock,vers=2 192.168.1.199:/home/oyl/nfs_root /mnt //mount命令將遠端虛擬機/work/nfs_root目錄掛載到開發板/mnt目錄里 //nolock:禁用文件鎖 vers=2:nfs版本協議2 192.168.1.199:虛擬機地址?運行報錯:
原因是沒有打開網卡,(避免每次都要手動打開可以寫入/etc/init.d/rcS)
ifconfig eth0 up ifconfig eth0 192.168.1.198? 如果mount掛載還是失敗,可能有兩個原因
1.確定開發板是否與Ubuntu位于同一網段
ifconfig eth0 up //開啟網關0,連接網線到路由器 ifconfig eth0 192.168.1.107 //設置ip,與虛擬機ip網段一樣, ping 192.168.1.106 //與虛擬機ping一下,是否已通? 2.確定Ubuntu是否有被掛載可以回到https://www.cnblogs.com/multimicro/p/9269863.html
?
到此一個完整的開發環境就搭建完成了,下面就是各種驅動的玩耍了。
轉載于:https://www.cnblogs.com/ncne/p/10753426.html
總結
以上是生活随笔為你收集整理的JZ2440驱动开发之环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: equals问题
- 下一篇: BZOJ.4160.[NEERC2009