修改IPQ4019/4018的MTD分区

简介

高通的IPQ4018的SoC使用了ARM的CPU,并使用了高通的QSDK.

在开发中发现很难在它的架构中去修改MTD分区信息。

今天就提供一种可以修改MTD分区的方式。

MTD分区信息是如何从Uboot传到linux的,有几种方式?

换一种问法 uboot如何把参数传入linux呢?

cmdline和FTD(设备树)

先讲一下简单的cmdline

Uboot以bootarg命令的方式把cmdline传递给linux内核。内核在启动过程中会读取cmdline中的各个参数,并做相关的处理。

其中一个参数是mtdparts.

mtdparts=ath-nor0:256k(u-boot),64k(u-boot-env),9600k(uImage),5760k(custom),640k(nvram),64k(art),9600k@0x50000(firmware)

mtdparts就是flash的分区信息。Linux按这个信息对flash进行区与区的隔离与读写。

除了uboot以bootarg命令传递cmdline。还有种方式IMAGE_CMDLINE_HACK的特性。这是内核编译选项,打开它后,编译linux系统的.config中配置CONFIG_CMDLINE.这样linux自己带着参数,就可以不麻烦uboot里配置了。

如果用户在uboot里配置了bootarg又在linux里编译了CONFIG_CMDLINE,有两个参数,那系统使用哪一个呢?

这个我没仔细读代码。大家可以自己试一试。

再说设备树的方式

有关设备树的知识比较庞大。大家需要有一个背景知识。高通的IPQ4018就是使用设备树的方式向linux里传入各种参数。

IPQ4019的分区信息的传递过程请见下文

http://blog.csdn.net/wbd880419/article/details/70313865

uboot把系统分区的信息从相应的区块中读取(如上文的nor-system-partition-ipq40xx.bin)。然后再去把信息加工成设备树(或是of_node信息),挂到设备树的上。然后启动linux.

Linux自然就从设备树上读到了分区的信息,解析分区信息的软件模块叫ofparts。

如下图的打印,在ofpart上发现了分区信息。

修改IPQ4019的分区信息的机制

上一节讲到了两种分区信息的传递方式。那么IPQ4019用这种设备树的方式。对我们来说太麻烦了。

但是IPQ4019也是支持IMAGE_CMDLINE_HACK。

我们在内核代码中把ofparts机制关掉,在编译项目中打开IMAGE_CMDLINE_HACK并且配置好CONFIG_CMDLINE就可以了。

具体修改如下:

CONFIG_ATAGS 打开ATAGS功能,linux内核去读取CMDLINE

CONFIG_CMDLINE_FORCE 就是上文的IMAGE_CMDLINE_HACK的替换者。不处理uboot输入的参数。

