日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

linux內(nèi)核 mtd分區(qū)

 路人甲Java 2022-08-03 發(fā)布于北京

首先

內(nèi)核配置需要打開MTD選項

Memory Technology Devices (MTD)  --->

如果是NOR Flash,需要選擇Common Flash Interface (CFI)相關(guān)的選項;而且需要配置映射首地址(和uboot中配置的flash首地址一致)、映射地址大小和位寬

<*> CFI Flash device in physical memory map
(0xff800000) Physical start address of flash mapping
(0x2000000) Physical length of flash mapping
(2)   Bank width in octets 

如果是NAND Flash,需要選擇NAND Flash相關(guān)的選項

修改內(nèi)核文件
linux-2.6.15.b/drivers/mtd/maps/physmap.c

//linux
#define FLASH_PARTITION1_ADDR 0x00000000		//偏移地址
#define FLASH_PARTITION1_SIZE 0x001C0000		//大小

//ramdisk
#define FLASH_PARTITION2_ADDR 0x001C0000
#define FLASH_PARTITION2_SIZE 0x00240000

//ramdisk reserve
#define FLASH_PARTITION3_ADDR 0x00400000
#define FLASH_PARTITION3_SIZE 0x00380000

//uboot Environment
#define FLASH_PARTITION4_ADDR 0x00780000
#define FLASH_PARTITION4_SIZE 0x00020000

//uboot
#define FLASH_PARTITION0_ADDR 0x007A0000
#define FLASH_PARTITION0_SIZE 0x00060000

static struct mtd_partition mtd_parts[] = {
        {
                .name =         "Bootloader",
                .offset =       FLASH_PARTITION0_ADDR,
                .size =         FLASH_PARTITION0_SIZE
        },
        {
                .name =         "Kernel image",
                .offset =       FLASH_PARTITION1_ADDR,
                .size =         FLASH_PARTITION1_SIZE
        },
        {
                .name =         "Initial ramdisk image",
                .offset =       FLASH_PARTITION2_ADDR,
                .size =         FLASH_PARTITION2_SIZE
        },
        {
                .name =         "ramdisk reserve",
                .offset =       FLASH_PARTITION3_ADDR,
                .size =         FLASH_PARTITION3_SIZE
        },
        {
                .name =         "uboot Environment",
                .offset =       FLASH_PARTITION4_ADDR,
                .size =         FLASH_PARTITION4_SIZE
        },
};

#define PARTITION_COUNT (sizeof(mtd_parts)/sizeof(struct mtd_partition))

可參考地址https://blog.csdn.net/wenlifu71022/article/details/4334962

修改分區(qū)方式二

setenv bootargs root=/dev/mtdblock3 rootfstype=yaffs2 mtdparts=hinand:1M(u-boot)ro,64k(u-boot envs),32M(appfs)

 

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多