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跑过内存识别后再插上。。。


猜你喜欢

转载自blog.csdn.net/wadahana/article/details/45132465