閱讀835 返回首頁    go 阿裏雲 go 技術社區[雲棲]


hi3531 SDK 編譯 uboot, 修改PHY地址, 修改 uboot 參數 .

一,編譯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 */
具體我沒試過哦!這個是海思給我的


  看了這個至少能定位到uboot修改的位置了,但一開始一直在改下 邊 0:01 類似

最後更新:2017-04-03 07:57:08

  上一篇:go Java程序員也應該知道的係統知識係列之虛擬化
  下一篇:go Mac maven環境變量配置