ubnt解决方案
查看: 3496|回复: 7

[其它DIY] 第二波:华美MPR-P1修改U-boot代码支持16M+32M

[复制链接]

793

回帖

6069

积分

548 小时

在线时间

中校

注册时间
2014-3-29
金币
5172 个
威望
2 个
荣誉
1 个
累计签到:495 天
连续签到:0 天
[LV.730]常住居民
发表于 2014-8-30 00:31 |显示全部楼层

第一波硬件图片请看:http://www.anywlan.com/thread-329110-1-1.html
其实很简单的一个修改加编译过程,只说方法

这个板子上自带的是4M+16M配置,连上TTL之后打印:
U-Boot 1.1.8 (Mar 13 2012 - 16:24:24)

Board: Ralink APSoC DRAM:  16 MB
relocate_code Pointer at: 80fb0000
spi_wait_nsec: 42
spi device id: ef 40 16 0 0 (40160000)
find flash: W25Q32BV
raspi_read: from:30000 len:1000
.*** Warning - bad CRC, using default environment

============================================
Ralink UBoot Version: 3.6.0.0
--------------------------------------------
ASIC 5350_MP (Port5<->None)
DRAM_CONF_FROM: Boot-Strapping
DRAM_TYPE: SDRAM
DRAM_SIZE: 128 Mbits
DRAM_WIDTH: 16 bits
DRAM_TOTAL_WIDTH: 16 bits
TOTAL_MEMORY_SIZE: 16 MBytes
Flash component: SPI Flash
Date:Mar 13 2012  Time:16:24:24
============================================
............

............
红色部分就是原来的配置,更换16M+32M之后,TTL打印时,以上两个信息均不正常,一个不识别的Flash和只识别32M内存的前16M
修改代码和硬件,使之可以支持这个配置。修改方法和用到的工具:
1、Ubuntu12.04,做编译环境。可以用虚拟机。
2、下载Ralink提供的SDK,版本就用这个打印提到的Ralink UBoot Version: 3.6.0.0,百度,或在坛子里找找,是有的。

ubuntu下解压SDK,里面带有编译器,解压那个已经编译好的,如果不能运行,解压那个源代码的自行编译安装
解压命令  
              tar  -jxvf  xxxx文件名   
然后进入Uboot目录,运行
              make   menuconfig
弹出一个Uboot的配置界面(瞬间高大上的赶脚)
第一项是编译器的路径,就是刚才解压的编译器在哪。
第二项是芯片类型,就一种直接选。
第三项是芯片型号,当然是RT5350
第四项内存大小,选256Mb,就是换上去的32MB。
后面的都不要选,留空,我试过了,有的不太好使,感兴趣的也可以试试。
然后退出,保存。
执行             make
不要用-j 参数,因为我试过,没有生成想要的文件
如果使用了make -j 2/3/4,完了还要在make一次,才会生成烧写flah的uboot.img,注意不是使用uboot .bin

此时还没有修改代码,我就直接点吧,既然是支持Flash,那么肯定是驱动不完善
进入目录cd   Uboot/drivers/
可以看到文件spi_flash.c,可以找到支持flash列表:
static struct chip_info chips_data [] = {
        /* REVISIT: fill in JEDEC ids, for parts that have them */
        { "AT25DF321",                0x1f, 0x47000000, 64 * 1024, 64,  0 },
        { "AT26DF161",                0x1f, 0x46000000, 64 * 1024, 32,  0 },
        { "FL016AIF",                0x01, 0x02140000, 64 * 1024, 32,  0 },
        { "FL064AIF",                0x01, 0x02160000, 64 * 1024, 128, 0 },
        { "MX25L1605D",                0xc2, 0x2015c220, 64 * 1024, 32,  0 },
        { "MX25L3205D",                0xc2, 0x2016c220, 64 * 1024, 64,  0 },
        { "MX25L6405D",                0xc2, 0x2017c220, 64 * 1024, 128, 0 },
        { "MX25L12805D",        0xc2, 0x2018c220, 64 * 1024, 256, 0 },
#ifdef MX_4B_MODE
        { "MX25L25635E",        0xc2, 0x2019c220, 64 * 1024, 512, 1 },
#endif
        { "S25FL128P",                0x01, 0x20180301, 64 * 1024, 256, 0 },
        { "S25FL129P",                0x01, 0x20184D01, 64 * 1024, 256, 0 },
        { "S25FL032P",                0x01, 0x02154D00, 64 * 1024, 64,  0 },
        { "S25FL064P",                0x01, 0x02164D00, 64 * 1024, 128, 0 },
        { "EN25F16",                0x1c, 0x31151c31, 64 * 1024, 32,  0 },
        { "EN25F32",                0x1c, 0x31161c31, 64 * 1024, 64,  0 },
        { "EN25F64",                0x1c, 0x20171c20, 64 * 1024, 128,  0 }, //EN25P64
        { "EN25Q64",            0x1c, 0x30171c30, 64 * 1024, 128,  0 },
        { "W25Q32BV",                0xef, 0x40160000, 64 * 1024, 64,  0 }, //S25FL032K
        { "W25Q64BV",                0xef, 0x40170000, 64 * 1024, 128,  0 }, //S25FL064K
        { "W25Q128BV",                0xef, 0x40180000, 64 * 1024, 256,  0 },
};

