11.3 jz2440.h 中的剩余宏移植

11.3.1 CONFIG_SYS_TEXT_BASE

  CONFIG_SYS_TEXT_BASE:设置系统代码段的基地址,设为 0x0;menuconfig 中已经有了此宏,可以去掉。

11.3.2 CONFIG_SYS_GENERIC_BOARD

  这个宏的作用是让每块板子加入自己的配置文件,具体可以查看文档 doc/README.generic-board

  这个不需要移植

11.3.3 CONFIG_DOS_PARTITION

  DOS 分区,我们不需要,删除掉,这个已经在 menuconfig 中可配

11.3.4 CONFIG_BAUDRATE

  可配置,删除

11.3.5 BOOTP options

  BOOTP(Bootstrap Protocol,引导程序协议)是一种引导协议,基于IP/UDP协议,也称自举协议,是DHCP协议的前身。BOOTP用于无盘工作站的局域网中,可以让无盘工作站从一个中心服务器上获得IP地址。通过BOOTP协议可以为局域网中的无盘工作站分配动态IP地址,这样就不需要管理员去为每个用户去设置静态IP地址。

  若我们开启了网卡,可以开启bootp

  • CONFIG_BOOTP_BOOTFILESIZE:menuconfig 中无法配置,保持原状
  • CONFIG_BOOTP_BOOTPATH:可直接在 menuconfig 中配置
  • CONFIG_BOOTP_GATEWAY:可直接在 menuconfig 中配置
  • CONFIG_BOOTP_HOSTNAME:可直接在 menuconfig 中配置

11.3.6 Command line configuration

  • CONFIG_CMD_BSP:此命令被遗弃,若是需要,则为每一个命令定义一个Kconfig选项即可,但是现在仍然在menuconfig存在,打开。
  • CONFIG_CMD_CACHE:使能 icache 和 dcache 的宏,可配,打开
  • CONFIG_CMD_DATE:从 RTC 中获取或设置时间和日期,可配,打开
  • CONFIG_CMD_DHCP:通过网络使用 DHCP/TFTP协议启动镜像,可配置,打开
  • CONFIG_CMD_PING:发送 ICMP ECHO_REQUEST 给网络主机,可配置,打开
  • CONFIG_CMD_USB:USB支持,可配置,打开

11.3.7 CONFIG_SYS_HUSH_PARSER

  以前的 uboot 版本对应文件:cmd_exit.c 和 cmd_test.c,当前版本对应文件:exit.c 和 test.c。

  宏被切换成了 CONFIG_HUSH_PARSER:

  

  这个选项使命令行解释器可以使用“hush”shell(来自Busybox),从而启用强大的命令行语法,如if ... then ... else ... fi条件或'&&'和'||' 构造(“shell脚本”)。

  menuconfig 有对应宏。可打开,删除文件中定义。但 uboot 制作启动linux 内核用,可以关闭掉,自己选择

11.3.8 autoboot

  • CONFIG_BOOTDELAY:在自运行 bootcmd 前的延迟,可设置读秒为 5 或其他任意整数。在uboot启动后会倒计时CONFIG_BOOTDELAY,如果没有收到用户的输入则自动去执行宏CONFIG_BOOTCOMMAND中设置的命令

    • 设置为 0,没有延迟的自启动,但是可以通过按键输入停止启动
    • 设置为-1:不使能自启动
    • 设置为-2,没有延迟的自启动,且不可以通过按键中断启动  
  • CONFIG_BOOT_RETRY_TIME:这个就是 uboot 重复尝试启动的特性,如果设置的值为负数,则不使能。在板子头文件中配置的,不需要修改。
  • CONFIG_RESET_TO_RETRY:仅仅当CONFIG_BOOT_RETRY_TIME开启的时候,才使能。在 CONFIG_BOOT_RETRY_TIME 计数超出后,板子将复位重新启动。一样保持默认
  • CONFIG_ZERO_BOOTDELAY_CHECK:在以前版本中的作用为,如果它被定义,则可以通过点击任意键来停止自启动程序,即使 CONFIG_BOOTDELAY 设置为0。
    • 这个宏当前可以用 CONFIG_AUTOBOOT_KEYED 代替,关闭 CONFIG_AUTOBOOT_KEYED 就可以使用任意键来中断自动了,如果打开 CONFIG_AUTOBOOT_KEYED,则是通过特殊的按键和字符串来终止自启动
    • 可以保留也可以删除    

