全志V3s学习记录(5)uboot:传参(boot.scr)参数配置(script.bin)

参考:
全志v3s学习笔记(4)——u-boot传参(boot.scr)和参数配置(script.bin)文件

一、boot.scr的简介与制作

 在uboot环境变量里面需要设置内核和设备树的加载地址,使用boot.scr可以直接传递这些参数。

  • boot.scr是由boot.cmd使用mkimage工具生成的。
  • mkimage工具在uboot/tools文件夹下
  • boot.scr放在TF卡第一分区。

1.1 BSP内核配置

在uboot根目录下新建

vim boot-bsp.cmd

boot-bsp.cmd内容为:

setenv bootargs console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 earlyprintk rw
setenv bootm_boot_mode sec
setenv machid 1029
load mmc 0:1 0x41000000 uImage
load mmc 0:1 0x41d00000 script.bin
bootm 0x41000000

  • 第一行setenv命令,设定了变量bootargs(启动参数)为:通过tty0和ttyS0串口输出启动信息;启动失败延迟5秒重启,根文件在TF卡的第二分区,可读写;
  • 第二行指定了bootm 模式
  • 第三行指定解析设备树
  • 第四行指定了将压缩后的内核uImage加载到 0x41000000 的位置
  • 第五行指定了将 script.bin 加载到 0x41d00000 的位置
  • 第六行为从加载地址启动内核的命令

1.2 主线内核配置

boot.cmd(主线Linux)

在uboot根目录下新建

vim boot.cmd

写入以下内容

setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10 earlyprintk rw
load mmc 0:1 0x41000000 zImage
load mmc 0:1 0x41800000 sun8i-v3s-licheepi-zero-dock.dtb
bootz 0x41000000 - 0x41800000

480x272 LCD配置

setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10 earlyprintk rw
setenv video-mode sunxi:480x272-18@60,monitor=lcd
setenv lcd-mode x:480,y:272,depth:18,pclk_khz:10000,le:42,ri:8,up:11,lo:4,hs:1,vs:1,sync:3,vmode:0
setenv stderr serial,lcd
setenv stdout serial,lcd
load mmc 0:1 0x41000000 zImage
load mmc 0:1 0x41800000 sun8i-v3s-licheepi-zero-with-480x272-lcd.dtb
bootz 0x41000000 - 0x41800000

800x480 LCD配置

setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait panic=10 earlyprintk rw
setenv video-mode sunxi:800x480-18@60,monitor=lcd
setenv lcd-mode x:800,y:480,depth:18,pclk_khz:10000,le:42,ri:8,up:11,lo:4,hs:1,vs:1,sync:3,vmode:0
setenv stderr serial,lcd
setenv stdout serial,lcd
load mmc 0:1 0x41000000 zImage
load mmc 0:1 0x41800000 sun8i-v3s-licheepi-zero-with-800x480-lcd.dtb
bootz 0x41000000 - 0x41800000

1.3 使用mkimage工具

mkimage工具在/uboot/tools文件夹下

在uboot根目录下输入以下命令拷贝到用户文件夹下,方便以后可以直接使用


sudo cp ./tools/mkimage /usr/local/bin/mkimage

使用mkimage生成boot.scr

mkimage -C none -A arm -T script -d boot.cmd boot.scr

使用记录:

liefyuan@ubuntu:~/Liefyuan/mangopi-v3s/u-boot-3s-current$ mkimage -C none -A arm -T script -d boot.cmd boot.scr
Image Name:   
Created:      Tue May 10 23:09:17 2022
Image Type:   ARM Linux Script (uncompressed)
Data Size:    237 Bytes = 0.23 kB = 0.00 MB
Load Address: 00000000
Entry Point:  00000000
Contents:
   Image 0: 229 Bytes = 0.22 kB = 0.00 MB

拷贝boot.scr到启动卡的第一分区(boot分区)

sudo cp boot.scr /media/liefyuan/BOOT/

二、BSP内核用于快速定制系统的script.bin文件的简介与制作

系统读取 script.bin 文件解析配置的工作参数和方式。

  • sys_config.fex文件定义了各种参数来配置SOC工作状态或方式。
  • sys_config.fex文件配置GPIOPIN 脚的输入,输出模式或电平的高低,配置DRAM工作状态,配置显示输出模式等等。用户通过修改此文件来达到快速定制系统的目的。

sys_config.fex
配置文件下载,密码:95mp
修改分辨率:800x480修改为480x272

[ctp_para]
ctp_used            = 1
ctp_name            = "gt911_m785q6"
ctp_twi_id          = 0
ctp_twi_addr        = 0x48
ctp_screen_max_x    = 480
ctp_screen_max_y    = 272
ctp_revert_x_flag   = 0
ctp_revert_y_flag   = 0
ctp_exchange_x_y_flag = 1
[lcd0_para]
lcd_used            = 1

lcd_driver_name     = "default_lcd"
lcd_if              = 0
lcd_x               = 480
lcd_y               = 272
lcd_width           =
lcd_height          =
lcd_dclk_freq       = 1
lcd_pwm_used        = 1
lcd_pwm_ch          = 0
lcd_pwm_freq        = 50000
lcd_pwm_pol         = 1
lcd_hbp             = 46
lcd_ht              = 1055
lcd_hspw            = 0
lcd_vbp             = 23
lcd_vt              = 525
lcd_vspw            = 5
lcd_lvds_if         = 0
lcd_lvds_colordepth = 0
lcd_lvds_mode       = 0
lcd_frm             = 1
lcd_io_phase        = 0x0100
lcd_gamma_en        = 0
lcd_bright_curve_en = 0
lcd_cmap_en         = 0

deu_mode            = 0
lcdgamma4iep        = 22
smart_color        = 90

生成script.bin文件

使用以下命令生成script.bin,然后将其放入第一分区

fex2bin sys_config.fex > script.bin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值