Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:0
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Embedded Linux
Выравнивание образа для записи в NAND, u-boot
sasamy
Добавлено 29.11.2013 12:37 Сообщение: 11
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
Вот до кучи с trimffs

=> nand write.trimffs ${fileaddr} kernel ${filesize}

NAND write: device 0 offset 0x200000, size 0xb
11 bytes written: OK

вот переменные окружения после записи

=> printenv
baudrate=115200
bootargs=noinitrd console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait rw
bootcmd=run nand_boot
bootdelay=3
bootdev=mmc
bootfile=zImage
bootpath=boot
devnum=0
devpart=1
dtb_update=tftp imx53-sk.dtb; mtdparts default; nand erase.part fdt; nand write ${fileaddr} fdt ${filesize}
dtbaddr=0x71200000
dtbfile=imx53-sk.dtb
ethact=FEC
ethaddr=00:1f:f2:00:00:00
ext4_boot=ext4load ${bootdev} ${devnum}:${devpart} ${loadaddr} ${bootpath}/${bootfile}; ext4load ${bootdev} ${devnum}:${devpart} ${dtbaddr} ${bootpath}/${dtbfile}; bo}
fileaddr=70800000
filesize=b
fs_update=tftp rootfs.ubi; mtdparts default; nand scrub.part filesystem; nand write.trimffs ${fileaddr} filesystem ${filesize}
ipaddr=192.168.0.136
kern_update=tftp; mtdparts default; nand erase.part kernel; nand write ${fileaddr} kernel ${filesize}
loadaddr=0x70800000
mtddevname=bootloader
mtddevnum=0
mtdids=nand0=mxc-nand
mtdparts=mtdparts=mxc-nand:1m(bootloader),512k(environment),512k(redundant-environment),4m(kernel),128k(fdt),8m(ramdisk),-(filesystem)
nand_boot=mtdparts default; nand read ${loadaddr} kernel; nand read ${dtbaddr} fdt; bootz ${loadaddr} - ${dtbaddr}
netmask=255.255.255.0
partition=nand0,0
ramd_boot=mtdparts default; nand read ${loadaddr} kernel; nand read ${ramdaddr} ramdisk; nand read ${dtbaddr} fdt; bootz ${loadaddr} ${ramdaddr} ${dtbaddr}
ramd_update=tftp rootfs.img; mtdparts default; nand erase.part ramdisk; nand write ${fileaddr} ramdisk ${filesize}
ramdaddr=0x71300000
serverip=192.168.0.2
stderr=serial
stdin=serial
stdout=serial
tftp_boot=tftp; tftp ${dtbaddr} ${dtbfile}; bootz ${loadaddr} - ${dtbaddr}
uboot_update=mtdparts default; tftp u-boot-with-nand-spl.imx; nand erase.part bootloader; nand write ${fileaddr} bootloader ${filesize}
ver=U-Boot 2013.07 (Aug 21 2013 - 23:48:05)

Environment size: 1894/16379 bytes
Спуститься к концу Подняться к началу
Персональная информация
simark1979
Добавлено 29.11.2013 12:41 Редактировалось 29.11.2013 12:43 Сообщение: 12
simark1979
0

Пункты: 6256
Регистрация: 03.10.2012
Пол: Мужчина
Не понимаю......(

Одно непонятно, если юбуту пофигу, для чего равняют на хосте файлы с ядром и юбутом...

щас повторю ваш эксперимент
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 29.11.2013 12:46 Редактировалось 29.11.2013 12:46 Сообщение: 13
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
Цитата

Одно непонятно, если юбуту пофигу, для чего равняют на хосте файлы с ядром и юбутом...


Не понимаю - откуда вы это взяли ? Параметры nand нужно знать при создании образа fs для nand, для всего остального это не нужно.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 29.11.2013 12:51 Редактировалось 29.11.2013 12:54 Сообщение: 14
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
Цитата

NAND write: device 0 offset 0x1405b51, size 0xebfa4af


смотрите в сторону этого - у вас явно не в ту область идет запись
offset 0x1405b51 - откуда берется эта парадоксальная цифра :)
на вашем месте я бы для начала записал без mtdparts указывая реальные адреса для nand в командной строке вручную.
Спуститься к концу Подняться к началу
Персональная информация
simark1979
Добавлено 29.11.2013 13:03 Сообщение: 15
simark1979
0

Пункты: 6256
Регистрация: 03.10.2012
Пол: Мужчина
Ваш эксперимент удался

Бред какой-то.....
один и тот же файл если забираю с юсб - дает ошибку,
а если по фтп - пишет.....
Спуститься к концу Подняться к началу
Персональная информация
simark1979
Добавлено 29.11.2013 13:17 Редактировалось 29.11.2013 13:24 Сообщение: 16
simark1979
0

Пункты: 6256
Регистрация: 03.10.2012
Пол: Мужчина
NAND write: device 0 offset 0x1405b51, size 0xebfa4af
size adjusted to 0xeb5a4af (5 bad blocks)
Attempt to write non page-aligned data
0 bytes written: ERROR


Предположение такое:
У меня на флэхе битые блоки из-за этого в RAM кроме самого файла ложатся битые блоки флэхи (или маркеры битых блоков......видимо это и мешает.....
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 29.11.2013 13:27 Сообщение: 17
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
Блин - при чем тут битые блоки ? Проблема у вас не техническая - вы не читаете то что вам пишут. ЗАПИСЬ НЕ В ТУ ОБЛАСТЬ NAND по невыравненному адресу.
Спуститься к концу Подняться к началу
Персональная информация
simark1979
Добавлено 29.11.2013 13:39 Редактировалось 29.11.2013 13:44 Сообщение: 18
simark1979
0

Пункты: 6256
Регистрация: 03.10.2012
Пол: Мужчина
я ничего тогда не понимаю, я пишу одной и той же командой в обоих случаях

КАК ЭТО МОЖЕТ ПИСАТЬ НЕ ТУДА?

=> printenv write_firmaware_to_nand
write_firmaware_to_nand=mtdparts default; nand erase.part firmware; nand write.trimffs ${fileaddr} firmware ${filesize}
=>
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 29.11.2013 13:58 Редактировалось 29.11.2013 14:02 Сообщение: 19
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
Цитата

КАК ЭТО МОЖЕТ ПИСАТЬ НЕ ТУДА?


Элементарно - у вас где-то ошибка в скриптах
хост

sudo mkfs.vfat /dev/sdd1
sudo mount /dev/sdd1 /mnt
sudo cp /tftpboot/zImage /mnt
sudo umount /mnt

плата

=> usb start; fatload usb 0:1 ${loadaddr} zImage
(Re)start USB...
USB0: USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
scanning usb for ethernet devices... 0 Ethernet Device(s) found
reading zImage


11 bytes read in 18 ms (0 Bytes/s)
=> mtdparts default; nand erase.part kernel; nand write ${fileaddr} kernel ${filesize}

NAND erase.part: device 0 offset 0x200000, size 0x400000
Erasing at 0x5e0000 -- 100% complete.
OK

NAND write: device 0 offset 0x200000, size 0xb
11 bytes written: OK

либо загружая файл в RAM затираете убут - я хз где вы напортачили
Спуститься к концу Подняться к началу
Персональная информация
simark1979
Добавлено 29.11.2013 14:37 Сообщение: 20
simark1979
0

Пункты: 6256
Регистрация: 03.10.2012
Пол: Мужчина
Затирание RAM............. возможно

Вы не могли бы помочь разобраться что где лежит в RAM?
мой конфиг
http://paste.ubuntu.com/6493618/
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux