把上面生成的u-boot.bin文件,在cmd下利用sfj2410方式烧入板中,首先拔掉短路帽。。。然后经过连续几个0,之后,开始烧入板子,烧完后退出。重启板子,在串口端下竟然没有看见一点信息,心凉了一大截。。。呵呵!
编译、连接没问题,烧写也没有问题,那为什么uboot启动不了呢?
于是上了
http://www.100ask.net论坛,这个论坛的超级版主就是《嵌入式linux应用开发完全手册》的作者,真的是百问网,问什么都答。。。
开始怀疑是ylp2410的晶振问题,后来看了下优龙板晶振也都是12MHZ,在YLP2410_BIOS下启动linux过程也可以看到这方面的信息。。所以也不是晶振问题。
到了晚上10点多,韦东山老师说他的书上的代码流程不支持nandflash,只支持norflash,韦老师建议用置顶的U-Boot打补丁。论坛中对话如下:
大江东去: 最近看韦山东老师的书到U-boot分析与移植那一块。。。。 我按照15.2.5的方法,一直操作完到第(3)点:增加对S3C2410的支持,(4)选择NOR Flash的型号还没开始做,书上写着做到第(3)步就可以生成bin文件,于是我就在完成(3)步后在最后编译、连接没错误后,生成一个U-Boot.bin文件。。。 于是用优龙的JTAG烧到板里,在cmd下进行,把板上JP1短路帽跳线拔掉,烧到Nandflash上,正常烧完之后,然后JP1短路帽接上,重启板子。 发现在终端上没有一点信息输出。。 我不知是何原因? 想向大家求教下。 补充:我在第(2)点修改SDRAM的配置时,我的网卡芯片是 DM9000AE,与书上的不一样,但我没改,我认为设置刚好匹配。。。这一点对吗?
thisway.diy: ylp2410 的晶振是多少M?
大江东去:s3c2410外部晶振有两个,一个用于系统时钟,一个用于RTC。前者默认是12MHz(smdk2410公版),后者默认是32.768KHz。 我优龙的板子都是12MHZ呢。还请老师明示。。。 但是我看了板上银白 {MOD}的帽子上,好像也是晶振是19MHZ,那应该按哪一个呢? 学生初学U-Boot移植,麻烦了!
thisway.diy:烧到Nandflash上 ?
原版的、书上改的UBOOT不支持NAND启动
大江东去:我的板不支持norflash,不能烧到norflash。。。
有其它方法吗?
thisway.diy:1. 烧到NOR FLASH
2. 用置顶的UBOOT
大江东去: 不能烧到NORflash,不支持总是出错!
只能试下置顶的UBOOT 了
大江东去:好,我试下置顶的uboot。。。
大江东去:经过韦东山老师的指点,终于成功。。。。在这里感谢韦东山老师。。。。。。
过程: 我打了补丁u-boot-1.1.6_OpenJTAG.patch后, 再make 100ask24x0_config make all 生成u-boot.bin 在cmd下用sjf2410烧写,拔掉短路帽,烧进nandflash。 完成之后,插上短路帽。重启,在dnw下就产生如下信息:
U-Boot 1.1.6 (Nov 25 2009 - 22:15:51)
DRAM: 64 MB Flash: 1 MB NAND: 64 MiB *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial UPLLVal [M:28h,P:1h,S:2h] MPLLVal [M:5ch,P:4h,S:0h] CLKDIVN:3h
+---------------------------------------------+ | S3C2440A USB Downloader ver R0.03 2004 Jan | +---------------------------------------------+ USB: IN_ENDPOINT:1 OUT_ENDPOINT:3 FORMAT:
+++ NOTE: Power off/on or press the reset button for 1 sec in order to get a valid USB device address.
Hit any key to stop autoboot: 0 Booting Linux ...
NAND read: device 0 offset 0x0, size 0x200000
reading NAND page at offset 0x0 failed Could not read entire image due to bad blocks 2097152 bytes read: ERROR ## Booting image at 32000000 ... Bad Magic Number
##### 100ask Bootloader for OpenJTAG ##### Download u-boot [k] Download Linux kernel [j] Download JFFS2 image [y] Download YAFFS image [d] Download to SDRAM & Run Boot the system [f] Format the Nand Flash [s] Set the boot parameters
Reboot u-boot [q] Quit from menu Enter your selection: