一,編譯uboot
SDK文件寫得比較清楚了,寫一下須要注意的地方吧.
1. 之前用SDK裡和別人給的已經編譯好的uboot,使用fastboot工具都刷不到板子上.最後自己用SDK裡uboot原始碼編譯的則成功刷了進去,不知道詳細什麼問題,可是一直沒試試有點不應該了.
2. 文件中說要用一個Excel表格做配置然後用mkboot.sh將配置檔案和uboot.bin檔案一起生成終於的uboot,我一直糾結那個Excel不能配置,裡面的引數也看不懂.誰知道事實上不用配影響也不大.
3. 之前用別人的uboot刷到板子上一直提示SPI 不識別,用自己編譯的就能夠了,可能我用的是最新的SDK,SPI支援的比較多吧.
二, 改動PHY 地址
板子之前事實上就有uboot, 可是網口不通,這是PHY地址設定的問題. 事實上到如今我對PHY地址瞭解的仍然不太多.PHY應該就是網路OSI模型的物理層(Physical),Hi3531 晶片支援雙網路卡,因此有兩個 PHY 地址,PHYADDR0,PHYADDR1, 如今就是要把PHY地址設對,詳細原理不太懂,反正就一個個的試吧.網友給了好多幫助,以下是一位網友從海思那邊得到的郵件回覆內容.
1. 核心下的方法:
在osdvr/kernel/linux -3.0.y資料夾下執行
“make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- menuconfig”
在 menuconfig 選單下, 選擇下面選項:
Device Drivers --->
[*] Network device support --->
[*] Ethernet (1000 Mbit) --->
<M> STMicroelectronics 10/100/1000 Ethernet driver --->
(1) STMMAC MAC #0 PHY ID << 表示 phy 地址是 1.
(2) STMMAC MAC #1 PHY ID << 表示 phy 地址是 2.
2. u-boot 程式碼中, 改動方法例如以下:
u-boot程式碼中,改動 “include\configs\godnet.h” 檔案:
#define CONFIG_NET_STMMAC
#define CONFIG_TNK
#ifdef CONFIG_NET_STMMAC
#define STMMAC_GMACADDR (0x101c0000)
#define STMMAC_DMAADDR (0x101c1000)
#define STMMAC_IOSIZE (0x10000)
#define STMMAC_FRQDIV (0)
#define STMMAC_PHYADDR0 (1) << 表示 phy 地址是 1.
#define STMMAC_PHYADDR1 (2) << 表示 phy 地址是 2.
#define STMMAC_PHYNAME "0:01"
#define STMMAC_RGMII
#define CONFIG_PHY_GIGE
#endif /* CONFIG_NET_STMMAC */
詳細我沒試過哦!
在osdvr/kernel/linux -3.0.y資料夾下執行
“make ARCH=arm CROSS_COMPILE=arm-hisiv200-linux- menuconfig”
在 menuconfig 選單下, 選擇下面選項:
Device Drivers --->
[*] Network device support --->
[*] Ethernet (1000 Mbit) --->
<M> STMicroelectronics 10/100/1000 Ethernet driver --->
(1) STMMAC MAC #0 PHY ID << 表示 phy 地址是 1.
(2) STMMAC MAC #1 PHY ID << 表示 phy 地址是 2.
2. u-boot 程式碼中, 改動方法例如以下:
u-boot程式碼中,改動 “include\configs\godnet.h” 檔案:
#define CONFIG_NET_STMMAC
#define CONFIG_TNK
#ifdef CONFIG_NET_STMMAC
#define STMMAC_GMACADDR (0x101c0000)
#define STMMAC_DMAADDR (0x101c1000)
#define STMMAC_IOSIZE (0x10000)
#define STMMAC_FRQDIV (0)
#define STMMAC_PHYADDR0 (1) << 表示 phy 地址是 1.
#define STMMAC_PHYADDR1 (2) << 表示 phy 地址是 2.
#define STMMAC_PHYNAME "0:01"
#define STMMAC_RGMII
#define CONFIG_PHY_GIGE
#endif /* CONFIG_NET_STMMAC */
詳細我沒試過哦!
這個是海思給我的
看了這個至少能定位到uboot改動的位置了,但一開始一直在改下 邊 0:01 類似