linux内核 mtd分区
首先
内核配置需要打开MTD选项
Memory Technology Devices (MTD) --->
如果是NOR Flash,需要选择Common Flash Interface (CFI)
相关的选项;而且需要配置映射首地址(和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
相关的选项
修改内核文件
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
linux内核 mtd分区的更多相关文章
- u-boot中分区和内核MTD分区关系
一.u-boot中环境变量与uImage中MTD的分区关系 分区只是内核的概念,就是说A-B地址放内核,C-D地址放文件系统,(也就是规定哪个地址区间放内核或者文件系统)等等. 一般我们只需要分3-4 ...
- uboot环境变量与内核MTD分区关系
uboot 与系统内核中MTD分区的关系: 分区只是内核的概念,就是说A-B地址放内核,C-D地址放文件系统,(也就是规定哪个地址区间放内核或者文件系统)等等. 1:在内核MTD中可以定义分区A~B, ...
- linux 对MTD分区nand flash的烧写和读取
使用mtd-utils工具实现对flash的升级分区的烧写yaffs2 yaffs2的格式是根据所使用的nandflash来制作的,不同的nandflash,得到的yaffs2是不一样的,具体可以参考 ...
- 关于NAND flash的MTD分区与uboot中分区的理解
关于NAND flash的MTD分区与uboot中分区的理解 转自:http://blog.csdn.net/yjp19871013/article/details/6933455?=40085044 ...
- 第3阶段——内核启动分析之prepare_namespace()如何挂载根文件系统和mtd分区介绍(6)
内核启动并初始化后,最终目的是像Windows一样能启动应用程序,在windows中每个应用程序都存在C盘.D盘等,而linux中每个应用程序是存放在根文件系统里面,那么挂载根文件系统在哪里,怎么实现 ...
- linux内核中mtd架构分析
一. 引言 MTD(memory technology device内存技术设备)是用于访问memory设备(RAM.ROM.flash)的Linux的子系统.MTD的主要目的是为了使新的memory ...
- /proc/mtd 各参数的含义 -- linux内核
经/proc虚拟文件系统读取MTD分区表:cat /proc/mtd mtd .name = raspi, .size = 0x00400000 (4M) .erasesize = 0x0001000 ...
- Linux内核启动过程概述
版权声明:本文原创,转载需声明作者ID和原文链接地址. Hi!大家好,我是CrazyCatJack.今天给大家带来的是Linux内核启动过程概述.希望能够帮助大家更好的理解Linux内核的启动,并且创 ...
- 内核移植和文件系统制作(2):linux内核最小系统和initramfs文件系统
linux内核最小系统,使用内核版本:https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.8.1.tar.bz2 1,FL2440板子的基本硬件: ...
随机推荐
- Python菜鸟文本处理4种方法
自从认识了python这门语言,所有的事情好像变得容易了,作为小白,逗汁儿今天就为大家总结一下python的文本处理的一些小方法. 话不多说,代码撸起来. python大小写字符互换 在进行大小写互换 ...
- 「SAP技术」已启用质检物料创建PO时候'STOCK TYPE'没有默认为X?
「SAP技术」 SAP MM 已启用质检物料创建PO时候'STOCK TYPE'没有默认为X? Part I:SAP 标准行为 1, 物料11002335, QM视图里 01 inspection t ...
- Android8.1 源码修改之通过黑名单屏蔽系统短信功能和来电功能
前言 之前写过一篇Android6.0 的屏蔽系统短信功能和来电功能,具体看这里 同样的最近有个新需求,需要将8.1 设备的来电功能和短信功能都屏蔽掉,特殊产品就是特殊定制,那就开始吧. 屏蔽短信功能 ...
- ABP入门教程4 - 初始化运行
点这里进入ABP入门教程目录 编译解决方案 重新生成解决方案,确保生成成功. 连接数据库 打开JD.CRS.Web.Host / appsettings.json,修改数据库连接设置Connectio ...
- CSAPP 2-1 - 信息的存储
目录 0 基础概念及摘要 1 信息存储 1.1 十六进制表示法 1.2 字数据大小 1.3 寻址和字节顺序 0 基础概念及摘要 (1) 基础概念: 现代计算机存储和处理的信息以二进制信号表示 -- 0 ...
- Flask报如下错误:SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True or False to suppress this warning.
在同一个项目中由于flask_sqlalchemy版本不同,有时会报如下错误 错误信息如下: flask_sqlalchemy\__init__.py:: UserWarning: SQLALCHEM ...
- springmvc的入门
1. 什么是springMVC? Spring Web MVC是一种基于Java的实现了MVC设计模式的.请求驱动类型的.轻量级Web框架. 2. SpringMVC处理请求的流程 2.1 首先用户发 ...
- JSON格式日期的转换
扒来的链接: https://blog.csdn.net/zhang33565417/article/details/99676975 感谢这位哥们儿的分享!
- Java之Scanner类
Scanner类概述 一个可以解析基本类型和字符串的简单文本扫描器.简而言之,Scanner类的功能:可以实现键盘输入数据,到程序当中. 例如,以下代码使用户能够从 System.in 中读取一个数. ...
- vue-cil3 运行报错 --- warnings potentially fixable with the `--fix` option
warnings potentially fixable with the `--fix` option. 将一下部分:"lint": "vue-cli-service ...