使能8線emmc驅動(nxp官方開發板用的是4線驅動emmc,而alpha開發板用的是8線驅動emmc,所以要進行修改),直接修改裝置樹檔案,
找到imx6ull-glen-emmc.dts檔案,找到如下內容:
734 &usdhc2 ;
並按下面修改:
734 &usdhc2 ;
然後使用命令make dtbs
重新編譯裝置樹檔案,重啟linux系統。注:這裡看暫時還不能看到實際效果。
修改網路驅動(nxp官方開發板用的網路phy晶元是ksz8081,而alpha開發板用的是lan8720a,兩個網路phy晶元的復位io也不同),直接修改裝置樹檔案,
找到imx6ull-glen-emmc.dts檔案
2.1 修改lan8720a的復位引腳驅動,enet1復位引腳enet1_rst連線在i.mxtull的snvs_tamper7引腳上,enet2的復位引腳enet2_rst連線在snvs_tamper8引腳上,但這兩個引腳被占用了,所以要將這兩個引腳mx6ull_pad_snvs_tamper7__gpio5_io07 mx6ull_pad_snvs_tamper8__gpio5_io08
從中刪除
584 pinctrl_spi4: spi4grp ;
同樣,下面的spi4占用了gpio5_7和gpio5_8兩個引腳,將其刪除
125 spi4 ;
147 };
接下來需要把將這兩個引腳mx6ull_pad_snvs_tamper7__gpio5_io07 mx6ull_pad_snvs_tamper8__gpio5_io08
新增到enet1和enet2的引腳訊號組中:
309 pinctrl_enet1: enet1grp ;
322
323 pinctrl_enet2: enet2grp ;
171 &fec1 ;
180
181 &fec2 ;
199
200 ethphy1: ethernet-phy@1 ;
205 };
206 };
儲存裝置樹檔案,使用命令make dtbs
編譯裝置樹
2.3 修改fec_main.c檔案當中的fec_probe函式,
static int
fec_probe(struct platform_device *pdev)
phy_write(phydev, mii_bmcr, bmcr_reset);
/* wait end of reset (max 500 ms) */
do while (rc & bmcr_reset);
return 0;
}
驗證裝置樹及更改的核心檔案
root@alientek-imx6u:/# ifconfig -a
eth0 link encap:ethernet hwaddr 00:04:99:00:d3:33
inet addr:192.168.1.101 bcast:192.168.1.255 mask:255.255.255.0
inet6 addr: fe80::204:99ff:fe00:d333/64 scope:link
up broadcast running multicast mtu:1500 metric:1
rx packets:43 errors:0 dropped:0 overruns:0 frame:0
tx packets:80 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
rx bytes:4931 (4.8 kib) tx bytes:10968 (10.7 kib)
eth1 link encap:ethernet hwaddr 00:04:99:00:d3:33
up broadcast multicast dynamic mtu:1500 metric:1
rx packets:0 errors:0 dropped:0 overruns:0 frame:0
tx packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
rx bytes:0 (0.0 b) tx bytes:0 (0.0 b)
lo link encap:local loopback
inet addr:127.0.0.1 mask:255.0.0.0
inet6 addr: ::1/128 scope:host
up loopback running mtu:65536 metric:1
rx packets:66 errors:0 dropped:0 overruns:0 frame:0
tx packets:66 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
rx bytes:4556 (4.4 kib) tx bytes:4556 (4.4 kib)
sit0 link encap:unspec hwaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
noarp mtu:1480 metric:1
rx packets:0 errors:0 dropped:0 overruns:0 frame:0
tx packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
rx bytes:0 (0.0 b) tx bytes:0 (0.0 b)
root@alientek-imx6u:/# ping 192.168.1.55
ping 192.168.1.55 (192.168.1.55) 56(84) bytes of data.
64 bytes from 192.168.1.55: icmp_seq=1 ttl=64 time=1.39 ms
64 bytes from 192.168.1.55: icmp_seq=2 ttl=64 time=0.741 ms
64 bytes from 192.168.1.55: icmp_seq=3 ttl=64 time=1.62 ms
64 bytes from 192.168.1.55: icmp_seq=4 ttl=64 time=0.758 ms
64 bytes from 192.168.1.55: icmp_seq=5 ttl=64 time=0.747 ms
至此,linux系統的移植就完成了。由於alpha開發板與nxp官方開發板差異不大,所以需要修改的內容不多,與其說是移植linux不如說是調整。 linux學習筆記13
su命令 su 切換使用者,su gk1和su gk1的區別是加了 後會完全切換到gk1的家目錄下,只有加了 切換使用者後配置檔案這個使用者的配置檔案才會生效。su c touch tme 4.txt gk1 以gk1 的身份去執行一條命令,但不需要切換使用者。su gk2在普通使用者之間是可以來回...
Linu學習3 Linux高階命令
一 find find 查詢檔案 find 查詢檔案 注意如果沒有指定目錄,用 或者空格代替,則表示查詢當前目錄的檔案。find 可以查詢最近一段時間有改動的檔案。二 gerp 查詢字串命令 複製檔案 cp 檔案位置及檔案 新檔案位置 可用 代替後者為此資料夾。grep 目的 使用grep命令來查詢...
Effective C 學習筆記 (13)
由於在寫 時很多時候需要用到資源,比如new乙個物件之類的,這樣一來資源的申請和釋放需要程式設計師自己完成,對 的邏輯需要謹慎設計,才能保證資源不會洩漏。其實這類似的程式設計風格,在之前寫c的時候也有編碼規範來規定資源的釋放,比如do while的運用啊,goto exit0之類的方法,但是對於c ...