Linux學習筆記(13) linux移植(下)

2021-10-02 03:19:22 字數 3611 閱讀 1011

使能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 ...