无法写bootloader到nor当中

我根据教程使用NandFlash上的u-boot烧写NorFlash/, u-boot也是采用 u-boot_burn_nor_with_nand.bin 文件。步骤如下

  1. 将u-boot_burn_nor_with_nand.bin写入nand
  2. 选择nand引导按钮,并且开机。
  3. u-boot启动后,把按钮退回nor启动
  4. 在u-boot menu中,选择rescan nor
  5. 选择“copy bootloader from nand to nor“

结果:
reading NAND page at offset 0x0 failed
Could not read entire image due to bad blocks

尝试nor启动u-boot失败。
以下附详细过程,恳请帮助。

U-Boot 1.1.6 (Jul 29 2016 - 02:38:17)

DRAM:  64 MB
JEDEC PROBE: ID 90 0 0
Flash:  0 kB
NAND:  256 MiB
In:    serial
Out:   serial
Err:   serial
UPLLVal [M:38h,P:2h,S:2h]
MPLLVal [M:5ch,P:1h,S:1h]
CLKDIVN:5h


+---------------------------------------------+
| S3C2440A USB Downloader ver R0.03 2004 Jan  |
+---------------------------------------------+
USB: IN_ENDPOINT:1 OUT_ENDPOINT:3
FORMAT: <ADDR(DATA):4>+<SIZE(n+10):4>+<DATA:n>+<CS:2>
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 0x60000, size 0x200000

Reading data from 0x25f800 -- 100% complete.
 2097152 bytes read: OK
## Booting image at 30007fc0 ...
Bad Magic Number

##### 100ask Bootloader for OpenJTAG #####
[n] Download u-boot to Nand Flash
[c] Re-scan Nor Flash
[u] Copy bootloader from nand to nor
[v] Copy bootloader from nor to nand
[k] Download Linux kernel uImage
[j] Download root_jffs2 image
[y] Download root_yaffs image
[d] Download to SDRAM & Run
[z] Download zImage into RAM
[g] Boot linux from RAM
[f] Format the Nand Flash
[s] Set the boot parameters
[b] Boot the system
[r] Reboot u-boot
[q] Quit from menu
CTRL-A Z for help | 115200 8N1 | NOR | Minicom 2.8 | VT102 | Online 1:48 | ttyUSB1                                                                                                                         CTRL-A Z for help | 115200 8N1 | NOR | Minicom 2.8 | VT102 | Online 1:49 | ttyUSB1                                                                                                                                               c
Flash:  2 MB

##### 100ask Bootloader for OpenJTAG #####
[n] Download u-boot to Nand Flash
[o] Download u-boot to Nor Flash
[c] Re-scan Nor Flash
[u] Copy bootloader from nand to nor
[v] Copy bootloader from nor to nand
[k] Download Linux kernel uImage
[j] Download root_jffs2 image
[y] Download root_yaffs image
[d] Download to SDRAM & Run
[z] Download zImage into RAM
[g] Boot linux from RAM
[f] Format the Nand Flash
[s] Set the boot parameters
[b] Boot the system
[r] Reboot u-boot
[q] Quit from menu
Enter your selection: u

NAND read: device 0 offset 0x0, size 0x40000

reading NAND page at offset 0x0 failed
Could not read entire image due to bad blocks
 262144 bytes read: ERROR
Un-Protect Flash Bank # 1

....... done
Erased 7 sectors

我查了下nand的badblock,u-boot不会超过2M,涵盖区域应该是[0x0, 0x200000]。第一个坏块是0xd80000。在该区域之后。

OpenJTAG> nand info

Device 0: NAND 256MiB 3,3V 8-bit, sector size 128 KiB
OpenJTAG> nand device 0 
Device 0: NAND 256MiB 3,3V 8-bit... is now current device
OpenJTAG> nand bad

Device 0 bad blocks:
  00d80000
  05740000
  09ce0000
  0a240000
  0f280000