реклама на сайте
подробности

 
 
> Запись Linux в NAND Ti AM1705, No space left to write bad block table
Arischenko Ivan
сообщение Feb 12 2012, 21:20
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 112
Регистрация: 29-10-06
Пользователь №: 21 768



Добрый день.

Плата на основе TI AM1705, NAND NAND512W3A (ST Micro NAND 64MiB 3,3V 8-bit); u-boot и ядро в NAND памяти.
Проблема : ядро не может корректно про инициализировать NAND память, не создает устройств в dev c которыми можно работать, но при использовании команды u-boot scrub, до первой перезагрузки ядро получает возможность корректно работать с NAND.

Куда копать, чтобы у ядра и u-boot не появлялось сообщение "No space left to write bad block table"?


При старте u-boot выдает сообщение

CODE
Bad block table not found for chip 0
Bad block table not found for chip 0
No space left to write bad block table


Ядро с ним солидарно :
CODE
NAND device: Manufacturer ID: 0x20, Chip ID: 0x76 (ST Micro NAND 64MiB 3,3V 8-bit)
Bad block table not found for chip 0
Bad block table not found for chip 0
Scanning device for bad blocks
Bad eraseblock 4092 at 0x000003ff0000
Bad eraseblock 4093 at 0x000003ff4000
Bad eraseblock 4094 at 0x000003ff8000
Bad eraseblock 4095 at 0x000003ffc000
No space left to write bad block table
davinci_nand: probe of davinci_nand.1 failed with error -28


Сообщения об ошибках не мешают u-boot работать с NAND, т.е. я смог загрузить ядро в NAND а потом загрузить его из NAND и стартовать с него.

CODE
U-Boot > nboot.e 0xc0700000 0 0x80000

Loading from NAND 64MiB 3,3V 8-bit, offset 0x80000
Image Name: Linux-3.2.1
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2026040 Bytes = 1.9 MB
Load Address: c0008000
Entry Point: c0008000
U-Boot > bootm
## Booting kernel from Legacy Image at c0700000 ...
Image Name: Linux-3.2.1
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2026040 Bytes = 1.9 MB
Load Address: c0008000
Entry Point: c0008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK


Если воспользоваться командой u-boot U-Boot > nand scrub 0, то таблица bbt создается :
CODE
Really scrub this NAND flash? <y/N>
Erasing at 0x3ffc000 -- 100% complete.
Bad block table not found for chip 0
Bad block table not found for chip 0
Bad block table written to 0x000003ffc000, version 0x01
Bad block table written to 0x000003ff8000, version 0x01
OK


И при дальнейшей загрузке ядра, оно корректно работает с NAND, до первой перезагрузки.

CODE
NAND device: Manufacturer ID: 0x20, Chip ID: 0x76 (ST Micro NAND 64MiB 3,3V 8-bit)
Bad block table not found for chip 0
Bad block table not found for chip 0
Scanning device for bad blocks
Bad block table written to 0x000003ffc000, version 0x01
Bad block table written to 0x000003ff8000, version 0x01
Creating 4 MTD partitions on "davinci_nand.1":
0x000000000000-0x000000040000 : "bootloader"
0x000000040000-0x000000080000 : "params"
0x000000080000-0x000000480000 : "kernel"
0x000000480000-0x000004000000 : "filesystem"
davinci_nand davinci_nand.1: controller rev. 2.5
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01327 секунд с 7
ELECTRONIX ©2004-2016