正点原子第四期环境搭建
正點原子第四期環境搭建
- 1、網絡IP相關知識
- 1.1、子網掩碼
- 1.2、同一網段
- 1.3、舉例說明
- 1.4、主機地址計算方式
- 2、環境搭建
- 2.1、虛擬機創建
- 2.2、網絡配置
- 2.3、網絡掛載
- 2.3.1 設置開發板uboot環境變量
- 2.3.1、掛載內核、設備樹
- 2.3.2、nfs掛載文件系統
????????今天(2022/10/22)購買的阿爾法開發板,準備開始學習正點原子驅動開發。板子還沒到,先看看網絡環境搭建。
1、網絡IP相關知識
IP地址:網絡號部分 + 主機號部分。
????????1、網絡部分:確定終端是不是在同一網段。
????????2、主機部分:
IP地址分為A、B、C三類:
????????A類,網絡號為前8位,后24位位主機號。
????????B類,網絡號為前16位,后16位位主機號。
????????C類,網絡號為前24位,后8位位主機號。
1.1、子網掩碼
????????1、子網掩碼不能單獨存在,它必須結合IP地址一起使用。
????????2、子網掩碼只有一個作用:就是將某個IP地址劃分成網絡地址和主機地址兩部分。
????????3、子網掩碼是32位的二進制地址,為1代表該位是網絡位,為0代表主機位。
1.2、同一網段
????????1、可以簡單理解為:同一網絡號為同一網段。
1.3、舉例說明
比如一個IP地址為192.16.1.3:
????????1、單看一個IP地址是看不出來哪些是網絡號,哪些是主機號,需要知道子網掩碼或則常用的表示方法。
????????2、常用的表示方法1:192.168.1.3/24 :后面的/24表示IP地址前面的24位二進制代表網絡ID,也就是192.168.1。
????????3、常用的表示方法2:192.168.1.3/24 netmask 255.255.255.0 :通過子網掩碼可以判斷IP地址前面的24位二進制代表網絡ID,也就是192.168.1。網絡地址是192.168.1.0
1.4、主機地址計算方式
????????IP地址與子網掩碼的非的結果想與就是主機地址。
IP地址:十進制:192.168.1.1二進制:11000000.10101000.00000001.00000001 子網掩碼:十進制:255.255.255.0二進制:11111111.11111111.11111111.00000000子網掩碼取非:00000000.00000000.00000000.11111111 子網掩碼取非 與上 IP地址:00000000.00000000.00000000.00000001????????即主機地址為0.0.0.1。
2、環境搭建
2022/10/29開發板到了????????場景:本人是在出租房里,采用的是電腦連wifi,開發板直連電腦這種方式。
????????最近正點原子更新了阿爾法底板,之前的內核鏡像以及uboot鏡像不再適用于新的開發板,需要去官方下載最新的鏡像。
????????本人沒看過正點原子第一、二、三期視頻,直接開始第四期驅動。
2.1、虛擬機創建
????????為了減少搭建開發環境的時間,直接使用的是正點原子提高的IMX6U虛擬機,下方直接下載即可。
????????下載后直接參考pdf配置即可。創建后如下圖
2.2、網絡配置
????????1、我的環境是電腦連wifi上網,開發板和電腦通過網線連接。
????????2、網絡配置參考的是 \正點原子\【正點原子】阿爾法Linux開發板 PDF資料合集\【正點原子】阿爾法Linux開發板 (PDF資料合集)\用戶手冊\手冊\手冊下載、【正點原子】I.MX6U網絡環境TFTP&NFS搭建手冊V1.3.1 這個文檔中1.4章節,三者能夠互相ping通即可。
????????3、我這里本次配置:
2.3、網絡掛載
????????1、前文提到正點原子將底板更新(2.4底板),我們需要修改uboot以及內核的驅動代碼,來適配2.4底板。
????????2、進入虛擬機 /home/alientek/alpha/alientek-zzk目錄,即可看見kernel和uboot源碼。參考2.4底板uboot、kernel配置教程 編出zImage和dtb。
????????3、將編出來的zImage和dtb文件放入tftp目錄:/home/alientek/linux/tftp
2.3.1 設置開發板uboot環境變量
????????1、開發板上電,在uboot倒計時結束前按下回車進入命令行模式。
????????2、根據自己實際情況設定,我這里虛擬機ip地址是192.168.10.100。
setenv ipaddr 192.168.10.120 //設置開發板ipsetenv ethaddr b8:ae:1d:01:00:00 //地址setenv gatewayip 192.168.10.1 //網關setenv netmask 255.255.255.0 //子網掩碼setenv serverip 192.168.10.100 //虛擬機的ip地址saveenv????????3、設置完嘗試ping虛擬機,能夠ping通即可。
2.3.1、掛載內核、設備樹
setenv bootcmd 'tftp 80800000 zImage;tftp 83000000 imx6ull-alientek-emmc.dtb;bootz 80800000 - 83000000'saveenv2.3.2、nfs掛載文件系統
????????1、ip地址根據自己實際情況填寫。
setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.10.100:/home/alientek/linux/nfs/rootfs,proto=tcp rw ip=192.168.10.120:192.168.10.100:192.168.10.1:255.255.255.0::eth0:off'saveenv
????????2、如上圖即代表從虛擬機中下載內核鏡像和設備樹并啟動。能夠正常啟動代表掛載成功。
????????可以看見文件目錄和虛擬機中nfs文件系統一致。
????????3、之后驅動編出的ko都放入 /home/alientek/linux/nfs/rootfs/lib/modules/4.1.15目錄,開發板對應目錄也會有相應文件。
????????4、我們在開發板新建一個demo1.c,在對應的虛擬機中也會出現,如下圖:
????????至此環境搭建完成,歡迎評論區交流。
總結
以上是生活随笔為你收集整理的正点原子第四期环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: D2. Coffee and Cours
- 下一篇: Codeforces Global Ro