RK3399系列 UBOOT 2017 rk_default_config.h

/uboot-rockchip/include/configs/rk_default_config.h

 /*
  2  * Default Configuration for Rockchip Platform
  3  *
  4  * (C) Copyright 2008-2015 Fuzhou Rockchip Electronics Co., Ltd
  5  * Peter, Software Engineering, <superpeter.cai@gmail.com>.
  6  *
  7  * SPDX-License-Identifier:     GPL-2.0+
  8  */
  9 
 10 #ifndef __RK_DEFAULT_CONFIG_H
 11 #define __RK_DEFAULT_CONFIG_H
 12 
 13 
 14 /* Display CPU and Board Info */
 15 #define CONFIG_ARCH_CPU_INIT
 16 #define CONFIG_DISPLAY_CPUINFO
 17 #define CONFIG_DISPLAY_BOARDINFO
 18 
 19 #define CONFIG_SETUP_MEMORY_TAGS        /* enable memory tag            */
 20 #define CONFIG_CMDLINE_TAG              /* enable passing of ATAGs      */
 21 #define CONFIG_CMDLINE_EDITING          /* add command line history     */
 22 #define CONFIG_INITRD_TAG               /* Required for ramdisk support */
 23 #define CONFIG_BOARD_LATE_INIT
 24 #define CONFIG_ARCH_EARLY_INIT_R

 25 
 26 
 27 /* rk board common fold */
 28 #define HAVE_VENDOR_COMMON_LIB          y
 29 
 30 
 31 /* enable genreal board */
 32 #define CONFIG_SYS_GENERIC_BOARD
 33 
 34 
 35 /*
 36  * Supported U-boot commands
 37  */
 38 /* Declare no flash (NOR/SPI) */
 39 #define CONFIG_SYS_NO_FLASH   1      /* It should define before config_cmd_default.h */
 40 
 41 /* Command definition */
 42 #include <config_cmd_default.h>
 43 
 44 #define CONFIG_SHA256
 45 #define CONFIG_LIB_RAND
 46 
 47 #undef CONFIG_GZIP
 48 #undef CONFIG_ZLIB
 49 #undef CONFIG_SOURCE
 50 #undef CONFIG_PARTITIONS
51 
 52 /* config for cmd_bootm */
 53 #undef CONFIG_BOOTM_NETBSD
 54 #undef CONFIG_BOOTM_RTEMS
 55 #undef CONFIG_BOOTM_OSE
 56 #undef CONFIG_BOOTM_PLAN9
 57 #undef CONFIG_BOOTM_VXWORKS
 58 #undef CONFIG_LYNXKDI
 59 #undef CONFIG_INTEGRITY
 60 #undef CONFIG_CMD_ELF
 61 #undef CONFIG_CMD_BOOTD
 62 
 63 /* Disabled commands */
 64 #undef CONFIG_CMD_FPGA                  /* FPGA configuration Support   */
 65 #undef CONFIG_CMD_MISC
 66 #undef CONFIG_CMD_NET
 67 #undef CONFIG_CMD_NFS
 68 #undef CONFIG_CMD_XIMG
 69 
 70 #undef CONFIG_CMD_ITEST
 71 #undef CONFIG_CMD_SOURCE
 72 #undef CONFIG_CMD_BDI
 73 #undef CONFIG_CMD_CONSOLE
 74 #undef CONFIG_CMD_CACHE
 75 #undef CONFIG_CMD_MEMORY
 76 #undef CONFIG_CMD_ECHO
 77 #undef CONFIG_CMD_REGINFO
 78 #undef CONFIG_CMDLINE_EDITING
 79 #undef CONFIG_CMD_LOADB
 80 #undef CONFIG_CMD_LOADS
 81 #undef CONFIG_CMD_IMI
 82 #undef CONFIG_CMD_EDITENV
 83 /*#undef CONFIG_CMD_RUN*/
 84 #define CONFIG_CMD_RUN  /* modify by andy 20220221 */
 85 #undef CONFIG_CMD_SETGETDCR
 86 
 87 
 88 /*
 89  * cache config
 90  */

 91 #undef CONFIG_SYS_ICACHE_OFF
 92 #undef CONFIG_SYS_DCACHE_OFF
 93 #define CONFIG_SYS_L2CACHE_OFF
 94 #define CONFIG_SYS_ARM_CACHE_WRITETHROUGH
 95 
 96 
 97 /* irq config, arch64 gic no using CONFIG_USE_IRQ */
98 #if !defined(CONFIG_ARM64)
 99         #define CONFIG_USE_IRQ
100 #endif
101 
102 /* enable i

### 设置和传递 bootargs 参数 在 Rockchip (RK) 平台上的 U-Boot 中设置和传递 `bootargs` 启动参数可以通过多种方式进行。这些方法允许用户灵活地控制内核启动时的行为。 #### 方法一:命令行交互模式下临时设置 可以在 U-Boot 的命令行界面中直接输入并执行特定指令来设定 `bootargs`: ```bash setenv bootargs console=ttyS2,1500000 earlyprintk root=/dev/mmcblk0p2 rw saveenv ``` 上述命令设置了串口设备、启用了早期打印功能以及指定了根文件系统的路径[^1]。 #### 方法二:通过环境变量持久化保存 为了使更改后的 `bootargs` 能够永久生效,在完成一次性的设置之后还需要调用 `saveenv` 来保存当前所有的环境变量到非易失性存储器中去,从而确保下次重启后仍然有效。 #### 方法三:修改源码中的默认配置 如果希望某些固定的启动选项总是被应用,则可以直接编辑 U-Boot 源代码里的相关头文件或 Makefile 文件,比如对于 RK3399 这样的芯片来说,可以找到对应的板级支持包(BSP),调整其中关于 `CONFIG_EXTRA_ENV_SETTINGS` 宏定义的内容以加入所需的额外启动参数[^4]。 #### 方法四:利用 FIT 配置 当采用 FIT(Firmware Image Tree) 方式构建镜像时,还可以把 `bootargs` 放入到描述符节点里作为属性之一,这样做的好处是可以根据不同场景动态切换不同的启动配置而无需频繁改动实际的 U-Boot 或者 Linux Kernel 本身。 ```dts / { description = "FIT image with multiple kernels"; images { kernel@1{ data = /incbin/("zImage"); type = "kernel"; arch = "arm"; os = "linux"; compression = "none"; load = <0x2008000>; entry = <0x2008000>; hash-1 algo="crc32"; }; fdt@1{ data = /incbin/("rk3399-linux.dtb"); type = "flat_dt"; arch = "arm"; compression = "none"; hash-1 algo="crc32"; }; }; configurations { default = "conf@1"; conf@1{ description = "Default configuration"; kernel = "kernel@1"; fdt = "fdt@1"; bootargs = "console=ttyS2,1500000 earlyprintk root=/dev/mmcblk0p2 rw"; }; }; }; ``` 这种方法特别适用于那些需要维护多个版本固件更新方案的产品开发过程中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值