G-cluster의 플래시 메모리 주소 맵
온보드 칩:
나중에 860113 502 130129로 표시되는 수수께끼 WiFiChip이 있지만 내부 Linux에서 lsmod를 사용하면
ath6kl_sdio 177554 0
mac80211 205075 0
cfg80211 158436 2 ath6kl_sdio,mac80211
compat 14631 3 ath6kl_sdio,mac80211,cfg80211
와 나오므로, Atheros AR6103 라든지 거기 힘든입니다.
시리얼 TTY
dlink/kernel-patch/nand.c 등에서 다음과 같이 조사.
offset
크기
이름
이름
쓰기
+0x0000000
128K
miniloader
mtd3
writable
+0x0020000
512K
u-boot1
mtd4
read only
+0x00A0000
512K
u-boot2
mtd5
read only
+0x0120000
128K
nvram_factory
mtd6
read only
+0x0140000
256K
marlin
mtd7
writable
+0x0180000
128K
factory_hdr
mtd8
read only
+0x01A0000
128K
factory_bak_hdr
mtd9
read only
+0x01C0000
256K
kernel_hdr
mtd10
read only
+0x0200000
2M
splash
mtd11
read only
+0x0400000
32M
factory
mtd12
read only
"Factory File System":backup of mtd14?
+0x2400000
32K
커널
mtd13
read only
+0x2408000
56.5M
파일시스템
mtd14
read only
+0x5C88000
3M
blob
mtd15
writtable
+0x5F88000
나머지 전부?
reserve
mtd16
read only
+0x0000000
모두?
full
mtd17
writable
mtd 디바이스의 매핑은 기동 모드등으로 다소 변경이 있는 것 같다.
dlink/kernel-patch/nand.c에서 정의 부분을 발췌
static struct mtd_partition cnc_nand_partitions[] = {
{
.name = "miniloader",
.offset = 0,
.size = SZ_128K,
.mask_flags = MTD_WRITEABLE,
}, {
.name = "u-boot1",
.offset = MTDPART_OFS_APPEND,
.size = SZ_512K,
.mask_flags = 0,/*Read only*/
}, {
.name = "u-boot2",
.offset = MTDPART_OFS_APPEND,組み込み
.size = SZ_512K,
.mask_flags = 0,
}, {
.name = "nvram_factory",
.offset = MTDPART_OFS_APPEND,
.size = SZ_128K,
.mask_flags = 0,/*Read only*/
}, {
.name = "marlin",
.offset = MTDPART_OFS_APPEND,
.size = SZ_256K,
.mask_flags = MTD_WRITEABLE,
}, {
.name = "factory_hdr",
.offset = MTDPART_OFS_APPEND,
.size = SZ_128K,
.mask_flags = 0,
}, {
.name = "factory_bak_hdr",
.offset = MTDPART_OFS_APPEND,
.size = SZ_128K,
.mask_flags = 0,
}, {
.name = "kernel_hdr",
.offset = MTDPART_OFS_APPEND,
.size = SZ_256K,
.mask_flags = 0,
}, {
.name = "splash",
.offset = MTDPART_OFS_APPEND,
.size = SZ_2M,
.mask_flags = 0,
}, {
.name = "factory",
.offset = MTDPART_OFS_APPEND,
.size = SZ_32M,
.mask_flags = 0,
}, {
.name = "kernel",
.offset = MTDPART_OFS_APPEND,
.size = SZ_32M,
.mask_flags = 0,
}, {
.name = "filesystem",
.offset = MTDPART_OFS_APPEND,
.size = SZ_48M + SZ_8M + SZ_512K,
.mask_flags = 0,
}, {
.name = "blob",
.offset = MTDPART_OFS_APPEND,
.size = SZ_2M + SZ_1M,
.mask_flags = MTD_WRITEABLE,
}, {
.name = "reserve",
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL,
.mask_flags = 0,
}, {
.name = "full",
.offset = 0,
.size = MTDPART_SIZ_FULL,
.mask_flags = MTD_WRITEABLE,
}
};
cf., cat/proc/mtd
dev: size erasesize name
mtd0: 0000c000 00001000 "miniloader"
mtd1: 00002000 00001000 "uboot-env1"
mtd2: 00002000 00001000 "uboot-env2"
mtd3: 00020000 00020000 "miniloader"
mtd4: 00080000 00020000 "u-boot1"
mtd5: 00080000 00020000 "u-boot2"
mtd6: 00020000 00020000 "nvram_factory"
mtd7: 00040000 00020000 "marlin"
mtd8: 00020000 00020000 "factory_hdr"
mtd9: 00020000 00020000 "factory_bak_hdr"
mtd10: 00040000 00020000 "kernel_hdr"
mtd11: 00200000 00020000 "splash"
mtd12: 02000000 00020000 "factory"
mtd13: 02000000 00020000 "kernel"
mtd14: 03880000 00020000 "filesystem"
mtd15: 00300000 00020000 "blob"
mtd16: 00080000 00020000 "reserve"
mtd17: 08000000 00020000 "full"
기타
U-boot로 표시되는 로고 저장 위치? 4400000에서 1c2010 바이트
워크샵용으로 다시 작성된 펌웨어의 U-boot에서 시작 주소
bootm_image=nand read ${RAM} 2400000 18e0000; bootm ${RAM}
Reference
이 문제에 관하여(G-cluster의 플래시 메모리 주소 맵), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nanbuwks/items/e45fb0af04176111a84e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
static struct mtd_partition cnc_nand_partitions[] = {
{
.name = "miniloader",
.offset = 0,
.size = SZ_128K,
.mask_flags = MTD_WRITEABLE,
}, {
.name = "u-boot1",
.offset = MTDPART_OFS_APPEND,
.size = SZ_512K,
.mask_flags = 0,/*Read only*/
}, {
.name = "u-boot2",
.offset = MTDPART_OFS_APPEND,組み込み
.size = SZ_512K,
.mask_flags = 0,
}, {
.name = "nvram_factory",
.offset = MTDPART_OFS_APPEND,
.size = SZ_128K,
.mask_flags = 0,/*Read only*/
}, {
.name = "marlin",
.offset = MTDPART_OFS_APPEND,
.size = SZ_256K,
.mask_flags = MTD_WRITEABLE,
}, {
.name = "factory_hdr",
.offset = MTDPART_OFS_APPEND,
.size = SZ_128K,
.mask_flags = 0,
}, {
.name = "factory_bak_hdr",
.offset = MTDPART_OFS_APPEND,
.size = SZ_128K,
.mask_flags = 0,
}, {
.name = "kernel_hdr",
.offset = MTDPART_OFS_APPEND,
.size = SZ_256K,
.mask_flags = 0,
}, {
.name = "splash",
.offset = MTDPART_OFS_APPEND,
.size = SZ_2M,
.mask_flags = 0,
}, {
.name = "factory",
.offset = MTDPART_OFS_APPEND,
.size = SZ_32M,
.mask_flags = 0,
}, {
.name = "kernel",
.offset = MTDPART_OFS_APPEND,
.size = SZ_32M,
.mask_flags = 0,
}, {
.name = "filesystem",
.offset = MTDPART_OFS_APPEND,
.size = SZ_48M + SZ_8M + SZ_512K,
.mask_flags = 0,
}, {
.name = "blob",
.offset = MTDPART_OFS_APPEND,
.size = SZ_2M + SZ_1M,
.mask_flags = MTD_WRITEABLE,
}, {
.name = "reserve",
.offset = MTDPART_OFS_APPEND,
.size = MTDPART_SIZ_FULL,
.mask_flags = 0,
}, {
.name = "full",
.offset = 0,
.size = MTDPART_SIZ_FULL,
.mask_flags = MTD_WRITEABLE,
}
};
dev: size erasesize name
mtd0: 0000c000 00001000 "miniloader"
mtd1: 00002000 00001000 "uboot-env1"
mtd2: 00002000 00001000 "uboot-env2"
mtd3: 00020000 00020000 "miniloader"
mtd4: 00080000 00020000 "u-boot1"
mtd5: 00080000 00020000 "u-boot2"
mtd6: 00020000 00020000 "nvram_factory"
mtd7: 00040000 00020000 "marlin"
mtd8: 00020000 00020000 "factory_hdr"
mtd9: 00020000 00020000 "factory_bak_hdr"
mtd10: 00040000 00020000 "kernel_hdr"
mtd11: 00200000 00020000 "splash"
mtd12: 02000000 00020000 "factory"
mtd13: 02000000 00020000 "kernel"
mtd14: 03880000 00020000 "filesystem"
mtd15: 00300000 00020000 "blob"
mtd16: 00080000 00020000 "reserve"
mtd17: 08000000 00020000 "full"
U-boot로 표시되는 로고 저장 위치? 4400000에서 1c2010 바이트
워크샵용으로 다시 작성된 펌웨어의 U-boot에서 시작 주소
bootm_image=nand read ${RAM} 2400000 18e0000; bootm ${RAM}
Reference
이 문제에 관하여(G-cluster의 플래시 메모리 주소 맵), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nanbuwks/items/e45fb0af04176111a84e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)