如何不通过编程器将uboot刷到新买的flash里面
3420 300RV2 841V7 用DD更换UBOOT及用UBOOT救砖教程
3420更换不用TTL线救砖的UBOOT及救砖教教程现开发3420的新UBOOT,刷砖后,不需要使用TTL线就能救砖,适用于300R V2/ 841V7/TP 3420的机型.本教程分2部分一.用新UBOOT替换旧的UBOOT教程(2012年2月11日及以后发货的3420机型均已使用新UBOOT) .二.新UBOOT的救砖教程Uboot文件,因为要对应你的路由的MAC和PIN才能正常使用,所以如果有需要的,请直接找你的卖家,告知卖家你的路由的MAC,PIN(这在路由的底部标签可以找到)以及购买的淘宝旺旺名还有你的路由的FLASH是8M还是16M的,.然后卖家给你一个专用的UBOOT文件.一.用新UBOOT替换旧的UBOOT教程1.在OP里直接刷入群共享的841V7的DD-WRT.刷完后如下图:这里先设置一下帐号与密码.我这里设置USERNAME:rootPASSWORD:admin设置好后,重新登录,进行如下2步的设置,主要是打开SSH服务.具体请看图中红圈进行操作就得了.设置好后,按上图红圈里的按钮应用.这图里也是打开SSH服务的.应用后,SSH服务已经打开了.为保险起见,先重启一下路由.重启完后,用WINSCP登录路由(WINSCP可以在群共享里下载,里面有简单的使用说明), 按下图,把对应的UBOOT文件拖到右边窗口的/tmp文件夹下.点上图(2)的图标,出现下图的命令窗口在命令窗口里打入刷UBOOT的命令,如图中红框所示(注意区分大小写).8M FLASH的命令mtd -r write /tmp/3420-8M-tftp-uboot.bin RedBoot16M FLASH的命令mtd -r write /tmp/3420-16M-tftp-uboot.bin RedBoot 命令打完后,路由会自动重启,到此,UBOOT已经更换完了.二.新UBOOT的救砖教程1. 在电脑架设TFTP服务端把TFTP32软件(在群共享可以下载)和救砖待刷的固件改名为”factory.bin”放在同一文件夹下.2.设置电脑网卡的IP为192.168.1.100,并把网线插到路由的W AN口3.运行TFTP32软件如下图,看到Server interface里出现了192.168.1.100的字样,就说明TFTP 服务端已经正常了.如果没有IP出现,可以先关闭TFTP软件,打开路由电源,等一下子再开软件.4.按着路由的QSS键,并给路由通电(如果原来是通电的,要先关闭电源).看到弹出上图中红圈的窗口,说明正在上传固件到路由了.这个时候你什么也不用做了.等待路由自动重刷固件并自动重启就OK了.。
如何用jlink烧写uboot到nandflash
如何用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“初始化好了,再次初始化会出现内存数据的丢失。
没有仿真器情况下对flash的烧写
利用arm9a烧写flash1 建立硬件环境当我们准备要往FLASH中烧录程序时,首先要先建立烧录的硬件环境,电路连接如图3.19所示:图3.19 硬件环境连线步骤:1.首先,关闭系统电源;2.再用给客户的包装中带的一个两头针的并口线,一头连接计算机的并口,一头连接开发板的并口,另外,用20Pin的排线,将实验箱上的Burn和Jtag连接起来。
FLASH 的烧录程序就通过JTAG接口与CPU通信,控制CPU通过总线实现对相应的FLASH 烧写;3.连接计算机的串口到开发板的串口,可以通过计算机的超级终端观察开发板串口输出信息,验证FLASH烧录是否正确。
串口一般设置为8位数据位、1位停止位、波特率115200、无流控;4.开启电源。
2 芯片的烧录一般来讲,初次烧录芯片都是通过Jtag进行烧写。
下面结合ARM9A.exe介绍烧写程序的步骤。
为了能够使用ARM9A.exe进行烧录,我们必须先装一个名叫“GiveIO”的并口驱动(WIN2000/NT/XP直接访问IO端口需要安装GIVEIO.SYS,WIN95/98下不需要安装),以WINXP为例,安装步骤如下:1) 以administrator身份登录2) 将giveio.inf、giveio.sys文件拷贝到windows\system32\drivers目录下3) 打开控制面板, 选择“添加硬件”4) 单击“下一步”,选择“是,硬件已连接好”5) 在列表中选择“添加新的硬件设备”,单击“下一步”6) 选择“安装我手动从列表中选择的硬件”,单击“下一步”7) "显示所有设备“,单击”下一步“8) 选择”从磁盘安装“,然后浏览找到并选中givio.inf文件9) 按照提示,完成安装。
安装好GIVEIO驱动之后,我们将使用ARM9A.exe进行烧录。
在附带光盘里有一个“BIN”的目录,里面有个可执行文件“ARM9A.exe”,我们烧录FLASH就是用这个程序。
如何不通过编程器将uboot刷到新买的flash里面
如何不通过编程器将uboot刷到新买的flash里面
在此提供如何在没有编程器的情况下将uboot刷入新的flash,但前提是你得有个电烙铁,螺丝刀及串口线:
1,将你的wrt拆开,找到原厂flash芯片,焊下来,如何焊下请google之,没有经验的建议先练习一下,因为焊盘很容易弄坏。
2,将原厂flash放在原位置,焊盘对应好,用手指按紧flash,上电启动,按tpl,进入原厂uboot的终端。
当然这时候里手可能不够用了,但我相信你总有办法,反正一条:让你的wrt先运行原uboot。
3,换下原厂flash,将新flash放到flash焊盘位置,将管脚对应好,同样用手指按紧。
在uboot终端敲入ttl下刷uboot命令(参考FAQ 1)
4,拔掉wrt电源,重启wrt,试试新的flash能不能成功启动,否则重试2-3步,一般一步成功。
5,焊上新的flash,用ttl刷入openwrt固件或其它固件,用ttl 刷入art文件,4M的刷到0x3f0000估计没人用,8M的刷到0x7f0000,16M的刷到0xff0000。
大小都为0x10000
此外,电脑端串口软件建议使用secureCRT,或者还有个wincap 什么的不确定名字。
移植笔记从Norflash启动的uboot
移植笔记从Norflash启动的uboot uboot移植记录之一uboot整个移植过程我们可以分为三个阶段:一,移植可以从Nor flash启动的uboot这个阶段是移植一个最简单的uboot,可以烧在Nor flash内运行.二,移植支持Nand flash驱动的uboot加入Nand flash驱动的支持,可以在uboot命令行下操作Nand flash.但还未能从Nand flash启动,只能在Nor flash内运行.三,移植可以从Nor flash启动的uboot可以烧录在Nand flash,并设置从Nand flash启动运行uboot.分三个阶段进行移植,可以对整个uboot的移植过程及原理更加清晰明了,同时降低了发现问题时解决问题的困难度和解决范围.首先介绍移植可以从Nor flash启动的uboot. 这个阶段相对简单一点,是移植一个最简单的uboot,可以烧在Nor flash内运行.不需要修改太多的东西。
步骤如下: 测试一下默认的smdk2410_config配置能否在你的板子上正常运行 1.编译uboot1.1.4#make smdk2410_config#make ARCH=arm注:编译针对arm的平台时,uboot默认使用arm-linux-gcc编译,若交叉编译器名字不一样,需要自行在Makefile里修改。
会出现两个错误.错误信息一:cc1: Invalid option `abi=apcs-gnu'make[1]: *** [hello_world.o] Error 1make[1]: Leaving directory `/root/u-boot-1.1.4/examples'make: *** [examples] Error 2解决办法:出错的文件是/cpu/arm920t/下的config.mk:将PLATform_CPPFLAGS +=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) 改成: PLATform_CPPFLAGS +=$(call cc-option,-mapcs-32,$(callcc-option,-mabi=apcs-gnu,))错误信息二:make[1]: *** No rule to make target `hello_world.srec', needed by`all'. Stop. make[1]: Leaving directory `/work/src/u-boot-1.1.4/examples' 解决方法:打开 examples/Makefile把example文件夹下的Makefile中的第126行%.srec: % 改成 %.srec: %.o第129行的%.bin: % 改成 %.bin: %.o2.若编译成功,则会在uboot源码下产生u-boot.bin文件。
移植u-boot详细过程
编译信息最后两行:
arm-linux-objcopy --gap-fill=0xff -O srec u-boot u-boot.srec
arm-linux-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin
到此交叉编译成功。
三.开始针对自己的开发板移植
B 是最简单的跳转指令。要注意的是,跳转指令的实际值不是绝对地址,而是相对地址——
是相对当前 PC 值的一个偏移量,它的值由汇编器计算得出。
BL 非常常用。它在跳转之前会在寄存器 LR(R14)中保存 PC 的当前内容。BL 的经典用法如下:
bl NEXT ; 跳转到 NEXT
……
NEXT
……mov pc, lr源自; 从子程序返回。ldr pc, _start_armboot
_start_armboot: .word start_armboot
这两条语句,ldr
pc, _start_armboot 指令把_start_armboot 这个标签的地方存放的内
容(也即是 start_armboot)移到 PC 寄存器里面,start_armboot 是一个函数地址,在编译的时
sbc2410x_config: unconfig @$(MKCONFIG) $(@:_config=) arm arm920t sbc2410x NULL s3c24x0 qljt2440_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm920t qljt2440 qljt s3c24x0 /* 各项的意思如下:
1. 修改/cpu/arm920t/start.S 1.1 修改寄存器地址定义
flash 闪盘U盘短接FLASH方法,解决量产工具无法识别U盘
flash 闪盘U盘短接FLASH方法,解决量产工具无法识别U盘拆开U盘,找到FLASH原点,用水果刀或者镊子,刀片等金属短接29/30针脚或者41/42/43/44都可以!!直到发现硬件为止!!如果超过2分钟还是送修或换一个算了!!短接方法:事实上量产。
先短接29/30 或者41/42/43/44FLASH引脚都可以插上电脑USB接口通电,放开短接点,发现了新硬件即为短接得胜,如果还是不行即为短接不得胜,重新短接或者是U盘硬件损坏,建议送修FLASH短接图(解决U盘量产失败/U盘复位/无法鉴别硬件等问题)许多朋侪通常因为U盘量产失败等原因造成无法应用,因为涉及到硬件方面的知识,需要一定的发端能力,所以我简单的介绍一下。
此方法的缺点就是要拆开U盘,会造成无法保修。
或是操作失识误而使U盘报废!先看两张U盘内部FLASH的实物图:这是我们发端的基础和前提条件再看一张wqwq212制造的FLASH引脚功效图:这个说明是用在MP3上的下面开始了我的SM321主控U盘在一次量产的过程中,突然断电了再次插上U盘,闪盘。
发现量产工具中鉴别不到设备但在电脑屏幕右下方可以发现一个安全弹出USB设备的箭头图标提示:安全弹出USB Mass Storage Device有人说,这不鉴别到了吗?再认真一看,不对呀,想知道flash。
怎么没有显示驱动器盘符?再打开我的电脑,也找不到这个U盘图标我们的量产工程就这么夭折了。
kindle 论坛。
听说魅族m9报价。
看来要来―硬‖的了!拿出镊子,取出刀子,剖开U盘,一气呵成后果就是U盘外壳报废了,看来心急吃不了热豆腐所以大家还是对自已的―小U‖温柔些,慢工出细活嘛按上面的常识,你用镊子拔出―小U‖的小蜜,人称小闪存的29和30腿之间O-yeah量产工具找到了,状态显示―Ready‖,虽说容量显示为0MB,老*不管了,反正人家不是说―Ready‖了嘛此时激动的情就像是火箭倒数发射升空一样,我七上八下的按了―开始‖,看着闪盘U 盘短接FLASH方法。
Nand Flash启动模式下的Uboot移植
Nand Flash启动模式下的Uboot移植
杨素秋
【期刊名称】《软件导刊》
【年(卷),期】2013(020)003
【摘要】BootLoader移植是嵌入式系统开发中的一个重要环节,而Uboot是一个支持多处理器多操作系统较为通用的BootLoader。
分析了Uboot的启动过程,并对s3c2440A如何支持驱动代码在外部NandFlash上的执行,以及在
s3c2440A平台上如何实现NandFlash启动模式下的Uboot移植进行了介绍。
具体操作和编译在fedora9操作系统和arm—linux-gcc4.3.2交叉编译下完成。
【总页数】4页(P33-36)
【作者】杨素秋
【作者单位】常州信息职业技术学院,江苏常州213164
【正文语种】中文
【中图分类】TP301
【相关文献】
1.基于S3C2440 Nand Flash启动模式的研究 [J], 韩金利
2.季底效应6月下旬主流NAND Flash颗粒合约价小跌约1%~6% [J],
3.VxWorks环境下NandFlash驱动程序设计研究 [J], 冉鹏;陈向
4.Nand Flash启动模式下的Uboot移植 [J], 杨素秋
5.嵌入式Linux下NAND flash上根文件系统的构建 [J], 程建
因版权原因,仅展示原文概要,查看原文内容请购买。
uuboot 移植流程
uuboot 移植流程U-Boot 移植流程介绍U-Boot是一个开源的引导加载程序,常用于嵌入式系统中。
移植U-Boot可以将其适配到不同的硬件平台上,以满足特定需求。
本文将详细说明U-Boot移植的流程。
准备工作1.硬件选型:根据项目需求,选择适合的硬件平台。
2.获取源代码:从U-Boot官方网站或仓库下载最新版本的源代码。
3.安装交叉编译工具链:根据目标硬件平台的指令集架构,选择合适的交叉编译工具链,并进行安装。
4.了解目标硬件平台:熟悉目标硬件平台的架构、引导方式、存储器布局等相关信息。
移植流程1.配置编译环境:设置交叉编译工具链的环境变量,以确保正确编译U-Boot源代码。
2.配置U-Boot:修改U-Boot源代码中的配置文件,根据目标硬件平台的特性和需求进行相应配置。
–配置目标硬件平台的处理器类型、存储器布局等基本信息。
–配置启动方式,如通过网络(TFTP)或存储介质(SD卡、NAND Flash)等进行启动。
–配置启动流程,如引导加载程序的加载顺序、启动脚本等。
3.添加适配代码:根据目标硬件平台的需求,编写适配代码,包括引导加载程序和设备驱动等。
–引导加载程序:为目标硬件平台选择合适的程序入口点,配置启动参数,加载适配的设备驱动等。
–设备驱动:根据目标硬件平台的外设,编写相应的设备驱动代码,以支持外设的初始化和操作。
4.编译U-Boot:使用交叉编译工具链,编译修改后的U-Boot源代码。
–执行make clean清除之前的编译结果。
–执行make命令编译U-Boot源代码。
5.烧录和运行:将编译生成的U-Boot镜像烧录到目标硬件平台,并进行测试。
–根据目标硬件平台的烧录方式(串口、JTAG等),将U-Boot镜像烧录到目标设备。
–启动目标设备,观察U-Boot的启动信息是否正常输出,检查设备驱动是否正常加载。
6.调试和优化:根据实际情况,进行U-Boot的调试和性能优化。
–使用调试工具进行调试,如调试器、串口打印信息等。
vivado2015.4刷写BOOT.BIN到Flash的方法步骤
1概述
Xilinx7000系列一般有3种启动方式sd卡启动、qspi启动、nand启动,但是一般消费电子使用的是sd卡,然后后期再烧录到qspi里面去,但是在军工行业,紧紧提供了qspi和jtag口,在拿到没有程序的板子的时候,首先就需要先把boot.bin下载到QSPI里,然后板子默认从QSPI启动,启动u-boot后,即可引导设备树和内核以及文件系统。
本文档提供如何检测jtag是否连接上target以及如何使用jtag先把boot.bin烧录到qspi里。
2检测target
1)打开vivado
2)打开openhardwaremanager
3)点击opentarget
4)点击autoconnect
5)失败
6)成功
3下周boot.mcs或者boot.bin
3.1启动SDK,选择xilinx Tools中的programflash
3.2找到下载镜像,选择通信类型
Zed板子是single的,一般板子是dual的,点击program
3.3开始下载
3.4完成。
1-通过usb将u-boot.bin烧写到nand-flash
一、PC机到TPAD的连接方式PC机(开发主机)下载到TPAD(目标机,开发板)USB口RS232串口网口 JTAG口二、设置TPAD的启动方式:启动方式的设定是通过拨码开关来进行设置的。
设置从USB启动。
1.4->ON三、连接开发板:B线,大口接PC,小口接TPAD上的OTG口2.串口线,一端接PC,一端接TPAD的COM1口3.电源线,一端接插线板,一端接电源孔(5V/3A)四、在PC端的Windows下运行DNW软件1. 通过USB口从主机端下载启动程序到TPAD的内存中运行2. 要求通信双方都要运行软件主机端———— USB ————TPADDNWs5pv210处理器 IROM(只读存储器)说明:s5pv210处理器里面有一段三星固化好的代码(出厂自带),代码在处理器里面IROM只读存储器中,板子一上电,执行IROM中代码,就会判断拨码开关,通过判断拨码开关的设置方式,就知道从哪里去获得启动程序,由于拨码开关设置从USB启动,因此,IROM代码将从USB接口获取启动程序。
3.串口的配置configuration->oprtion配置串口的波特率:115200配置使用的串口为:COM14.点击serial port ->connect->标题栏出现com1,115200bps,说明串口已生效。
连接前的状态:连接后的状态:5. 5. USB驱动的安装,使用DNW软件通过USB向TPAD发送程序x210_usb.bin1)配置下载地址:0xd0020010configuration->oprtion送:x210_usb.binTPAD中IROM负责接收:接收x210_usb.bin,运行x210_usb.bin,但并DNW中没有任何显示信息。
6. 使用DNW软件通过USB向TPAD发送程序u-boot.bin1)配置下载地址:0x23e00000configuration->oprtion2)PC机通过DNW软件向TPAD发送:u-boot.binTPAD中IROM负责接收:接收u-boot.bin,运行u-boot.bin,显示信息通过串口发送给DNW软件进行显示。
最新Uboot移植步骤 5:NorFlash
最新Uboot移植步骤5:NorFlash显示Flash:***failed***,说明norflash未识别,我们搜索“Flash:”进入第一个查看找到这个判断条件,如果flash_size>0则输出flash大小,否则输出*** failed ***### ERROR ### Please RESET the board ###其中hang函数导致程序无法继续向下执行,我们只实现了nand启动肯定在这会卡住,所以我们不用这个hang 函数,直接输出flash未识别的信息就好了,改动如下:现在来找norflash未识别的原因,进入flash_init函数看见这样一段代码可知,有2个函数可以检测flash的大小如果flash_detect_legacy函数不行再使用flash_get_size函数,先进入flash_detect_legacy函数看下,其结构如下:该函数有2个,使用哪一个由宏CONFIG_FLASH_CFI_LEGACY决定,搜索该宏:很明显,前面我们都是使用该函数进行大小检测的,而该函数无法识别flash,那我们使用新方法进行检测,进入新方法查看:发现有很多可用调试信息,我们看看如何起用这些调试信息:发现只要定义了_DEBUG即可启用调试信息,我们定义该宏:在文件开始发现注释:我们直接定义DEBUG即可,配置,编译,下载到板子norflash:重新上电从norflash启动,输出如下:我们查看JEDEC PROBE:从哪来查看norflash手册,看读取的设备ID是否正确可以看到输出的厂家设备ID是正确的,说明下面这个函数读取正确那就是函数出现错误,我们进入该函数查看:通过注释就可看到该函数是把我们读取的ID与这里的jedec_table[]数组里的ID进行比较,看这个数组:该数组里存有各种型号的设备参数,而我们的不在其中,我们自己添加:发现这里有个和我们类似的,拷贝代码用下:添加后修改成我们自己的:***************************************************************************************** 现在先说一下,这些参数都如何得到的并修改:.mfr_id = 0x001c001c,厂家ID,.dev_id = 0x2249,设备ID.name = "EON EN29LV160A",名字自己取.uaddr = {[1] = MTD_UADDR_0x0555_0x02AA /* x16 */},解锁地址,如图:NorFlash读ID时,前3周期是写数据,第4周期是读数据,先在555地址写AA,再在2AA地址写55,再在555地址写90,这时解锁成功,就可以从地址100读取厂家ID是1C,设备ID也是如此。
TP 720N V3 8M flash 无TTL 刷回原厂教程
TP 720N V3 8M flash 无TTL 刷回原厂教程1.首先请确定机器是TP 720N V3版本,并且已经刷了的不死uboot文件720N-不死uboot_EC888F123456.bin(初始MAC位于1FC00,为EC888F123456,请用winhex自行修改)。
(如果硬件版本不对,最好不要尝试,以免变砖;如果硬件版本OK,不确定是否是附件uboot,请重刷uboot,方法见如下)TP 720N V3版本4M 或者8M flash 刷不死uboot教程1.1原厂固件或者其他固件请升级到附件2的TL-WR720N_Gargoyle-Router_Revision-04ff0f8.bin(该固件mtd 可写): 若无法直接刷,请先刷720N-4M-石像鬼月圆之夜-3G-factory.bin再升级。
1.2 winscp连接到路由(用户root密码password),将720N-不死uboot_EC888F123456.bin上传至/tmp,secueCR(用户root密码password)登录路由,运行cd /tmp,接着运行mtd –r write uboot_EC888F123456.bin u-boot,机器重启之后就已经是720N-不死uboot_EC888F123456.bin了。
注意: 下次升级tp官网下载的固件的时候要注意是不是有uboot(看固件大小是否是3.75 MB (3,932,160 字节),最好用winhex查看固件),否则将会把uboot刷掉,很可能变砖。
刷完720N-不死uboot_EC888F123456.bin之后,关闭路由电源,按住路由的reset键,同时打开电源,看到LED 闪完第四次后松开reset,设置本地连接IP为192.168.1.2,掩码255.255.255.0,在IE输入192.168.1.1进入刷机界面,刷入720Nv3-无uboot-有art-TP原厂固件-4M-20130819.bin文件,刷完重启就已经是tp原厂了,路由IP 192.168.1.253,无线开启无密码。
UBOOT移植(NANDFLASH的支持)——初步移植(一)
UBOOT移植(NANDFLASH的支持)——初步移植(一)这里就仿造《TQ2440的学习—UBOOT移植(NAND FLASH的支持)——初步分析》中展示的S3C2410的NAND FLASH驱动实现S3C2440的NAND FLASH驱动。
还是一步步的来,先实现基本的读写系统。
至于硬件ECC校验就先不实现。
在UBOOT下编写设备支持程序,还是遵循先配置头文件再修改的相关初始化代码的思路来进行。
配置头文件(include/configs/fzb2440.h)关于NAND FLASH的宏配置,有一部分是通用的,一部分是只存在于特定驱动中的。
通用配置CONFIG_CMD_NAND ——开启NAND FLASH支持主要就是支持相关的操作命令,这个可以说是总开关(默认已经包含在config_cmd_default.h中)。
CONFIG_MTD_DEVICE——在使用MTD驱动的规范的时候必须要定义这个宏。
CONFIG_SYS_MAX_NAND_DEVICE——描述有几个NAND FLASH设备。
S3C2440上只有一个接口,所以就只有一个设备。
CONFIG_SYS_NAND_MAX_CHIPS——描述这个NAND FLASH 设备上有几个NAND FLASH芯片。
TQ2440上只使用了一个NAND FLASH芯片,所以就只有一个芯片。
CONFIG_SYS_NAND_BASE——描述NAND操作模块的基地址,S3C2440上是0x4e000000起始的。
CONFIG_SYS_NAND_PAGE_SIZE——描述所使用的NAND FLASH的页大小,TQ2440使用的2K页的芯片(如果不指定,MTD 驱动也会自动尝试获取相关的信息,这里只是为开启硬件校验而定义,最好将其归类于硬件校验支持所需要的宏)。
CONFIG_SYS_NAND_ECCSIZE——这个是表明ECC校验的数据区的大小尺寸(软件校验默认256字节,硬件校验由于S3C2440的这部分功能是针对一个页实现的,所以既然使用2K页的NAND FLASH 所以这部分也就和CONFIG_SYS_NAND_PAGE_SIZE相等)。
UBoot移植详细教程
u-boot 移植步骤详解(必会)1 U-Boot简介U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目。
从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。
其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。
但是U-Boot不仅仅支持嵌入式Linux系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系统。
其目前要支持的目标操作系统是OpenBSD, NetBSD, FreeBSD,4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS。
这是U-Boot中Universal的一层含义,另外一层含义则是U-Boot除了支持PowerPC系列的处理器外,还能支持MIPS、x86、ARM、NIOS、XScale等诸多常用系列的处理器。
这两个特点正是U-Boot项目的开发目标,即支持尽可能多的嵌入式处理器和嵌入式操作系统。
就目前来看,U-Boot对PowerPC系列处理器支持最为丰富,对Linux的支持最完善。
其它系列的处理器和操作系统基本是在2002年11 月PPCBOOT 改名为U-Boot后逐步扩充的。
从PPCBOOT向U-Boot的顺利过渡,很大程度上归功于U-Boot的维护人德国DENX软件工程中心Wolfgang Denk[以下简称W.D]本人精湛专业水平和持着不懈的努力。
当前,U-Boot项目正在他的领军之下,众多有志于开放源码BOOT LOADER移植工作的嵌入式开发人员正如火如荼地将各个不同系列嵌入式处理器的移植工作不断展开和深入,以支持更多的嵌入式操作系统的装载与引导。
FLASHTOOL强刷工具使用方法
与设置环境变量。
XP 与 WIN7 系统建立 JAVA 环境变量的方法 1、点击下载 JDK6,安装目录请不要更改,默认就可
以啦
/file/f8fbcbaee2# JDK6.rar
②X8-2.1.1.A.0.6 港行版 SI=1241-5913
下载地址: X8-2.1.1.A.0.6 港行版下载.rar
(190 Bytes)
③X8-2.1.1.A.0.16 国行版 SI=1241-5920
下载地址: 国行 2.1.1.A.0.16 强刷包.rar
(187 Bytes)
④w8_2.1.1.A.0.46_China 国行版 SI=1250-8886 下载地址:
1、chargemon 更好的支持更多的 rom; 2、busybox 升级至:1.17.2;
3、开发者功能:安装和重启自制的内核--开发者用; 4、recovery 升级到 J's CM7rc2 的 FreeXperia recovery;
5、recovery 和 busybox 可以安装在自制 rom 上; 6、Busybox 位置改为 /system/xbin; 7、Recovery 位置改为/system/recovery; 8、插拔手机时,软件将自动识别手机;
出一个权限选项,请点击允许。 FlashTool 开始写入开启 JIT 的程序, 安装过程结束手机自动重启,JIT 开启 完成,如需进一步开启 xRecovery,请 不要断开手机与电脑连接,继续下一步。
3、安装 xRecovery 做好开启 JIT 后,手机重启完毕后,请
U-BOOT移植教程
U-BOOT移植实验u-boot简介u-boot是德国DENX小组的开发用于多种嵌入式CPU的bootloader程序, u-boot不仅仅支持嵌入式Linux系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系统。
u-boot除了支持PowerPC系列的处理器外,还能支持MIPS、 x86、ARM、NIOS、XScale等诸多常用系列的处理器。
u-boot源码目录介绍u-boot的启动过程1 启动流程我们一般把bootloader都分为阶段1(stage1)和阶段2(stage2)两大部分,依赖于CPU体系结构的代码(如CPU初始化代码等)通常都放在阶段1中且通常用汇编语言实现,而阶段2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。
1 阶段1,汇编代码,对于s3c2410是cpu/arm920t/start.s文件。
主要流程如下:关闭看门狗禁掉所有中断设置CPU的频率把自己拷贝到RAM配置内存区控制寄存器配置的栈空间进入C代码部分2 阶段2是C语言代码,在lib_arm/board.c中的start_armboot是C语言开始的函数,也是整个启动代码中C语言的主函数。
这个函数调用一系列的初始化函数,然后进入主UBOOT命令行,进入命令循环(即整个boot的工作循环),接受用户从串口输入的命令,然后进行相应的工作。
当用户输入启动linux的命令的时候,u-boot会将kernel 映像(zImage)和从nand flash 上读到RAM 空间中,为内核设置启动参数,调用内核,从而启动linux。
u-boot移植要点:我们可以总结出bootloader的两大功能:1 是下载功能,既通过网口、串口或者USB口下载文件到RAM中。
2 是对flash芯片的读写功能。
u-boot对S3C2410已经有了很好的支持,我们在移植过程中主要是完善u-boot对nand flash的读写功能。
读取flash芯片方法
读取flash芯片方法
读取Flash芯片的方法通常分为两种,一种是通过编程器读取,另一种是通过软件读取。
以下是两种方法的具体步骤。
一、通过编程器读取
这种方法需要使用专用的编程器和相应的软件。
通常,编程器会提供一个插口,将Flash芯片插入其中即可读取。
步骤如下:
1.将Flash芯片插入编程器插口。
2.打开相应的软件,选择读取Flash芯片的操作。
3.根据芯片型号、容量等参数设置相应的参数。
4.点击读取按钮,等待读取完成。
二、通过软件读取
这种方法不需要专门的编程器,只需要使用通用的串口或USB接口,连接Flash芯片并使用相应的软件即可读取。
步骤如下:
1.连接Flash芯片和电脑,使用串口或USB接口连
接。
2.下载并安装相应的读取软件。
3.打开软件,选择读取Flash芯片的操作。
4.根据芯片型号、容量等参数设置相应的参数。
5.点击读取按钮,等待读取完成。
需要注意的是,读取Flash芯片需要谨慎操作,一些芯片可能具有防止读取的保护机制,如果未经授权擅自读取可能会导致芯片损坏或数据丢失。
因此,在进行读取操作之前应该先了解芯片的特性和保护机制,并严格按照操作说明进行操作。
FLASH代换升级手册(适用MPN和U盘)
FLASH代换升级手册(适用MPN和U盘)FLASH代换升级手册(适用MPN和U盘)默认分类 2010-11-08 14:24:02 阅读31 评论0 字号:大中小订阅FLASH代换升级在MPN维修和U盘DIY中是经常要用到的,比如维修MP4的时候怀疑固件问题,想刷FW,但是手上没有确定正确的固件的时候,常常会焊下原机FLASH,焊上代用的FLASH来刷固件,以避免故障扩大。
而如果是怀疑FLASH损坏,那代换FLASH更是必不可少了。
但是我发现论坛里面不少朋友对FLASH代换升级都不是很了解,甚至不少老手都在代换中遇到不少问题,所以专门把我的经验写下来,希望对大家有所帮助。
描述:图1,TSOP48封装的FLASH图片:描述:图2,8位和16位FLASH对比图片:描述:图3,FLASH引脚说明图片:一,基础知识现在数码设备上常用的FLASH基本都是TSOP48封装,其引脚比较密,焊接的时候最好用尖头的烙铁。
见图1,闪存芯片,不同容量是Pin to Pin 的,即芯片的封装、引脚的功能、外围电路都是基本相同的。
可以说是硬件间的兼容,这为FLASH 代换提供了基础。
常用的FLASH都属于并行FLASH,是同时可以传输多位数据,分为8位和16位,8位就是说FLASH有8个数据脚(I/O0-I/O7)也有的是标为(D0-D7),一次可以同时传输8位数据。
16位以此类推。
常用设备中用8位的较多,占到9成以上。
在图2中可以看到,除了数据脚,8位和16位的FLASH其他引脚是一致的。
在图2中我们发现,FLASH的48个引脚中很多都是空的(NC),特别是8位的FLASH(因为16位FLASH用得很少,所以下面的说明都是以8位的FLASH作为例子),一共才用了19个脚,这其中我们需要了解的只有2个,CE和R/B脚。
这2个脚对FLASH代换升级有较大影响。
CE是片选,和主控的CE脚相连,只有CE被主控相连选中,FLASH才能工作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1,将你的wrt拆开,找到原厂flash芯片,焊下来,如何焊下请google之,没有经验的建议先练习一下,因为焊盘很容易弄坏。
2,将原厂flash放在原位置,焊盘对应好,用手指按紧flash,上电启动,按tpl,进入原厂uboot的终端。
当然这时候里手可能不够用了,但我相信你总有办法,反正一条:让你的wrt先运行原uboot。
3,换下原厂flash,将新flash放到flash焊盘位置,将管脚对应好,同样用手指按紧。在uboot终端敲入ttl下刷uboot命令(参考FAQ 1)
4,拔掉wrt电源,重启wrt,试试新的flash能不能成功启动,否则重试2-3步,一般一步成功。
5,焊上新的flash,用ttl刷入openwrt固件或其它固件,用ttl刷入art文件,4M的刷到0x3f0000估计没人用,8M的刷到0x7f0000,16M
此外,电脑端串口软件建议使用secureCRT,或者还有个wincap什么的不确定名字。