找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 1198|回复: 3

[求教]关于PADAVAN编译时候NAND大小参数如何设置的问题

[复制链接]
发表于 2020-4-11 20:12 | 显示全部楼层 |阅读模式
本帖最后由 expop 于 2020-4-11 20:14 编辑

小弟手里有一台MTK7621+256MB NAND+512MB RAM+32G SSD(MSATA)+USB2+USB3的路由器。实际上硬件跟极路由B70一样。内存是极路由两倍,NAND也是两倍。另外有MSATA接口。

目前已经解决了BREED的引导问题,但开始思考如何编译PADAVAN固件,却又遇到一个NAND方面参数设置的问题。因为硬件芯片基本上出来存储有差异,其他无线芯片都一致,我复制了一份B70的模板文件进行修改:

内存部分,已经从256MB修改成512MB

# CONFIG_RT2880_DRAM_16M is not set
# CONFIG_RT2880_DRAM_32M is not set
# CONFIG_RT2880_DRAM_64M is not set
# CONFIG_RT2880_DRAM_128M is not set
# CONFIG_RT2880_DRAM_256M is not set
CONFIG_RT2880_DRAM_512M=y
CONFIG_RALINK_RAM_SIZE=512

# CONFIG_RT2880_UART_57600 is not set
CONFIG_RT2880_UART_115200=y
CONFIG_RALINK_UART_BRATE=115200


可是NAND部分的分区的16进制参数让我迷惑了,B70是128MB的NAND,我手里这台机子是256MB的NAND,我提取了源路由器的MTD信息,但部分信息无法对上。百度相关资料也不太多。麻烦请大神们给小弟点指点,在此感激涕零。

# Ralink MTD support  BY HIWIFI B70
#
CONFIG_MTD_RALINK=y
# CONFIG_MTD_SPI_RALINK is not set
CONFIG_MTD_NAND_MTK=y
CONFIG_RT2880_FLASH_AUTO=y
CONFIG_RT2880_MTD_PHYSMAP_START=0x1FC00000
CONFIG_RT2880_MTD_PHYSMAP_LEN=0x0400000
CONFIG_RT2880_MTD_PHYSMAP_BUSWIDTH=2
# CONFIG_RT2880_ROOTFS_IN_RAM is not set
CONFIG_RT2880_ROOTFS_IN_FLASH=y
CONFIG_ROOTFS_IN_FLASH_NO_PADDING=y
# CONFIG_MTD_NAND_USE_UBI_PART is not set
# CONFIG_MTD_CONFIG_PART_BELOW is not set
CONFIG_MTD_BOOTLOADER_PART_SIZ=0x0040000
CONFIG_MTD_BOOTENV_PART_SIZ=0x0040000
CONFIG_MTD_CONFIG_PART_SIZ=0x0080000
CONFIG_MTD_FACTORY_PART_SIZ=0x0040000
CONFIG_MTD_FIRMWARE_PART_SIZ=0x2000000
CONFIG_MTD_STORE_PART_SIZ=0x0400000
# CONFIG_PARPORT is not set


目标路由器分区表信息:

root@Hiwifi:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00080000 00020000 "u-boot"
mtd1: 00080000 00020000 "debug"
mtd2: 00040000 00020000 "Factory"
mtd3: 02000000 00020000 "firmware"
mtd4: 00160000 00020000 "kernel"
mtd5: 01ea0000 00020000 "rootfs"
mtd6: 00080000 00020000 "hw_panic"
mtd7: 00080000 00020000 "bdinfo"
mtd8: 00080000 00020000 "backup"
mtd9: 01000000 00020000 "overlay"
mtd10: 02000000 00020000 "firmware_backup"
mtd11: 00200000 00020000 "oem"
mtd12: 0aac0000 00020000 "opt"


只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2020-4-21 20:14 | 显示全部楼层
本帖最后由 237176253 于 2020-4-21 20:17 编辑

主要是factory和kernel分区要对齐。你这个定义下CONFIG_MTD_CONFIG_PART_BELOW=y
然后保证下面三个是这样就行,FIRMWARE要稍微大点。
CONFIG_MTD_BOOTLOADER_PART_SIZ=0x0080000
CONFIG_MTD_BOOTENV_PART_SIZ=0x0080000
CONFIG_MTD_FACTORY_PART_SIZ=0x2040000

只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2020-4-21 20:14 | 显示全部楼层
另外还有两个参数我不懂,如果你不正常的话顺便改成这两个
CONFIG_RT2880_MTD_PHYSMAP_START=0x1C000000
CONFIG_RT2880_MTD_PHYSMAP_LEN=0x1000000
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2021-9-29 15:50 | 显示全部楼层
237176253 发表于 2020-4-21 20:14
另外还有两个参数我不懂,如果你不正常的话顺便改成这两个
CONFIG_RT2880_MTD_PHYSMAP_START=0x1C000000
...

这两项源代码里有写。位置在trunk/linux-3.4.x/drivers/mtd/ralink/Kconfig。

config  RT2880_MTD_PHYSMAP_START
        hex
        default 0xBF000000 if RALINK_RT3052
        default 0x1FC00000 if RALINK_MT7621
        default 0x1C000000 if !RALINK_RT3052

config RT2880_MTD_PHYSMAP_LEN
        hex
        default 0x0400000 if RALINK_MT7621
        default 0x1000000 if !RALINK_MT7621
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-9-23 05:17

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表