1.sd启动
将u-boot镜像写入SD卡
将SD卡通过读卡器接上电脑(或直接插入笔记本卡槽),通过'cat /proc/partitions'找出SD卡对应的设备,我的设备节点是/dev/sdb.
执行下面的命令
$sudo dd iflag=dsync oflag=dsync if=tiny210-uboot.bin of=/dev/sdb seek=1
设置环境变量:
setenv gatewayip 192.168.1.1
setenv ipaddr 192.168.1.102
setenv netmask 255.255.255.0
setenv serverip 192.168.1.10
saveenv
2.nand启动
烧写Uboot:方法1:通过SD卡启动的u-boot for tiny210 将u-boot镜像写入nandflash开发板终端下执行下面的命令[FriendlyLEG-TINY210]# tftp 21000000 tiny210-uboot.bin[FriendlyLEG-TINY210]# nand erase.chip[FriendlyLEG-TINY210]# nand write 21000000 0 3c1f4 方法2:minicom + 串口
loadb 21000000ctrl + A; Z; S; kermit; 选择自己的Uboot[FriendlyLEG-TINY210]# nand erase.chip[FriendlyLEG-TINY210]# nand write 21000000 0 3c1f4
注意:大小为自己Uboot3.烧写内核和跟文件系统
内核的烧写位置是0x600000开始的区域,文件系统烧写位置为0xe00000开始的区域。命令如下:[FriendlyLEG-TINY210]#tftp 21000000 rootfs_android.img //下载文件到内存[FriendlyLEG-TINY210]#nand erase e00000 f200000 //擦写相应的nand[FriendlyLEG-TINY210]#nand write.yaffs 21000000 e00000 b03c280 //写到nand 记住yaffs镜像是包含OOB数据的,所以写入NAND Flash的数据应该是2112(=2048 + 64)字节的整数倍。 4.启动参数设置bootargs参数
1:如果用yaffs2文件系统
setenv bootargs noinitrd root=/dev/mtdblock4 rootfstype=yaffs2 rw console=ttySAC0,115200 init=/linuxrc mem=64M
2:如果用NFS文件系统
setenv bootargs noinitrd root=/dev/nfs rw nfsroot= 192.168.0.100 :/ home/lq/rootfs ip=192.168.0.10 console=ttySAC0 mem=64M 设置自启动参数bootcmd //暂时不确定使用那种方法。
我刚开始时 是这样写的:
setenv bootcmd nand read 20008000 80000 22e800 ; bootm 20008000
按确定后 直接执行了bootm这个命令 于是改了:
setenv bootcmd nand read 20008000 80000 22e800 ; bootm 20008000 就OK了 setenv bootargs root=/dev/nfs rw nfsroot=192.168.1.10:/home/xyp/nfsroot/rootfs ip=192.168.1.102:192.168.1.10:192.168.1.1:255.255.255.0::eth0:off console=ttySAC0,115200 init=/linuxrc希望今晚测试顺利!
关键字:tiny210 Uboot kernel filesystem 烧写 启动
引用地址:
tiny210V2 Uboot kernel filesystem 烧写和启动
推荐阅读最新更新时间:2026-03-25 12:19
tiny210V2 Uboot kernel filesystem 烧写和启动
1.sd启动 将u-boot镜像写入SD卡 将SD卡通过读卡器接上电脑(或直接插入笔记本卡槽),通过 cat /proc/partitions 找出SD卡对应的设备,我的设备节点是/dev/sdb. 执行下面的命令 $sudo dd iflag=dsync oflag=dsync if=tiny210-uboot.bin of=/dev/sdb seek=1 设置环境变量: setenv gatewayip 192.168.1.1 setenv ipaddr 192.168.1.102 setenv netmask 255.255.255.0 setenv serverip 192.168.1.10 saveenv 2.nand启
[单片机]
AT91RM9200的UBOOT启动烧写过程
Uboot 烧写过程 1. 一开始令BMS=1(拔掉跳线),则系统从片内ROM中启动。内部启动程序初始化调试串口和USB设备接口从外部载入启动程序。在Windows平台下,启动超级终端,发送文件loader.bin和u-boot.bin到SDRAM,成功启动u-boot. 2. 启动了u-boot后就利用u-boot的功能,发送boot.bin和u-boot.gz到SDRAM,然后再拷贝到FLASH,那么FLASH里面就固化了启动程序boot.bin和u-boot.gz。 3. 烧写FLASH的过程如下: U-Boot protect off all (注:清除Flash全部块的写保护) U-Boot erase a
[单片机]
Tiny4412和Tiny210裸板程序烧写比较
1、Tiny4412启动时首先运行固化在芯片内部iROM中的程序,把启动设备(可能是EMMC/nand flash、SD、USB启动)特定位置处的程序读入片内存 (iRAM) ,并执行它,BL1又把启动设备上另一个特定位置处的程序读入片内内存,并执行它。这个被称为 BL2(Bootloader 2) ,是我们编写的源码。(详情可参考博文“Exynos4412的启动过程分析”)在汇编流水灯程序中我们通过mkbl2工具制作的BL2: sudo ./sd_fusing.sh /dev/sdc ../../../hardware/1th_led_s/led.bin 分析sd_fusing.sh可知: #################
[单片机]
移植uboot-支持yaffs烧写,打补丁
1. 修改uboot支持yaffs 首先,每个命令都会对应一个文件,比如nand命令对应的common/cmd_nand.c 而我们使用nand命令时,便会进入do_nand()函数,位于common/cmd_nand.c 1.1do_nand()函数代码如下所示: int do_nand(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv ) { ... ... if (strncmp(cmd, read , 4) == 0 || strncmp(cmd, write , 5) == 0) { ... ... #ifdef CONFIG_C
[单片机]
OK6410开发板uboot烧写
uboot的移植完成以后,满以为很快能烧写到板子上并安装linux,结果uboot烧写了三天才终于成功,这其中碰到了不少的问题,在此做个总结。 首先,飞凌的OK6410开发板并不支持JLink烧写uboot,只能通过SD卡来烧写,这一点我事先并不知道,他们网店介绍里并未说明,而且销售人员也没有做出任何提示,结果我花了整整一天时间尝试所有通过JLink烧写uboot的可能方法,结合网上个别人反映,最终意识到通过JLink完成uboot烧写是不可能成功的了,后来在销售人员那里确认了这一点,对飞凌表示不满。 当时买板的时候没有买SD卡,因为感觉没什么用,就想给老板省点钱,现在没SD卡不行了,但在寻找JLink烧写uboot方法的过程中我
[单片机]
[linux kernel]内核启动阶段控制IO口时序输出
系统版本:Ubuntu18.04-64 编译器版本:gcc version 7.4.0 (Ubuntu/Linaro 7.4.0-1ubuntu1~18.04.1) uboot版本:2018.07 -linux4sam_6.0 板子型号:at91sama5d3x-xplained MCU型号:sama5d36 在一些特殊应用场景,在板子上电启动阶段就需要优先给IO进行上电,甚至是按照时序输出 ;比如:以前去广东电科院送检,有个检测项是4G模块在上电阶段,就要有RST信号出现1S低脉冲,然后ON/OFF信号200ms低脉冲,为了让4G模块和系统同步进入运行状态;就这么一个不起眼的操作,用单片机系统的厂家很快就解决了,
[单片机]
mini2440系统移植篇之kernel启动流程
1.1. 第1阶段 arch/arm/kernel/vmlinux.lds --------------------Makefile 2.1 arch/arm/boot/compressed/start.S 解压代码 2.2 arch/arm/kernel/head.S 2.2.1 __lookup_machine_type 机器ID àMACH_START àmachine_desc //放在__arch_info_begin…__arch_info_end 2.2.2 __create_page_tables 创建页表 2.2.3 使能MMU 2.2.4 __switch_data àb start_kerne
[单片机]
Android arm linux kernel启动流程二
写这个总结的时候咱的心情是沉重的,因为还有好多东西没弄明白。。。感叹自己的知识还是浅薄得很,前途钱途漫漫阿~~不过基本脉络是清楚的,具体的细节只能留在以后有时间再啃了。这里的第二部分启动流程指的是解压后kernel开始执行的一部分代码,这部分代码和ARM体系结构是紧密联系在一起的,所以最好是将ARM ARCHITECTURE REFERENCE MANUL仔细读读,尤其里面关于控制寄存器啊,MMU方面的内容~ 前面说过解压以后,代码会跳到解压完成以后的vmlinux开始执行,具体从什么地方开始执行我们可以看看生成的vmlinux.lds(arch/arm/kernel/)这个文件: view plaincopy to
[单片机]