11.3.9 调试设置

  CONFIG_CMD_KGDB:KGDB 调试,设置了此宏后,需要定义 CONFIG_KGDB_BAUDRATE 即串口的调试波特率 115200

  可以删掉此选项,CONFIG_CMD_KGDB 可配置,CONFIG_KGDB_BAUDRATE 则在板子配置文件中加入即可。

11.3.10 杂项设置

  • CONFIG_SYS_CBSIZE:从终端输入的缓存最大大小
  • CONFIG_SYS_PBSIZE:终端输出的缓存的最大大小
  • CONFIG_SYS_MAXARGS:终端接收到的命令参数最大个数
  • CONFIG_SYS_BARGSIZE:启动时候,传递给内核的启动参数的最大缓存
  • CONFIG_SYS_MEMTEST_START:简单内存测试使用的区域的开始地址
  • CONFIG_SYS_MEMTEST_END:简单内存测试使用的区域的结束地址
  • CONFIG_SYS_LOAD_ADDR:这个宏是属于内核启动相关宏,默认加载地址,这个主要是内核下载的地址,如果我们在 tftp 或是 bootcmd 命令中没有指定地址,那么内核就自动加载到此地址。

  这几个宏定义在板子的配置文件中。

11.3.11 压缩方式

  • CONFIG_BZIP2:需要添加进Kconfig 才可见,同样可删除
  • CONFIG_LZO:可配置,直接选中,删除文件即可

  CONFIG_BZIP2 添加:lib/Kconfig

  

11.3.12 环境变量

  • CONFIG_ENV_IS_IN_FLASH:在 flash 中保存环境变量,可配置
  • CONFIG_ENV_SIZE:环境变量大小,可配置,JZ2440 默认为 0x10000 (64KB),JZ2440 在menuconfig 中不可配置

11.3.13 文件系统

  • CONFIG_CMD_EXT2
  • CONFIG_CMD_MTDPARTS
  • CONFIG_MTD_DEVICE
  • CONFIG_MTD_PARTITIONS
  • CONFIG_MTD_PARTITIONS
  • CONFIG_RBTREE

  uboot不需要支持文件系统 全部干掉即可,也在 menuconfig 中可配置

11.4 comm: file 2 is not in sorted order

  uboot 编译最后执行的命令如下:

  

  在 check-config.sh  脚本中,对 u-boot.cfg 进行有序检查,与 ./scripts/cofnig_whitelist.txt 进行对比。

  执行 comm -23 --nocheck-order ${configs} ${whitelist} > ${suspects} 此条命令的时候报错。

  comm 加入 --nocheck-order 可以屏蔽此条错误。

  comm -23 --nocheck-order ${configs} ${whitelist} > ${suspects}

  我对 config_whitelist.txt 进行过重新排序:cat ./scripts/config_whitelist.txt | sort -u -o 1.txt

  之后对比两个文件,发现有很大的不同,不知道 uboot 中是怎么对 config_whitelist.txt 进行排序的,应该不是按照  ASCII 进行排序的

