DM368开发 -- uboot 使用
来源:互联网 发布:永恒之塔 5.0捏脸数据 编辑:程序博客网 时间:2024/06/05 16:26
一、uboot指令
hisilicon # help
? - alias for 'help'
base - print or set address offset
bootm - boot application image from memory
bootp - boot image via network using BOOTP/TFTP protocol
cmp - memory compare
cp - memory copy
crc32 - checksum calculation
ddr - ddr training function
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls - list files in a directory (default /)
getinfo - print hardware information
Go - start application at address 'addr'
help - print command description/usage
loadb - load binary file over serial line (kermit mode)
loady - load binary file over serial line (ymodem mode)
loop - infinite loop on address range
md - memory display
mii - MII utility commands
mm - memory modify (auto-incrementing address)
mtest - simple RAM read/write test
mw - memory write (fill)
nand - NAND sub-system
nboot - boot from NAND device
nm - memory modify (constant address)
ping - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
rarpboot- boot image via network using RARP/TFTP protocol
reset - Perform RESET of the CPU
saveenv - save environment variables to persistent storage
setenv - set environment variables
sf - SPI flash sub-system
tftp - tftp - download or upload image via network using TFTP protocol
usb - USB sub-system
usbboot - boot from USB device
version - print monitor version
hisilicon #
? - alias for 'help'
base - print or set address offset
bootm - boot application image from memory
bootp - boot image via network using BOOTP/TFTP protocol
cmp - memory compare
cp - memory copy
crc32 - checksum calculation
ddr - ddr training function
fatinfo - print information about filesystem
fatload - load binary file from a dos filesystem
fatls - list files in a directory (default /)
getinfo - print hardware information
Go - start application at address 'addr'
help - print command description/usage
loadb - load binary file over serial line (kermit mode)
loady - load binary file over serial line (ymodem mode)
loop - infinite loop on address range
md - memory display
mii - MII utility commands
mm - memory modify (auto-incrementing address)
mtest - simple RAM read/write test
mw - memory write (fill)
nand - NAND sub-system
nboot - boot from NAND device
nm - memory modify (constant address)
ping - send ICMP ECHO_REQUEST to network host
printenv- print environment variables
rarpboot- boot image via network using RARP/TFTP protocol
reset - Perform RESET of the CPU
saveenv - save environment variables to persistent storage
setenv - set environment variables
sf - SPI flash sub-system
tftp - tftp - download or upload image via network using TFTP protocol
usb - USB sub-system
usbboot - boot from USB device
version - print monitor version
hisilicon #
详细查看各个指令用法可使用 help+指令名 来查看。举个栗子:
x210 # help eraseerase start end - erase FLASH from addr 'start' to addr 'end'erase start +len - erase FLASH from addr 'start' to the end of sect w/addr 'start'+'len'-1erase N:SF[-SL] - erase sectors SF-SL in FLASH bank # Nerase bank N - erase FLASH bank # Nerase all
二、uboot 环境变量
参看:U-Boot Usage
参看:uboot环境变量实现分析
bootdelay 执行自动启动的等候秒数
baudrate 串口控制台的波特率
netmask 以太网接口的掩码
ethaddr 以太网卡的网卡物理地址
bootfile 缺省的下载文件
bootargs 传递给内核的启动参数
bootcmd 自动启动时执行的命令
serverip 服务器端的ip地址
ipaddr 本地ip 地址
stdin 标准输入设备
stdout 标准输出设备
stderr 标准出错设备
netmask 以太网接口的掩码
ethaddr 以太网卡的网卡物理地址
bootfile 缺省的下载文件
bootargs 传递给内核的启动参数
bootcmd 自动启动时执行的命令
serverip 服务器端的ip地址
ipaddr 本地ip 地址
stdin 标准输入设备
stdout 标准输出设备
stderr 标准出错设备
三、uboot 传参机制
参看:uboot向kernel的传参机制——bootm与tags
四、bootargs
参看:U-Boot Usage
参看:GSG: DM365 DVEVM Additional Procedures
例如:
setenv bootargs 'console=ttyS0,115200n8 ip=dhcp root=/dev/mtdblock3 rw rootfstype=yaffs2 mem=76M video=davincifb:vid0=OFF:vid1=OFF:osd0=720x576x16,4050K dm365_imp.oper_mode=0 davinci_capture.device_type=4'setenv bootcmd 'nand read 0x80700000 0x400000 0x400000;bootm 0x80700000';
root=
它告诉内核使用什么设备作为根文件系统。例如,要通过NFS引导,请设置root=/dev/nfs
要通过MMC / SD启动,请执行类似操作
root=/dev/mmcblk0p2
rw
这告诉内核将根文件系统挂载为读/写。rootstype=
指明文件系统的类型
nfsroot=192.168.1.100:/home/workdir/filesystem,nolock (192.168.1.100 为虚拟机 IP)
nfsroot=
它告诉内核哪个机器和目录用于NFS挂载,以及根文件系统的选项。 更多细节可以在 linux/Documentation/ nfsroot.txt 文件中找到。 这也必须与 root = /dev/nfs 参数一起使用。例如:nfsroot=192.168.1.100:/home/workdir/filesystem,nolock (192.168.1.100 为虚拟机 IP)
ip=
通过 NFS 安装时,内核必须直接配置网络接口。 这个的典型用法是:ip=dhcp
例如:ip=192.168.32.128:192.168.32.122:192.168.32.1:255.255.255.0
“ip=”后面:
第一项(192.168.32.128)是开发板的临时IP(注意不要和局域网内其他 IP 冲突);
第二项(192.168.32.122)是我的 PC 的 IP;
第三项(192.168.32.1)是开发板上网关(GW)的设置;
第四项(255.255.255.0)是子网掩码;
“ip=”后面:
第一项(192.168.32.128)是开发板的临时IP(注意不要和局域网内其他 IP 冲突);
第二项(192.168.32.122)是我的 PC 的 IP;
第三项(192.168.32.1)是开发板上网关(GW)的设置;
第四项(255.255.255.0)是子网掩码;
noinitrd
当指定时,这将允许通过 /dev /initrd 访问初始 RAM 磁盘。否则使用 initrdinit
init指定的是内核启起来后,进入系统中运行的第一个脚本,一般init=/linuxrc, 或者init=/etc/preinit,preinit的内容一般是创建console,null设备节点,运行init程序,挂载一些文件系统等等操作。请注意,很多初学者以为init=/linuxrc 是固定写法,其实不然,/linuxrc指的是/目录下面的linuxrc脚本,一般是一个连接罢了。
mem=
这指定了可用于Linux的内存量。console=
这告诉内核在哪里发送引导消息。 典型用法是使用第一个串行端口,115200波特,8位数据,无奇偶校验。 例如:console=ttyS0,115200n8
mtdparts
Flash分区描述,格式为 mtdparts=hi_sfc:256K(boot),3M(kernel),1M(rootfs),5M(data)
表示有4个分区,分区0大小为256用于bootloader启动,分区1大小为3M用于内核启动,分区2大小为1M用于根文件系统启动,5M为用户数据。
video=
这将告诉内核有关如何配置视频设备的信息。 这里给出了与TI EVM具体相关的一些常见值。davincifb | omap24xxfb
这具体说明要使用的framebuffer驱动程序的名称。 (对于DaVinci零件选择davincifb和OMAP3零件的omap24xxfb)。vid[0-1]=[width x height x bpp,mem]
这指定了对应于vid0或vid1的帧缓冲区的大小,每像素的位数和内存量。 如果使用v4l2驱动程序(而不是davincifb),请将其指定为vid0 = OFF:vid1 = OFF。 如果使用davincifb驱动程序,您可以分配一个720x480 vid0窗口,每个像素16位,内存2500KBvid0=720x480x16,2500K
osd[0-1][width x height x bpp,mem]
这指定了对应于osd0或osd1的帧缓冲区的大小,每像素的位数和分配的内存量。 例如,您可以分配一个720x480的osd0窗口,每个像素16位,内存2500KBosd0=720x480x16,2500K
rotation=n (for use with omap24xxfb only)
这指定了帧缓冲区的旋转量。 n的有效值为{0,90,180,270}。video =参数的所有值部分应该用逗号分隔。 例如,在达芬奇设备上,要使用v4l2驱动程序进行视频窗口并设置OSD窗口,请使用:
video=davincifb:vid0=OFF:vid1=OFF:osd0=720x480x16,2500K
dm365_imp.oper_mode=
这将设置IPIPE调整器的模式。 连续模式为0,单拍模式为1。davinci_capture.device_type=
这定义要使用哪个驱动程序。 使用以下设置: davinci_capture.device_type=0 for MT9T001
davinci_capture.device_type=1 for TVP5146
davinci_capture.device_type=2 for MT9T031
davinci_capture.device_type=3 for MT9P031
davinci_capture.device_type=4 for TVP7002
davinci_enc_mngr.ch0_output=
有效值为:
davinci_capture.device_type=1 for TVP5146
davinci_capture.device_type=2 for MT9T031
davinci_capture.device_type=3 for MT9P031
davinci_capture.device_type=4 for TVP7002
davinci_enc_mngr.ch0_output=
有效值为:
COMPOSITE
COMPOSITE1
SVIDEO
SVIDEO1
COMPONENT
COMPONENT1
LCD
LCD1
NTSC
ntsc
NTSC-RGB
PAL
pal
PAL-RGB
720P-24
720P-25
720P-30
720P-50
720P-60
1080I-25
1080I-30
1080P-25
1080P-30
1080P-50
1080P-60
480P-60
576P-50
640x480
640x400
640x350
800x480
DaVinciHD(DM6467)的有效值为:
COMPOSITE1
SVIDEO
SVIDEO1
COMPONENT
COMPONENT1
LCD
LCD1
davinci_enc_mngr.ch0_mode=
达芬奇的有效值为:NTSC
ntsc
NTSC-RGB
PAL
pal
PAL-RGB
720P-24
720P-25
720P-30
720P-50
720P-60
1080I-25
1080I-30
1080P-25
1080P-30
1080P-50
1080P-60
480P-60
576P-50
640x480
640x400
640x350
800x480
DaVinciHD(DM6467)的有效值为:
NTSC
NTSC-RGB
PAL
PAL-RGB
720P-25
720P-30
720P-50
720P-60
1080I-25
1080I-30
1080P-24
1080P-25
1080P-30
1080P-50
1080P-60
480P-60
576P-50
640x480
640x400
640x350
NTSC-RGB
PAL
PAL-RGB
720P-25
720P-30
720P-50
720P-60
1080I-25
1080I-30
1080P-24
1080P-25
1080P-30
1080P-50
1080P-60
480P-60
576P-50
640x480
640x400
640x350
五、nand flash/nor flash烧写指令
1、nand flash
例如:烧写内核mw.b 82000000 ff 400000tftp 82000000 uImagenand erase 800000 400000nand write 82000000 800000 400000
nand info : 查看nandflash芯片信息包括数据线位宽一般8或者是16等
nand erase: nandflash使用之前必须先擦除,遇到坏块会标记以下是使用实例
nand erase 0x00280000 0x300000作用:擦除nandflash上起始地址为0x00280000,长度为0x300000的flash空间
nand scrub: 作用和nand erase差不多,但是会将坏块信息也擦除掉
nand scrub 400000 1000000 表示从 0x400000 开始清理 64M。
如果最后一个参数不传,则表示从此地址开始清理至 nand flash 结束,比如:
nand scrub 400000 表示清理从 0x400000 开始的所有 flash 空间。
如果最后一个参数不传,则表示从此地址开始清理至 nand flash 结束,比如:
nand scrub 400000 表示清理从 0x400000 开始的所有 flash 空间。
nand write: 将数据从ddr上的某个地址写入flash中间比如
nand write 0x81000000 0x00280000 0x300000作用:将DDR地址为0x81000000上的数据写入到nandflash 地址0x00280000上,写入长度为0x30000
nandecc : 在读写flash之前需要先设置好该flash的ecc校验方法,否则可能导致很严重的错误,
以下是设置ecc校验的命令:nandecc hw 2设置nandflash的ecc校验是硬件校验具体为BCH8(4位校验码)
nandecc hw 0设置nandflash的校验方法是硬件校验具体是汉明码(1位校验码)
nandecc sw 设置nandflash的校验方法是软件校验
2、nor flash
例如:烧写 ubootsf probe 0mw.b 82000000 ff 100000tftp 0x82000000 u-boot.binsf probe 0sf erase 0 100000sf write 82000000 0 100000
【mw.b】
mw.b表示按字节显示,内存初始化,填充内存。把内存 0x82000000 开始的 0x10000 字节设为 0xFF。
【sf probe 0】
探测并初始化SPI FLASH;
【0x82000000】
内存地址
【erase】
表示从地址0擦除了1M的文件
【write】
表示从内存地址0x82000000写入1M文件
阅读全文
1 0
- DM368开发 -- uboot 使用
- DM368 Uboot
- DM368开发 -- uboot、内核移植(转)
- DM368 IPNC uboot代码
- DM368开发 -- 硬件认识
- DM368开发 -- 环境搭建
- DM368开发 -- 再论 UBL
- Appro DM368 IPNC 3.0 UBOOT环境变量配置
- DM368 ubl和uboot的裁剪
- DM368开发 -- 常用指令演示
- DM368开发 -- 文件烧写
- DM368开发 -- 制作ubifs文件系统
- DM368开发 --IPNC 设置过程
- uboot change based on DM368, for BDI3000 bootup
- DM368开发 -- Bootloader 开发(转毕设)
- DM368开发 -- 毕设之硬件
- DM368开发 -- 你需要了解的知识点
- DM368开发 -- 编码并实时播放
- centos6 安装php7
- Github使用
- HttpServlet
- Linux下一些操作命令
- gawk 手册
- DM368开发 -- uboot 使用
- Android “+”号发散菜单动画的实现--- pathMenu的实现思路
- 来说说(Singleton)单例模式
- Docker介绍
- Python学习笔记【三】——《python基础教程》:: 使用字符串
- mysql中的unix_timestamp函数
- 解决ecshop jq冲突办法
- mysqlERROR 1045 (28000…
- 改了数据库密码后,连接mysql报错&…