烧写uboot
- 格式:pdf
- 大小:348.70 KB
- 文档页数:4
OMAP-L138的u-boot烧写所需软件:(这里使用合众达公司提供的开发套件)1)CCS3.3Version3.3.82.132)DSP仿真器SEDD-XDS560V23)SecureCRT6.5所需文件:1)nand-writer_ccs33.out2)OMAPL138_ARM.gel3)ubl-nand.bin4)u-boot.bin首先在光盘资料下找到相应的软件,安装好CCS3.3和SEED-XDS560V2仿真器驱动。
连接好硬件,包括电源,串口,网口(网线要使用交叉网线),JTAG口。
第一步打开开发板的电源,然后打开CCS3.3setup开发环境。
如下图所示:选择对应的仿真器驱动,在Family下找到OMAP系列,在Platform 下找到SEEDXDS560V2系列下的OMAP-L138板子,如下图所示:点击Add按钮,再点击Save&Quit按钮保存退出。
如下图所示:第二步启动CCS Studio,仿真器连接正确将进入到以下界面,此时双击ARM9_0选项,进入开发环境界面。
第三步进入CCS开发界面后,如下图所示:此时仿真器并未连接上,需要点击Debug菜单下的connect选项,当仿真器连接上后,左下角将会提示target已经连接上。
第四步加载OMAP-L138_ARM.gel文件。
在选项上点击右键,选择Load GEL选项,选择所在路径(资料光盘中可以找到)的OMAP-L138_ARM.gel文件。
如下图所示:第五步烧写UBL(user Boot Loader)。
在CCS的菜单File栏下找到Load Program选项,弹出如下界面:在对应的路径下找到nand-writer_ccs33.out文件,加载完成之后,点击Debug菜单下的Run(快捷键F5)选项。
在弹出的对话框中输入:armais,然后点击OK按钮,如下图所示:紧接着继续回弹出如下对话框,输入ubl-nand.bin的路径,然后点击OK按钮,如下图所示:等待ubl-nand.bin烧写完成,出现如下图所示则表示烧写成功。
如何用jlink烧写uboot到nandflash1.通过Nor Flash下载a. speed 12000 //设置TCK为12M,下载程序时会很快b. loadbin d:\u-boot.bin 0x30000000注意:0x30000000是你想要下载u-boot.bin到开发板的内存地址,内存地址根据不同的开发板设定不同,因为本文中使用的是FL2440,片上系统是S3C2440,内存挂载的地址区域是0x30000000~0x33ffffff,我们只需要把u-boot.bin下载到这片区域即可然后我们在U-boot命令行模式输入NAND Flash擦除和写入命令即可:c.nand erase 0 40000// 擦除从0地址开始的大小为0x40000的Nnad Flash扇区,0x40000是待写入的U-boot.bin的大致长度,长度必须为NAND Flash页大小的整数倍,通常会需要比u-boot.bin实际长度长。
d.nand write 30000000 0 40000 // 把前面下载到0x30000000的u-boot.bin烧写到Nand去二、方法二,直接通过JLink假如你的开发板没有NOR Flash或者是你使用的NOR Flash还未被J-FLASH ARM所支持,这时上面的方法你就无法使用了,这时候你需要一个初始化内存SDRAM的程序,这个程序完成的功能也就是配置好SDRAM的寄存器,使它能正常工作,fl2440的内存初始化程序下载地址:“2440init.bin”。
你还需要准备一个特殊的u-boot_SDRAM.bin,它与你要烧写到NAND Flash的u-boot.bin有区别,u-boot_SDRAM.bin编译时需要在include/configs/开发板配置文件.h 文件中添加:#define CONFIG_SKIP_LOWLEVEL_INIT 1 //用来支持uboot在内存中直接运行添加这个宏定义之后,U-boot就跳过了内存初始化的部分,因为此时我们的内存已经先由“2440init.bin“初始化好了,再次初始化会出现内存数据的丢失。
如何烧写Uboot
预览说明:预览图片所展示的格式为文档的源格式展示,下载源文件没有水印,内容可编辑和复制
基于ARM 的系统开发的初期,烧写FLASH 是必不可少的步骤。
特别是bootloader的烧写,非常重要,有了bootloader其他的程序就可以通过串口或者网口进行烧写了。
我们提供的bootloader是u-boot 1.1.1版本
用并口延长线连接 JTAG到开发板 JTAG接口和电脑并口(接上并口线而不连接开发板JTAG板子上面的电源指示灯亮,接上开发板JTAG灯熄灭,开发板上电后指示灯又亮)
安装好 flashpgm软件后,进行如下配置
点击菜单File-Open选择TXMCU(fk).ocd文件。
Ocd文件是一个硬件系统的配置文件,设置了CPU,FLASH类型,FLASH接口的位宽等具体的参数,可通过FlashPgm生成。
光盘上已经带有一个已经配置好的TXMCU(fk).ocd文件。
在光盘,如图所示
配置好.Ocd文件后,点击FlashPgm软件左下角“Flash ID”按钮检测一下Flash ID,
以测试JTAG 连接是否正常。
如果能够正常读取出来,表明JTAG 连接没有问题,如下图:
点击Program按钮,在出现的对话框中选择编译好的u-boot文件(ELF格式的)『在光盘里』,然后选择在编程前先擦除选项,其他的3 个地址不需要修改。
点击Program。
首先将会擦除相应的Flash 区域,然后编程和校验。
进度条将显示当前编程进度。
如下图所示:。
烧写ARM开发板系统教程-----uboot、内核以及⽂件系统⼀、sd启动将u-boot镜像写⼊SD卡,将SD卡通过读卡器接上电脑(或直接插⼊笔记本卡槽),通过"cat /proc/partitions"找出SD卡对应的设备,我的设备节点是/dev/sdb.(内存卡的节点)。
当有多个交叉编译器是,不⽅便设置环境变量时,可以在编译命令中指定交叉编译器,具体如下:在源码中操作以下步骤:make distcleanmake ARCH=arm CROSS_COMPILE=/opt/FriendlyARM/toolschain/4.5.1/bin/arm-none-linux-gnueabi- mrpropermake ARCH=arm CROSS_COMPILE=/opt/FriendlyARM/toolschain/4.5.1/bin/arm-none-linux-gnueabi- tiny210_configmake ARCH=arm CROSS_COMPILE=/opt/FriendlyARM/toolschain/4.5.1/bin/arm-none-linux-gnueabi- all spl编译出tiny210-uboot.bin,注意交叉编译⼯具路径执⾏下⾯的命令$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(开发板ip,不要与虚拟机和电脑ip冲突)setenv netmask 255.255.255.0setenv serverip 192.168.1.10(虚拟机ip)saveenv⼆、nand启动烧写Uboot:通过SD卡启动的u-boot for tiny210 将u-boot镜像写⼊nandflash在虚拟机下重启tftp sudo service tftpd-hpa restart开发板终端下执⾏下⾯的命令:[FriendlyLEG-TINY210]# tftp 21000000 tiny210-uboot.bin[FriendlyLEG-TINY210]# nand erase.chip[FriendlyLEG-TINY210]# nand write 21000000 0 3c1f4 (写⼊长度)内核的烧写位置是0x600000开始的区域,⽂件系统烧写位置为0xe00000开始的区域。
uboot中烧录方法
在嵌入式系统开发中,U-Boot是一个常用的引导加载程序,用
于引导嵌入式设备的操作系统。
烧录U-Boot到嵌入式设备通常涉及
以下几种方法:
1. 串口烧录,通过串口连接嵌入式设备和主机,使用串口通信
工具(如minicom、putty等)将U-Boot固件通过串口传输到设备
的存储器中。
这种方法需要设备具备串口接口,并且需要主机具备
串口通信工具和相应的串口线缆。
2. TFTP烧录,使用TFTP(Trivial File Transfer Protocol)通过网络将U-Boot固件传输到嵌入式设备的存储器中。
在设备启动时,U-Boot会尝试从网络上的TFTP服务器下载固件。
这种方法需
要设备处于能够访问网络的环境中,并且需要在网络中设置好TFTP
服务器。
3. SD卡烧录,将U-Boot固件写入SD卡,然后将SD卡插入嵌
入式设备,设备在启动时会读取SD卡中的U-Boot固件。
这种方法
需要主机具备SD卡写入工具,如dd命令或Win32 Disk Imager等。
4. JTAG烧录,使用JTAG(Joint Test Action Group)接口连接嵌入式设备和主机,通过专用的JTAG调试器将U-Boot固件烧录到设备的存储器中。
这种方法通常需要专门的硬件设备和相应的调试软件。
在选择烧录方法时,需要根据具体的嵌入式设备和开发环境来决定,确保选择的方法能够有效、安全地将U-Boot固件烧录到设备中,并且需要注意备份设备中原有的U-Boot固件以防止意外情况发生。
希望这些信息能够帮助你更好地理解在U-Boot中的烧录方法。
1.J-Link commander:如果没有发现检测到CPU,就在里面执行usb命令连接JLink,再执行r命令识别处理器(复位)2.3 下载运行特制的程序对于S3C2410、S3C2440处理器,它们内部有4K的SRAM,当使用Nor Flash启动时,地址为0x40000000;当使用Nand Flash启动时,地址为0。
对于S3C2410、S3C2440开发板,一般都外接64M的SDRAM。
SDRAM能被使用之前,需要经过初始化。
所以,先把一个init.bin下载到内部SRAM去运行,它执行SDRAM的初始化;然后再下载一个比较大的程序,比如u-boot到SDRAM去动行,它将实现对Nor、Nand Flash的操作。
以下是在J-Link commander里的命令,假设init.bin、u-boot.bin在e:盘下。
1. speed 12000 //设置TCK为12M,下载程序时会很快2. 下载并运行init.bin,这是用来初始化SDRAM的2.1 如果是NAND启动:(跳线打到NAND)loadbin e:\init.bin 0setpc 0g2.2 如果是Nor启动:(跳线打到NOR)loadbin e:\init.bin 0x40000000setpc 0x40000000g3. 下载特制的uboot:hloadbin e:\u-boot.bin 0x33f80000 链接地址setpc 0x33f80000g同理可以通过J-link下载其他程序文件:hloadbinyour_file.bin 0x30000000g这时,你的文件已经被下载到SDRAM 0x30000000去了。
5.使用u-boot烧写Flash(1).通过u-boot烧写到Nor Flash:在u-boot里执行:protect off all // 解锁erase 0 2ffff // 擦除从0地址开始的大小为0x30000的NOR Flash扇区(大小为可擦除块的整数倍,可以运行flash info命令查看)cp.b 0x30000000 0 30000 // 把前面下载到0x30000000的程序烧写到NOR去(2).通过u-boot烧写到Nand Flash:在u-boot里执行:nand erase 0 30000 // 擦除从0地址开始的大小为0x30000的Nnad Flash扇区nand write.jffs2 30000000 0 30000 // 把前面下载到0x30000000的程序烧写到Nand去注意,上面用的2ffff、30000等数字是192K,如果你的程序比较小,请自行设置。
TF卡烧写UBOOT
把光盘BOOT目录下的boot.bz2文件拷贝到PC机linux的目录下,例如/home/armzone/
然后解压boot.bz2
tar jxvf boot.bz
进入解压后的boot目录
把TF卡插入读卡器,把读卡器插到PC机的USB端口。
如果使用虚拟机的话,请将U盘接入到虚拟机。
在虚拟机右下角找到TF读卡器设备,点击右键,选择Connect
然后在linux的终端执行UBOOT写入命令
sudo ./armzone.sh /dev/sdb
要求输入root用户密码,输完密码后回车,输入密码过程不会显示***,注意操作。
这样烧写就完成了。
常见错误
TF卡硬件没有识别到,或者TF卡设备名称不是sdb
使用df命令查看挂载设备
如上图,有sdbx设备存在才行。
如果TF卡被识别为sdc或者sdd等,都不能正常烧写。
使用SerialFlashUtility烧写ubl和uboot需要文件(以SPI flash启动为例):(1)ubl-spi_ais.bin(通过AISgen for D800K008工具进行格式转换)(2)u-boot.bin在windows下运行command prompt进入sfh_OMAP-L138.exe所在的文件目录设置S7管脚如下1、Erase the target flash type - This will erase the entire contentsof the flash.o sfh_OMAP-L138.exe -erase在按下板子reset键后2、Flash the memory with a single application image - This will placean application image at address 0x0 of the flash. This must be an AIS format binary, which can be created with the AISgen utilities bundled with the Bootloader User Guide.o sfh_OMAP-L138.exe -flash_noubl在按下板子reset键后3、Flash the memory with a UBL and application image - This will placea UBL at address 0x0 of the flash and an application image, suchas u-boot, at address 0x10000. In general, a UBL is not required, and this mode is only used when restoring the defaultflash contents, as explained in the following section.o..\sfh_OMAP-L138.exe -flash按下板子reset后Ubl和uboot烧写完后,需要将S7开关设置为如下然后重新reset,则打开Hyper terminal,可见表示下载成功,uboot可以成功启动注:/index.php/Serial_Boot_and_Fla sh_Loading_Utility_for_OMAP-L13 8Help:sfh_OMAP-L138.exe 的命令格式编译UBL:生产ubl-spi.bin和ubl-spi.out只有ubl启动(或uboot不能正确启动),串口显示如下:Booting with TI UBLDevice OPP (300MHz, 1.2V)。
烧写U-BOOT该部分内容在Windows 7上测试通过。
1-1-1固化启动代码到SD卡中插SD卡到PC机中,打开SD_Writer,如下图,依次点Scan、Format,Select Boot选mmc。
再点击Program。
成功后把由Uboot源码生成的u-boot.bin文件拷到SD卡中。
1-1-2设置开发板从SD卡启动1.将SD卡插入到TE6410开发板的SD插座中;2.设置开发板的拨码开关SW2,让开发板从SD 卡启动:SW2引脚号Pin 8 Pin 7 Pin 6 Pin 5 Pin 4 Pin 3 Pin 2 Pin 1 引脚定义SELNAND OM4 OM3 OM2 OM1 GPN15 GPN14 GPN13 Nandflash启动 1 0 0 1 1 X X X Norflash启动X 0 1 0 1 X X XSD卡启动 1 1 1 1 1 0 0 0 拨码开关拨到“OFF”位置上表示“0”,另一侧表示“1”。
3.连接好开发板的串口线,USB线,电源线,打开dnw软件(位于用户基础资料光盘的“实用工具”文件夹中,将其拷贝到硬盘上运行)。
点击菜单“Serial Port Connect”,显示连上串口。
连接成功后,标题栏会显示[COM1,115200bps]图表错误!未找到引用源。
.14.打开开发板电源开关,可在DNW窗体上看到SDboot启动信息:图表错误!未找到引用源。
.21-1-3通过设置SW2引脚号Pin 8 Pin 7 Pin 6 Pin 5 Pin 4 Pin 3 Pin 2 Pin 1 引脚定义SELNAND OM4 OM3 OM2 OM1 GPN15 GPN14 GPN13 Nandflash启动 1 0 0 1 1 X X XNorflash启动X 0 1 0 1 X X XSD卡启动 1 1 1 1 1 0 0 0恢复nand启动,在提示时,按下空格键(其他键也可),即可看到所期待的页面:。
Uboot烧写方法
Author:atxb
一、使用openjtag烧写uboot
首先要把openjtag接到开发板上面,要注意是否在/etc/udev/rules.d/目录下面有没有50-ftdi.rules,如果没有,用我给你打包的一个50-ftdi.rules,将它放进目录后,然后重启电脑。
就可以使用
其次在openocd的目录下面要有openocd(可执行文件)、openocd.cfg(openocd的配置文件),这样openocd就可以工作
1、在openocd的这个目录下面要打开三个终端:a、minicom(图1,E选项:这里面要配
置为115200和8N1,A选项配置为/dev/ttyUSB1或者是/dev/ttyUSB0)b、openocd(运行)c、telnet 127.0.0.1 4444
图(1)
图(2)
2、在telnet 127.0.0.1 4444这个终端里面按照下面的顺序输入:
a、reset halt
b、load_image xboot.bin 0 (xboot.bin是bootloader)
c、resume 0
d、halt
e、load_image uboot.bin 0x51000000
f、resume
3、在minicom终端里面会出现“$>”这个符号(如果看不到这个符号,先检查串口终端),
按回车能看到光标向下切换,这是输入“erase”,看到block0和block1擦除之后,在输入“write”,会看到写了128页全是“OK”,复位开发板就可以出现“uplooking”的uboot 如图(3)所示
图(3)
详解请参看附(1)。
二、使用SD卡烧写uboot
首先将SD卡插入读卡器中,将其与电脑USB接口连接
打开一个终端,在命令行中运行write_sd。
1、输入:./write_sd /dev/sdb /……/u-boot-move.bin (u-boot-move.bin的绝对路径)
2、将开发板的启动开关置为“SD”方向,上电后即可看到,如图(4)所示
图(4)
3、将u-boot.bin放入tftpboot共享目录中
4、在minicom终端
输入:a、nand erase
b、tftp 54000000 u-boot.bin
c、nand write 54000000 0 40000
5、关闭开发板,将启动开关置为“NAND”方向,打开电源,会出现图(5)
图(5)
附(1)
在telnet 127.0.0.1 4444输入的命令:
a、reset halt
//复位处理器并挂起CPU
b、load_image xboot.bin 0
//load_image加载镜像命令,把xboot.bin加载到0地址
c、resume 0
//从0地址开始运行,就会运行xboot.bin
d、halt
//挂起处理器,让处理器停止运行
e、load_image uboot.bin 0x51000000
//加载uboot.bin到SDRAM的0x51000000,
f、resume
//恢复halt位置,继续运行
minicom输入的命令:
a、e rase擦除NAND FLASH前两个block
b、write写0x51000000的数据到NAND FLASH的前两个block 内存的地址:0x50000000——0x57FFFFFF,大小为128MB
0地址:。