
解压uboot的压缩包得到uboot的工程文件uboot,进入uboot,打开Makefile文件,搜索自己的开发板的类型。我的是OK6410 256的。

然后执行配置文件:

接着执行一下的命令进行编译:

编译完成的截图:

完成之后,我们会在我们的uboot的目录看待生成uboot.bin文件,这就是要烧写到开发板的映像文件。
烧写uboot.bin 到OK6410开发板
首先烧写我们的辅助安装程序mmc_256.bin到SD卡。设置开发板从SD卡启动。在启动的瞬间按住空格进入选择菜单。

首先是选择1,格式化我们的Nand flash。

接着选3,Burn image from USB.

接着选择1,我们现在烧写的是uboot:
由于我的usb驱动有点问题,改成SD烧写:

烧写完成,设置开发板从nand flash启动,重启开发板:

如上面的显示,我们的uboot可以工作了。Uboot通常会有上面的选择菜单。但是,我们现在是要看uboot下的命令。所以选择的是6,进入命令行:

接下来就是uboot下的命令详解:
2.u-boot命令详解

2.1帮助命令:

Uboot的命令是很丰富的,是在开发阶段实现的。现在我们是使用,所以没有涉及到如何增加命令的知识,我们只管用就好了。
我们可以使用help来查看所支持的命令:


上面可以看到uboot支持的命令是很丰富的。前面是命令,后面是解释命令。
2.2查看环境变量:

环境变量的设置:

现在我们执行setenv Myboard OK6410去增加一个环境变量:

看到,我们的环境变量添加成功了。至于修改,跟增加一样的。例如我们可以setenv Myboard 6410.这样就修改了Myboard的值了。
最后是删除环境变量:命令:setenv Myboard。后面不要跟参数,就会删除掉该环境变量。

2.3变量的保存:
我们前面的操作的结果是保存在内存的,一断电就会消失,如果想要重启后还能保留,必须使用saveenv命令,将在内存的环境变量保存到我们的flash里面去。开发板上电回去flash里面读取环境变量。
2.4文件的下载;

首先是设置开发板和主机虚拟机的ip地址:

Saveenv保存之后,记得重启,才能够ping通:

从上面的显示知道已经ping通的。
接着使用tftp来下载我们的uImage:

2.4执行程序:

执行了上面的命令之后,我们的内核就启动起来了:


我们可以看到上面就是我们熟悉的linux的目录了。
设置自启动linux内核:

然后重启:
Tftp的配置文件:/etc/xinetd.d/tftp:

Server_args是tftp服务器文件夹。
Tftp的设置:重启服务:

所谓固定格式的2进制程序是指系统的类型,例如wince等。
2.5.查看内存内容:


2.6.修改内存内容。


如果你不想修改了,就空格回车,就会退出了的。
2.7.擦除nand flash的内容。

下面就是执行的效果。

2.8.写、读nand flash。

下面通过tftp传入linux内核,再把它写入:

上面,我们写入了一个linux内核,现在我们来把它读出来,如果读得出来,就是写入成功了。进行验证。
下面是读的操作:

因为前面是烧写一个内核,现在已经读到内存当中。现在检验能不能启动它。Bootm c0008000


可以看到我们可以去启动它,说明前面的操作是正确的。
最后设置自启动:
是出厂的产品,实现的自启动的命令。记得设置完后要saveenv,再重启。
是我们在调试内核的时候的命令。记得设置完后要saveenv,再重启。
关键字:Uboot OK6410 配置文件
引用地址:
3.3.Uboot的使用
推荐阅读最新更新时间:2026-03-25 12:44
OK6410光盘里的uboot不能用TFTP下载文件?
无论用ping命令还是tftp命令,都显示 CS8900 Ethernet chip not found?! 看了uboot1.1.6/include/configs/smdk6410.h,里面确实是配置为网卡使用CS8900,什么时候发布个配置为DM9000的uboot源码啊?或者发个补丁也行 此问题已解决 方法很简单,给用飞凌S3C6410的朋友一个参考。 a.用\u-boot-1.1.6-TQ6410\drivers\目录下的dm9000x.c和dm9000x.h替换OK6410的u-boot里的同名文件 b.用\u-boot-1.1.6-TQ6410\include\configs\tq6410.h里配置网卡的几行
[单片机]
基于ok6410的韦东山驱动视频简要分析--lcd驱动
#include linux/module.h #include linux/kernel.h #include linux/errno.h #include linux/string.h #include linux/mm.h #include linux/slab.h #include linux/vmalloc.h #include linux/delay.h #include linux/interrupt.h #include asm/uaccess.h #include linux/fb.h #include linux/init.h #include linux/clk.h #include
[单片机]
基于ok6410的韦东山驱动视频简要分析--ts驱动
一、写ts驱动步骤(新手稍微看下即可,内容有点搞) 1、复制头文件; 2、写入口函数跟出口函数 3、分配一个input_dev结构体, 在头文件下插入:static struct input_dev *ts_dev; 在init中分配:ts_dev = input_allocate_device(); 4、注册:在init中注册:input_register_device(ts_dev); 5、设置: 1、能产生哪类事件: set_bit(EV_KEY, ts_dev- evbit);按键类事件 set_bit(EV_ABS, ts_dev- evbit);触摸屏事件 2、能产生这类事件
[单片机]
基于Ok6410开发板u-boot的移植
前提环境:Win7+VirsualBox+ok6410+u-boot-2010.03 一,下载u-boot-2010.03源码 ftp://ftp.denx.de/pub/u-boot 解压,我这里为了避免麻烦,更改了所有文件的权限 tar jxvf u-boot-2010.03.tar.bz2 sudo chmod -R 777 u-boot-2010.03/* 二,修改源码 为了方便修改,查找代码,你看到u-boot下包含了支持众多CPU和不同架构的代码,这里我根据Ok6410开发板的自身情况,将u-boot下代码进行精简: 1,进入u-boot-2010.03/board,把除samsu
[单片机]
只用串口和网络裸机开发ARM程序(OK6410开发板)
最近要学习ARM开发板,想按着单片机的套路,首先开发裸机程序。百度了下,大部分的裸机程序都是用RVDS或者ADS开发,用JLink 或者JTag烧写到Sdram中去执行。由于在ubuntu下使用习惯了,想脱离集成开发环境,所以在Linux下使用arm-linux-gcc 等工具开发。首先遇到的问题就是开发好的二进制文件怎么烧到板子上运行呢? 百度上给出的大部分方法是通过Uboot 来烧写,用Uboot的DNW烧写进去,但是我用的环境是Win7 64bit,DNW的USB驱动死活装不上,而且,也懒得找别人借条OTG线,所以这个途径就不考虑了。继续google,找到了一种方法,通过Uboot的Tftp 功能把二进制文件烧写到开发板
[单片机]
OK6410 rmmod卸载模块失败:No such file or directory
说明: 1. 此文档基于 linux 2.6.32,TQ2440上测试通过, 2. arm-linux-gcc版本 Thread model: posix gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) 一. 问题描述及追踪分析 使用 rmmod时候发现如下错误 rmmod chdir no such file or directory 追踪该错误信息,发现busybox rmmod.c 位置 busybox-1.xxx/modutils/rmmod.c 函数框架如下 int rmmod_main(int argc, char **argv) MAIN_EXTERNALLY_V
[单片机]
ok6410内存初始化
•DRAM:它的基本原件是小电容,电容可以在两个极板上保留电荷,但是需要定期的充电(刷新),否则数据会丢失。缺点:由于要定期刷新存储介质,存取速度较慢。 •SRAM:它是一种具有静止存取功能的内存,不需要定期刷新电路就能保存它内部存储的数据。其优点:存取速度快; 但是缺点是:功耗大,成本高。常用作存储容量不高,但存取速度快的场合,比如steppingstone. 在嵌入式硬件体系中,除了CPU内部的”垫脚石”采用SRAM外,板载内存一般会采用DRAM,而DRAM又可以分为SDRAM,DDR,DDR2等。 SDRAM(Synchronous Dynamic Random AccessMemory):同步动态随机存储器. 同步:
[单片机]
OK6410内存及启动流程
一、内存 只是从大体上介绍,并没有涉及寄存器的操作 6410的系统资源为:256MB DDR 、2GB NANDFlash 如下图所示: ROM是只读存储器,RAM是随机存储器。 区别: 1.ROM(Read Only Memory)掉电数据不丢失,但存储读取速度慢,所以常用作存放程序,存放bootloader,存放内核,存放文件系统。 2.RAM(Random Access Memory)掉电数据丢失,但存取速度快,常用作内存 3.RAM还分为SRAM静态随机存储器(不用不断刷新就可以读取数据,速度快但是造价也高和DRAM动态随机存储器(要不断刷新才能存储读取数据,造价相对较低) 4.DRAM还可以分为SDRAM、DDR、DD
[单片机]