生活随笔
收集整理的這篇文章主要介紹了
嵌入式Linux-IMX6ULL-U-BOOT移植学习总结(二)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
驅動適配
LCD驅動修改 通過查看官方的原理圖對比發現,LCDIO接口都是一樣的,只是使用的屏幕大小不一樣,我們這里使用的1024x600的7寸屏所以需要適配。打開borad/freescale/mx6ull_emmc_alientek_myself/mx6ull_emmc_alientek_myself.c文件,修改為如下圖所示,其中pixclok需要注意,屏幕要求的像素時鐘為51.2MHz,所以pixclokd = (1 / 51200000) * 10^12 = 19531保存文件重新編譯即可網絡驅動修改 通過原理圖可以發現ENET2_RST接在IMX6ULL的SNVS_TAMPER8上,而PHY芯片使用的是LAN8720,其中PHY的期間地址為0X1,所以修改RST硬件IO口配置,和匹配芯片驅動打開include/configs/mx6ull_emmc_alientek_myself.h修改如下圖刪除原來PHY74LV595驅動代碼,并添加REST硬件定義打開borad/freescale/mx6ull_emmc_alientek_myself/mx6ull_emmc_alientek_myself.c文件修改如下添加復位引腳驅動修改phy驅動文件,在drivers/net/phy/phy.c,#ifdef CONFIG_PHY_SMSCstatic int lan8720_flag = 0;int bmcr_reg = 0;if (lan8720_flag == 0) {bmcr_reg = phy_read(phydev, MDIO_DEVAD_NONE, MII_BMCR);phy_write(phydev, MDIO_DEVAD_NONE, MII_BMCR, BMCR_RESET);while(phy_read(phydev, MDIO_DEVAD_NONE, MII_BMCR) & 0X8000) {udelay(100);}phy_write(phydev, MDIO_DEVAD_NONE, MII_BMCR, bmcr_reg);lan8720_flag = 1;
}
#endif 修改完成,重新編譯即可,如果下載進入板子還是異常,重新設置環境IP等數據修改名字 打開borad/freescale/mx6ull_emmc_alientek_myself/mx6ull_emmc_alientek_myself.c文件把板子的名字修改為自己板子的名字如下圖總結 確定板子硬件設備和藍本EVK板子哪些有差異。修改硬件有差異部分,一般就是IO口是否正確或者使用的外設芯片是否正確。最后修改自己的板子名字,至此完成整個u-boot的自己板子移植。
總結
以上是生活随笔為你收集整理的嵌入式Linux-IMX6ULL-U-BOOT移植学习总结(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。