蓝色是原厂flash大小,红色是我加的一行意义就是:芯片名字、厂家代号、芯片ID,刷新块大小,总块数,0不知道是什么
这个数据可以从华邦的芯片手册获得。修改之后,退出,编译,就获得16M+32M的uboot了

但是问题是,居然仍然不能识别32M内存,经过一番努力,找了一些资料:

看到方案原理图启动配置有内存配置,不知道是设计人员的恶搞,还是RT5350F原本就要配置一下管脚电平才能识别32M
再借用别人发的一张华美MPR-A2的改法,蓝色框的电阻换到下方红色位置:


如此一改,再上电,可以看到16M的flash和32M内存均识别出来了:
U-Boot 1.1.3 (Aug 15 2014 - 23:35:13)

Board: Ralink APSoC DRAM:  32 MB
relocate_code Pointer at: 81fb4000
spi_wait_nsec: 42
spi device id: ef 40 18 0 0 (40180000)
find flash: W25Q128BV
raspi_read: from:30000 len:1000
.*** Warning - bad CRC, using default environment

============================================
Ralink UBoot Version: 3.6.0.0
--------------------------------------------
ASIC 5350_MP (Port5<->None)
DRAM_CONF_FROM: Boot-Strapping
DRAM_TYPE: SDRAM
DRAM_SIZE: 256 Mbits
DRAM_WIDTH: 16 bits
DRAM_TOTAL_WIDTH: 16 bits
TOTAL_MEMORY_SIZE: 32 MBytes
Flash component: SPI Flash
Date:Aug 15 2014  Time:23:35:13
============================================

。。。。。。。

本来准备再加一个WEB升级界面的,但高openwrt的固件搞死我了,还没有时间整这个,下一个帖子整一下也不错
现在16M的openwrt固件已经跑起来了,我正在使用改过的MPR-P1发帖子..
后天发固件,今天没还没整理好,是网盘才能发吗?第一次,以前没搞过......


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x

点评

图挂了  发表于 2014-8-30 08:22
----------------------

4894

回帖

1万

积分

466 小时

在线时间

上校

灌水天才

注册时间
2013-5-30
金币
8952 个
威望
101 个
荣誉
1 个
累计签到:329 天
连续签到:0 天
[LV.365]无线熟人
发表于 2014-8-30 06:41 |显示全部楼层
路过,,,,帮顶!
回复

使用道具 举报

495

回帖

2664

积分

556 小时

在线时间

少校

注册时间
2013-1-4
金币
2052 个
威望
2 个
荣誉
1 个
累计签到:350 天
连续签到:0 天
[LV.365]无线熟人
发表于 2014-8-30 07:25 |显示全部楼层
技术帝   顶了
回复

使用道具 举报

151

回帖

1243

积分

165 小时

在线时间

上尉

注册时间
2010-4-1
金币
1042 个
威望
2 个
荣誉
1 个
累计签到:87 天
连续签到:0 天
[LV.100]试剑无线
发表于 2014-8-30 07:45 |显示全部楼层
这个路由怎么样?第一次听说
回复

使用道具 举报

793

回帖

6069

积分

548 小时

在线时间

中校

注册时间
2014-3-29
金币
5172 个
威望
2 个
荣誉
1 个
累计签到:495 天
连续签到:0 天
[LV.730]常住居民
发表于 2014-8-30 09:32 |显示全部楼层
antren 发表于 2014-8-30 07:45
这个路由怎么样?第一次听说

我只是找一个RT5350F的,带USB的板子玩玩,刚好发现这个可以,就整理一个,后来发现挺多都有这个配置
----------------------
回复

使用道具 举报

154

回帖

557

积分

179 小时

在线时间

中尉

注册时间
2014-4-29
金币
367 个
威望
0 个
荣誉
0 个
累计签到:10 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2014-11-13 00:14 |显示全部楼层
您好,能给个单独的UBOOT连接吗?谢谢
回复

使用道具 举报

793

回帖

6069

积分

548 小时

在线时间

中校

注册时间
2014-3-29
金币
5172 个
威望
2 个
荣誉
1 个
累计签到:495 天
连续签到:0 天
[LV.730]常住居民
发表于 2014-11-13 00:36 |显示全部楼层
ALinor 发表于 2014-11-13 00:14
您好,能给个单独的UBOOT连接吗?谢谢

16M编程器的要不要?
----------------------
回复

使用道具 举报

22

回帖

80

积分

4 小时

在线时间

新兵上阵

注册时间
2014-8-14
金币
58 个
威望
0 个
荣誉
0 个
累计签到:1 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2014-11-14 11:49 |显示全部楼层
葬心如葬花,埋似水年华。掩了隔窗纱,隔了月中牙。 青丝换白发, 不过人生一间刹那。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

Archiver | 手机版 | 无线门户 ( 粤ICP备11076993号|粤公网安备44010602008359号 ) |网站地图

GMT+8, 2026-4-16 11:45

返回顶部 返回列表