HLK-RM04模塊升級32MB SDRAM

        HLK-RM04 用的是ESMT的M12L128168A-6T,4Bank x 2M x 16Bits=16MB,對於更新迅速的OpenWRT完全不夠用,Luci 崩潰,啓動wifi 崩潰。 以前搞過IPCam,家裏留了一堆工程機,拆了一塊W9825G6EH換到HLK-RM04上。焊接過程很順利,只是是HLK-RM04的Pin40和Pin41在板上是短在一起的,上電前有點擔心,實際上也沒有問題。



        升級uboot的時候問題就來了,剛開始用的是JiapengLi的uboot256.img, github上能下的uboot 都試驗了一遍,RAM的大小都認成16MB,這個時候燒錄編譯成32M的openWRT固件啓動不來,在內核解壓完Determined physical RAM map的時候就掛掉了,自己編譯了Ralink原廠SDK帶的uboot, 也是一樣的問題。

        遇到這種問題的時候常規的排查步驟就是對照DataSheet和原理圖,查看配置有沒有問題,RT5350的EPHY_LED3_N 和EPHY_LED2_N管腳是用來配置SDRAM大小的,根據這兩個管腳的配置,RT5350啓動後可以通過SYSCFG0(0×1000 0010)讀取到SDRAM的大小,HLK-RM04是配置成EPHY_LED3_N =1(R144 pull-up R146 pull-down), EPHY_LED2_N=0(R24 pull-up R25 pull-down),32MB的配置,這個是沒有問題的

        硬件配置沒問題的情況下,只有對照控制器的寄存器配置這條最後的路子了。在uboot的命令行中讀出SYSCFG0,發現DRAM_SIZE=3(16MB),而 CHIP_MODE=1(iNC-USB mode),對照下原理圖CHIP_MODE是由{SPI_MOSI,TXD2,TXD}來配置的,而我的板子連着串口控制檯,TX/RX都是帶上拉的,問題找到了,解決辦法很簡單,就是上電前拔掉串口的TXD腳,等uboot跑過內存識別後再插上。。。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章