十一、移植优化---CONFIG 优化进 menuconfig(2)的更多相关文章

  1. 十一、移植优化---CONFIG 优化进 menuconfig(1)

    在移植 JZ2440 中,include/configs/jz2440.h 中有很多config 项都是已经在 uboot 的主配置中已经存在了的,这些配置造成了重复,需要优化. 先将原先的 smdk ...

  2. spark优化之优化数据结构

    概序: 要减少内存的消耗,除了使用高效的序列化类库以外,还有一个很重要的事情,就是优化数据结构.从而避免Java语法特性中所导致的额外内存的开销,比如基于指针的Java数据结构,以及包装类型. 有一个 ...

  3. c/c++性能优化--- cache优化的一点杂谈

    之前写了一篇关于c/c++优化的一点建议,被各种拍砖和吐槽,有赞成的有反对的,还有中立的,网友对那篇博客的的评论和吐槽,我一个都没有删掉,包括一些具有攻击性的言论.笔者有幸阅读过IBM某个项目的框架代 ...

  4. [原]Android开发优化-Adapter优化

    ListView作为Android开发中使用频率最高的一个控件,保证ListView的流畅运行,对用户体验的提高至关重要.Adapter是ListView和数据源之间的中间人,当每条数据进入可见区时, ...

  5. SqlServer 数据库引擎优化顾问优化数据库

    现在一直在做的项目,数据量相对也不小,开始的时候没有觉得,因为是刚开始,数据量还很小,在程序使用过程中速度还挺快,但是随着数据量的不停的增长,发现程序越来越慢,甚至出现了超时的问题,因此要对程序和数据 ...

  6. Mysql优化之优化工具profiling

    程序员的成长之路 2016-11-23 22:42 Mysql优化之优化工具profiling 前言 mysql优化技术: mysql优化不是做一个操作就可以的优化,它包含很多的细节,需要一点一点的优 ...

  7. QRowTable表格控件(四)-效率优化之-优化数据源

    目录 一.开心一刻 二.问题分析 三.重写数据源 1.自己存储数据 2.重写data接口 四.比较 五.相关文章 原文链接:QRowTable表格控件(四)-效率优化之-优化数据源 一.开心一刻 一程 ...

  8. 知识点整理-mysql怎么查看优化器优化后的sql

    背景 1.新建两张表 CREATE TABLE t1 (m1 )); CREATE TABLE t2 (m2 )); 2.插入些数据 INSERT INTO t1 VALUES(, , , 'c'); ...

  9. Android 性能优化 ---- 启动优化

    Android 性能优化 ---- 启动优化 1.为什么要进行启动优化 一款应用的第一印象很重要,第一印象往往决定了用户的去留.打开一款应用,如果速度很快,很顺畅,那么很容易让人觉得这款应用背后的技术 ...

随机推荐

  1. bzoj3160(FFT+回文自动机)

    题目描述 https://www.lydsy.com/JudgeOnline/problem.php?id=3160 题解 先把问题转化一下,我们要求的是非连续对称回文子序列. ans=回文子序列数- ...

  2. 洛谷P4243/bzoj1558 [JSOI2009]等差数列(线段树维护差分+爆炸恶心的合并)

    题面 首先感谢这篇题解,是思路来源 看到等差数列,就会想到差分,又有区间加,很容易想到线段树维护差分.再注意点细节,\(A\)操作完美解决 然后就是爆炸恶心的\(B\)操作,之前看一堆题解的解释都不怎 ...

  3. GNOME禁用GDM中night-light功能

    Night-light feature is enabled also in GDM screen, see here : https://bugzilla.gnome.org/show_bug.cg ...

  4. A1129. Recommendation System

    Recommendation system predicts the preference that a user would give to an item. Now you are asked t ...

  5. (转)git checkout 撤销修改

    背景:学习git相关命令 git撤销修改和版本回退 git status查看当前仓库的状态 liuzhipeng@exdroid43:~/pad/pad-test$ git status 位于分支 m ...

  6. Vue+Django2.0 restframework打造前后端分离的生鲜电商项目(2)

    1.restful api介绍 1.前后端分离的优缺点 1.为什么要用前后端分离 1.pc.app.pad多端适应 2.SPA(单页面应用)开发模式开始流行 3.前后端分离职责不清 4.开发效率问题, ...

  7. PHP中empty,is_null,isset的区别

    有时候分不清这几个的区别,特此记录,以备不时之需 isset 判断变量是否已存在 empty 判断变量是否为空或为0 is_null 判断变量是否为NULL 变量 empty is_null isse ...

  8. 第二十九节,目标检测算法之R-CNN算法详解

    Girshick, Ross, et al. “Rich feature hierarchies for accurate object detection and semantic segmenta ...

  9. (Bash博弈)51nod1067 Bash游戏 V2

    1067 Bash游戏 V2 有一堆石子共有N个.A B两个人轮流拿,A先拿.每次只能拿1,3,4颗,拿到最后1颗石子的人获胜.假设A B都非常聪明,拿石子的过程中不会出现失误.给出N,问最后谁能赢得 ...

  10. 强大的 10款 Mac 思维导图和流程图软件推荐

    本文首发于[风云社区 SCOEE],想了解更多mac软件相关内容,可到[风云社区 SCOEE] 今天和大家分享思维导图和流程图工具,思维导图软件可以说应用非常的广,无论是设计工作.开发工作.管理工作都 ...