u-boot.bin(自己移植的)烧写进flash后为啥没有反应

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了u-boot.bin(自己移植的)烧写进flash后为啥没有反应相关的知识,希望对你有一定的参考价值。

只能打印uboot正常启动的前两行信息(第一行是uboot的编译时间,第二行是DRAM大小),而从仿真器上加载u-boot(编译uboot源代码可以生成u-boot.bin和u-boot,仿真器加载的是u-boot)却能正常启动。 请用过u-boot的高手帮忙分析下原因,我都调试好久了,由于是新手,不知道是什么原因或是具体怎么去找原因

参考技术A 用烧录工具是最直接的,也是相对最简单的方式,或是你有个能启动的uboot,然后自己编写修改后用网络,usb,mmc卡,甚至com口等方式烧写都可以。 参考技术B 调试程序可以在RAM里,调好之后,如果掉电程序就没了。
如果烧进flash里,程序就不会没了。
中断在RAM里就可以调试了

u-boot.bin与内核的烧写

韦东山:

u-boot.bin烧写:

一、把板子开关打到nor 上

二、插上jtag 

三、window 上cmd 输入命令oflash

四、openeasyjtag 的烧写oflash 0 1 0 0 1(nor 烧写)offset 0 地址

五、拔掉openeasyjtag 俩端

六、重启开发板(nor 启动)

uUimage :烧写

进入uboot 命令界面后输入q

OpenJTAG> ping 192.168.31.62

ERROR: resetting DM9000 -> not responding
dm9000 i/o: 0x20000000, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 08:00:3e:26:0a:5b
could not establish link
host 192.168.31.62 is alive

输入命令后表示网络已经接通

输入mtd 可以看到分区的地址:

OpenJTAG> mtd

device nand0 <nandflash0>, # parts = 4
#: name size offset mask_flags
0: bootloader 0x00040000 0x00000000 0
1: params 0x00020000 0x00040000 0
2: kernel 0x00200000 0x00060000 0
3: root 0x0fda0000 0x00260000 0

active partition: nand0,0 - (bootloader) 0x00040000 @ 0x00000000

defaults:
mtdids : nand0=nandflash0
mtdparts: mtdparts=nandflash0:[email protected](bootloader),128k(params),2m(kernel),-(root)

uimage:

1.OpenJTAG> tftp 30000000 uImage(TFTP设置服务器即电脑ip,以及uImage 所放的位置)

2.OpenJTAG> nand erase kernel

3.nand write.jffs2 30000000 kernel

4.reset

其他方法遇到补充

 

以上是关于u-boot.bin(自己移植的)烧写进flash后为啥没有反应的主要内容,如果未能解决你的问题,请参考以下文章

u-boot.bin与内核的烧写

海思Hi3519AV100 emmc flash方式 linux系统移植 hitool工具烧写

海思Hi3519AV100 emmc flash方式 linux系统移植 hitool工具烧写

海思Hi3519AV100 emmc flash方式 linux系统移植 hitool工具烧写

脱机烧录实战技能任何支持SWD接口的单片机都可以方便移植的SPI Flash烧写算法制作,含视频说明(2022-05-30)

脱机烧录实战技能任何支持SWD接口的单片机都可以方便移植的SPI Flash烧写算法制作,含视频说明(2022-05-30)