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

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

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

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

  • sys_config.fex文件定义了各种参数来配置SOC工作状态或方式。
    sys_config.fex文件配置GPIOPIN 脚的输入,输出模式或电平的高低,配置DRAM工作状态,配置显示输出模式等等。用户通过修改此文件来达到快速定制系统的目的。
  • fex2bin是将文本fex文件转为二进制bin文件的工具。
    bin2fex 是将二进制bin文件转为文本fex文件的工具。
    工具在sunxi-tools里面,参考:全志sunxi-tools烧录工具安装和使用
  • script.bin是由sys_config.fex使用fex2bin工具生成的。
  • script.bin放在TF卡第一分区。
  • 如何修改script.bin/script.fex使script.bin文件配置生效的驱动

boot-bsp.cmd(bsp内核)

# 在uboot根目录下新建
vim 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 的位置
# 第六行为从加载地址启动内核的命令

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.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

mkimage

# 该工具在`uboot/tools`文件夹下

# 在uboot根目录下输入以下命令拷贝到用户文件夹下,方便以后可以直接使用
sudo cp ./tools/mkimage /usr/local/bin/mkimage

boot.scr

# 使用以下命令生成`boot.scr`,然后将其放入第一分区
mkimage -C none -A arm -T script -d boot-bsp.cmd boot.scr

在这里插入图片描述

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
全志V3S是一款嵌入式处理器,为了在该处理器上开发驱动程序,需要了解SPI-NAND存储器的镜像制作和烧入过程。 SPI-NAND存储器是一种通过SPI总线和处理器进行通信的非易失性存储器。制作SPI-NAND镜像的第一步是获取原始镜像文件,该文件包含了存储器的原始数据。在V3S处理器上,可以通过SPI接口读取存储器中的数据。 SPI-NAND镜像文件制作的第二步是将原始数据转换为可读取的镜像格式。这可以通过使用专门的工具或库来完成,例如U-Boot中提供的mkenvimage工具。 在制作好SPI-NAND镜像文件后,就可以将其烧入到V3S处理器的存储器中。烧入可以通过多种方法完成,最常见的是使用烧写软件,例如PhoenixSuit。首先,连接V3S处理器和主机,并将处理器进入烧写模式。然后,使用烧写软件选择SPI-NAND镜像文件并启动烧写过程。等待烧写完成后,断开连接并重启V3S处理器即可。 需要注意的是,在进行SPI-NAND驱动开发时,还需要编写相应的设备驱动程序以与处理器进行通信。这包括设置SPI接口的参数、进行数据读取和写入等操作。 总结来说,全志V3S嵌入式驱动开发涉及到SPI-NAND镜像的制作和烧入过程,需要获取原始镜像数据并转换为可读取格式,然后使用烧写软件将其烧入到V3S处理器的存储器中。在开发驱动程序时,还需要编写相应的设备驱动程序以实现与处理器的通信。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值