修改高通IPQ4019/4018的flash的分区相关推荐

  1. 高通机型刷机包的分区解析 了解分区基本常识

    目前国内机型大都常见的一般就是MTK与高通芯片.今天的帖子给友友梦简单说明下高通刷机包中一些分区的作用和说明.了解分区基本常识  有些分区只是个人对其的理解.可能不是那么贴切.请不要在意 NON-HL ...

  2. 高通Android平台硬件调试之Camera篇

    之前一段时间有幸在高通android平台上调试2款camera sensor,一款是OV的5M YUV sensor,支持jpeg out,同时也支持AF,调试比较比较简单,因为别的项目已经在使用了, ...

  3. 高通平台 mipi转接屏调试 (以转lvds icn6202例)

    mipi to lvds显示调试 调试前准备: 获取屏的规格书 获悉的关键信息 VDD 需要 3.3v RST 3.3v 拉低进 rst LVDS 4 组数据 差分信号,clk 一组差分信号 SELB ...

  4. 修改IPQ4019/4018的MTD分区

    简介 高通的IPQ4018的SoC使用了ARM的CPU,并使用了高通的QSDK. 在开发中发现很难在它的架构中去修改MTD分区信息. 今天就提供一种可以修改MTD分区的方式. MTD分区信息是如何从U ...

  5. qca9535 tftp32 刷机_20151210编译高通的qca9531的wireless版本 修改版本4

    20151210编译高通的qca9531的wireless版本 修改版本4 2015/11/12 10:40 (1).安装ubuntu(推荐安装的时候拔掉网线,这样装得快!有些库从国外的网站下载还是很 ...

  6. 又见高通板子flash分区问题。

    高通的4028芯片. 板子是:IPQ40xx/AP-DK01.1-C2 Uboot可能见到128Mflash linux系统只看到64M ,见下图的mtd8 看到uboot代码,bootipq命令的过 ...

  7. 高通android平台修改开机小企鹅logo

    高通平台修改开机画面 小企鹅LOGO 高通android平台修改开机小企鹅logo 方法一 方法二 高通android平台修改开机小企鹅logo 高通android平台开机lk阶段默认使用小企鹅log ...

  8. 高通qca9565网卡驱动_修改注册表让Surface Go的无线网卡支持频段选择

    我的Surface Go是第一代无LTE版本,无线网卡型号是Qualcomm Atheros QCA61x4A,因为一些原因急需优先选择5GHz频段wifi的功能,因此写下本文. 本文的解决方案仅能保 ...

  9. 【Qualcomm】浏览器无法登录高通网站的修改方法

    高通网站无法登陆修改方法: 打开web浏览器输入: stepup.qualcomm.com或qualcomm-cdmatech-support.my.salesforce.com访问高通业务. 1.浏 ...

  10. 高通芯片联机读取修改串码 meid ESN wifi 蓝牙 sn等参数的操作解析{二}

    上次我发了几个相关联机读写参数的帖子.很多友友询问有没有其他相关软件来解读参数的教程.今天就来个续集来解析参数读写 关于安卓机型写串码 改串码 端口开启和基带qcn等一些经验 高通联机修改IMEI等参 ...

最新文章

  1. 发改委最新《产业结构调整目录》公布!数据中心列入鼓励产业条目
  2. JS判断数字字母中文
  3. ios加速计(可以用来检测摇动,自定义反应灵敏度)
  4. Winfrom窗体应用程序___DataGridView
  5. Asp.net中的时区
  6. python attention机制_从零开始学Python自然语言处理(26)—— 强大的Attention机制...
  7. [SDOI2006]线性方程组 高斯消元
  8. 2017-2018-2 20179215《密码与安全新技术》第七周作业
  9. Codeigniter开发技巧:连接多个数据库(可实现DB读写分离)
  10. #Linux学习笔记# Linux系统查看文件内容的命令
  11. python3计算运行时间_性能分析之代码运行时间计算——Python timeit 模块 介绍
  12. chrome(谷歌浏览器)固定到任务栏,点击之后出现两个图标-原因及解决办法
  13. 安防意识增强 澳洲迈向新发展
  14. 笔记:《高效能人士的七个习惯》第五章 习惯三 要事第一——自我管理的原则
  15. 提高医疗信息化或是解决看病难看病贵的有效助剂
  16. 小新pro13睡眠后无法唤醒_东芝笔记本睡眠后无法唤醒怎么办
  17. 毕业三周年,又一个离别季
  18. 霍兰德人格分析雷达图
  19. 一个遮罩层怎么遮罩两个图层_premiere遮罩功能在哪儿_怎么在视频中加遮罩图层_遮罩图层制作教程详解...
  20. 软件工程网络15团队作业1——团队组队展示

热门文章

  1. 堆排序代码详解(Java实现)
  2. shell脚本编程基础(三)
  3. java程序员的基本修养_疯狂Java程序员的基本修养 (李刚著) pdf扫描版[63MB]
  4. VOSviewer使用方法(详细便捷)附下载网址
  5. java毕业设计校园博客系统mybatis+源码+调试部署+系统+数据库+lw
  6. Genius‘s Gambit【学习进度条1】
  7. [转]Go语言(golang)开源项目大全
  8. janusgraph源码分析1-下载编译启动
  9. 【Android】雾霾定位探测系统
  10. 使用Tushare库下载股票数据