roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 04:26

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: mini2440 смена загрузчика в NOR флеше
СообщениеДобавлено: 07 июл 2010, 01:14 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10989
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
Опишу процедуру смены загрузчика mini2440 непосредственно в NOR

Этот способ более кардинальный чем установка u-boot в NAND и мы не рискуем получить "кирпич" на руках даже в случае стирания области NAND содержащей код загрузчика.

Предварительно рекомендую ознакомиться и попробовать смену загрузчика в NAND forum96/topic8397.html
Это даст навык работы с командами u-boot

Для прошивки нам потребуется:
1. компьютер с аппаратным LPT портом и любой операционной системой windows
(возможно существуют аналоги для других ОС но поскольку такая прошивка обычно делается один раз за жизнь устройства, я не стал заниматься их поисками)
2. программа флешер :
Вложение:
H-JTAG V1.0 Release.part01.rar [1.8 МиБ]
Скачиваний: 0

Вложение:
H-JTAG V1.0 Release.part02.rar [1.78 МиБ]
Скачиваний: 0

3. программатор LPT-JTAG из комплекта mini2440

Описывать процесс самой прошивки я не буду, она достаточно подробна в картинках освещена в конце приложенного PDF
Вложение:
download.pdf [295.43 КиБ]
Скачиваний: 0

к описанию добавлю что прошивка ведётся в режиме NOR и самым первым действием нужно сменить тип программатора с USB на LPT
всё остальное строго по картинкам ровно до выбора файла прошивки.

далее у вас есть два варианта
первый более прост, кардинален и современен, из возможных моральных неудобств в результате его использоваия аплоад файлов на устройство будет возможен только посредством dfu-util (не будут работат usbpush и win dnw).
вся хитрость в использовании современной прошивки u-boot:
Вложение:
u-boot.bin.zip [128.93 КиБ]
Скачиваний: 0


на этом первый способ завершен :) работаем и наслаждаемся

второй гораздо более геморойный, но использование старой версии позволяет загружать файлы через usbpush и win dnw
нужно использовать старую прошивку :
Вложение:
uboot_old.zip [146 байт]
Скачиваний: 0
(старая прошивка u-boot 179444 байта с диска /OpenSourceBootloader/u-boot.bin )

и после смены прошивки произвести такое шаманство:

NOR режим

Цитата:
U-Boot 1.1.6 (Oct 27 2008 - 06:45:29)

DRAM: 64 MB
Flash: 1 MB
NAND: 128 MiB
*** Warning - bad CRC, using default environment

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

##### open24x0 Bootloader for FA24x0 #####
[u] Download u-boot
[k] Download Linux kernel
[j] Download JFFS2 image
[y] Download YAFFS image
[d] Download to SDRAM & Run
[b] Boot the system
[f] Format the Nand Flash
[s] Set the boot parameters
[r] Reboot u-boot
[q] Quit from menu
Enter your selection:


«q»

FA24x0> usbslave
Цитата:
USB host is connected. Waiting a download.



Отправляем файл с линукса
Обращаю внимание что вот в этой операции мы загружаем уже современный бинарник u-boot который будет скопирован в NAND и работать будет именно он, старый нужен только для его загрузки.
calculate mini2440 # ./usbpush ./images/u-boot.bin
Цитата:
csum = 0x edc
send_file: addr = 0x30000000, len = 0x0003b5e0



на консоли mini2440:
Цитата:
Now, Downloading [ADDRESS:30000000h,TOTAL:243178]
RECEIVED FILE SIZE: 243178 (26KB/S, 9S)

FA24x0> nand write.e 0x30000000 0x0 0x40000

Цитата:
NAND write: device 0 offset 0x0, size 0x40000
262144 bytes written: OK


переключаемся в NAND режим

Цитата:
U-Boot 1.3.2-mini2440 (Jul 5 2010 - 18:12:58)

I2C: ready
DRAM: 64 MB
NOR Flash not found. Use hardware switch and 'flinit'
Flash: 0 kB
NAND: Bad block table not found for chip 0
Bad block table not found for chip 0
128 MiB
*** Warning - bad CRC or NAND, using default environment

USB: S3C2410 USB Deviced
In: serial
Out: serial
Err: serial
MAC: 08:08:11:18:12:27
Hit any key to stop autoboot: 0

MINI2440 #
MINI2440 #
MINI2440 #
MINI2440 #
MINI2440 # dynpart
mtdparts mtdparts=mini2440-nand:0x00040000(u-boot),0x00020000(u-boot_env),0x00500000(kernel),0x07aa0000(rootfs)
MINI2440 # dynenv set u-boot_env
device 0 offset 0x40000, size 0x20000
45 4e 56 30 - 00 00 04 00
MINI2440 # saveenv
Saving Environment to NAND...
Erasing Nand...Writing to Nand... done

перезагружаемся - готово


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Установка загрузчика u-boot в NAND
СообщениеДобавлено: 07 июл 2010, 08:59 
Не в сети

Зарегистрирован: 13 апр 2009, 09:29
Сообщения: 89
Откуда: Иваново
Skype: b_andrey_37
У меня на диске есть еще вот такая программулина для прошивки u-boot через jtag. Я ей разок пользовался.
Модератор Setar:сообщение перенес сюда, здесь оно очень в тему


Вложения:
SJF2440.rar [459.46 КиБ]
Скачиваний: 0
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: mini2440 смена загрузчика в NOR флеше
СообщениеДобавлено: 07 июл 2010, 11:06 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10989
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
народ, подскажите плиз как в инженерном калькуляторе посчитать ближайший больший размер бинарного файла кратный 512
Цитата:
MINI2440 # nand info

Device 0: NAND 128MiB 3,3V 8-bit, page size 2048, sector size 128 KiB


сейчас я просто переписываю сильно бОльший блок с последними нулями всеми, просто интересно стало как правильно
:) совсем бинарные операции забыл, сто лет не программил


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: mini2440 смена загрузчика в NOR флеше
СообщениеДобавлено: 09 июл 2010, 00:58 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
Код:
#!/bin/bash
y=$(ls -la $1 | cut -d' ' -f5)
z=$[((($y/512)+1)*512)]
printf "0x%02X\n" $z


Самую чуточку причесал :)

_________________
Linux user | Firefox user


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: mini2440 смена загрузчика в NOR флеше
СообщениеДобавлено: 09 июл 2010, 11:30 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10989
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
вчера в ночи часа 3-4 пытался интегрировать поддержку LCD экрана в бинарник u-boot
(для показа картинки-заставки при включении)
это делается изменением конфига inclides/configs/mini2440
по аналогии с neo1973_gta01.h (первая версия телефона openmiko) делается это примерно так:

Код:
/* Setar mod */                                                                                                                                   
                                                                                                                                                   
//#define CONFIG_CMD_UNZIP                                                                                                                         
                                                                                                                                                   
#define CONFIG_VIDEO                                                                                                                               
#define CONFIG_VIDEO_S3C2410                                                                                                                       
#define CONFIG_CFB_CONSOLE                                                                                                                         
//#define CFG_CONSOLE_IS_IN_ENV                                                                                                                   
//#define CONFIG_CONSOLE_EXTRA_INFO                                                                                                               
//#define CONFIG_CMD_BMP                                                                                                                           
//#define CONFIG_VIDEO_BMP_LOGO                                                                                                                   
#define CONFIG_VIDEO_BMP_GZIP                                                                                                                     
#define CONFIG_VIDEO_LOGO                                                                                                                         
#define CONFIG_SPLASH_SCREEN                                                                                                                       
#define CFG_VIDEO_LOGO_MAX_SIZE         (240*320+1024+100) /* 100 = slack */                                                                       
                                                                                                                                                   
#define CONFIG_VGA_AS_SINGLE_DEVICE                                                                                                               
#define VIDEO_FB_16BPP_PIXEL_SWAP                                                                                                                 
                                                                                                                                                   
#define VIDEO_KBD_INIT_FCT      0                                                                                                                 
#define VIDEO_TSTC_FCT          serial_tstc                                                                                                       
#define VIDEO_GETC_FCT          serial_getc                                                                                                       
                                                                                                                                                   
#define LCD_VIDEO_ADDR          0x33d00000                                                                                                         
                                                                                                                                                   
//#define CFG_BOOTMENU                                                                                                                             
                                                                                                                                                   
/* end Setar mod */

наступил на грабли что бинарник вылазит за 256k
отключил подсказку
//#define CFG_LONGHELP /* undef to save memory */
бинарник поместился но пока до конца не осилил

начальный процесс загрузки идет потом уходит в циклическую перезагрузку,
где то не учел размеры буферной памяти ...
экранчик пытается включаться (подсветка)
Цитата:
U-Boot 1.3.2-mini2440 (Jul 9 2010 - 02:38:16)

I2C: ready
DRAM: 64 MB
NOR Flash not found. Use hardware switch and 'flinit'
Flash: 0 kB
NAND: 128 MiB
*** Warning - bad CRC or NAND, using default environment

Video: 640x480x8 31kHz 59Hz
software interrupt
pc : [<00000004>] lr : [<33fb0388>]
sp : 33d5fe14 ip : 000cb000 fp : 77ff68d6
r10: 00000000 r9 : fd3fbaf2 r8 : 33d5ffdc
r7 : 00000000 r6 : 00000000 r5 : 00000000 r4 : 00000000
r3 : 00000379 r2 : 00000000 r1 : 00000000 r0 : 34024cc4
Flags: nZCv IRQs off FIQs off Mode SVC_32
Resetting CPU ...

не понял почему 640x480x8
копаю дальше...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: mini2440 смена загрузчика в NOR флеше
СообщениеДобавлено: 09 июл 2010, 12:15 
Не в сети

Зарегистрирован: 13 апр 2009, 09:29
Сообщения: 89
Откуда: Иваново
Skype: b_andrey_37
Посмотри этот u-boot. Тут при загрузки высвечивается логотип. LCD только ни 240x320, а 320x240.

[

Добавлено спустя 1 минуту 28 секунд:
Платформа эдентичная mini


Вложения:
u-boot-1.1.6.tar.bz2 [1.58 МиБ]
Скачиваний: 0
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: mini2440 смена загрузчика в NOR флеше
СообщениеДобавлено: 09 июл 2010, 12:36 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10989
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
спасибо, сейчас поковыряю его,
а здесь 240*320 или наоборот не важно - просто размер буфера считается, а вот где ставится разрешение ещё почитать в доках нужно ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: mini2440 смена загрузчика в NOR флеше
СообщениеДобавлено: 09 июл 2010, 12:59 
Не в сети

Зарегистрирован: 13 апр 2009, 09:29
Сообщения: 89
Откуда: Иваново
Skype: b_andrey_37
Платформы практические идентичные. внешний вид разный. Вот то что высвечивается.


Вложения:
PIC_10-07-09_12-51-17.jpg
PIC_10-07-09_12-51-17.jpg [ 15.03 КиБ | Просмотров: 9467 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: mini2440 смена загрузчика в NOR флеше
СообщениеДобавлено: 07 авг 2010, 09:24 
Не в сети
Аватара пользователя

Зарегистрирован: 10 июн 2010, 23:31
Сообщения: 43
Откуда: Краснодар
Skype: rotaxb
прог. языки: C
ФИО: Александр
Может вопрос не к месту, но тему не хотелось создавать.
Есть ли у кого нибудь схема полноценного переходника с USB на LPT. Дело в том что у меня ноут, LPT переходник найти не могу, пробовал пару USB переходников, но они оказались портами принтера, находил ExpressCard/34 переходник ST-Lab C-370, но он так же оказался портом принтера. Соответственно не могу ни JTAG подключить, ни запрограммировать банальную AVRку


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: mini2440 смена загрузчика в NOR флеше
СообщениеДобавлено: 07 авг 2010, 10:54 
Не в сети

Зарегистрирован: 14 июн 2010, 17:19
Сообщения: 167
прог. языки: Qt/C/C++
AVR-ки замечательно шьются через вот этот девайс. Единственная проблема в том, чтобы собрать этот девайс, тебе нужно зашить AVR-ку. Вот такая вот рекурсия получается :)
А насчет лпт переходников незнаю, нагугли чонить, думаю полюбому что-то есть ;)

_________________
Любой прибор, защищённый плавким предохранителем, сможет защитить этот предохранитель, сгорев первым.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: mini2440 смена загрузчика в NOR флеше
СообщениеДобавлено: 07 авг 2010, 19:15 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10989
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
есть мнение что полноценного порта не существует через USB на LPT
в суть не вникал но этот вопрос очень часто всплывает на форумах по CNC (координатные станки)
там все контроллеры до сих пор делают на LPT
Объясняют тем что на USB не построить реалтайм связи с девайсом из за ограничений в протоколе (прерывания просесса передачи)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: mini2440 смена загрузчика в NOR флеше
СообщениеДобавлено: 07 авг 2010, 19:50 
Не в сети

Зарегистрирован: 14 июн 2010, 17:19
Сообщения: 167
прог. языки: Qt/C/C++
А такие девайсы для ноутов тож не катят?
Ну для настольных есть PCI решения, а вот разного рода netbookи аля "асер эспайр ван" или "асусь иеее" и им подобные отдыхают ввиду отсутствия в них и PCI, и PCMCIA :pardon:

_________________
Любой прибор, защищённый плавким предохранителем, сможет защитить этот предохранитель, сгорев первым.


Последний раз редактировалось Resident 09 авг 2010, 10:34, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: mini2440 смена загрузчика в NOR флеше
СообщениеДобавлено: 09 авг 2010, 10:27 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10989
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
такие катят, это полноценный LPT нужно только внимательно смотреть чтобы с драйверами нормально было
например чтобы присутствовал драйвер не только под win но и линукс - пригодится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: mini2440 смена загрузчика в NOR флеше
СообщениеДобавлено: 10 авг 2010, 14:08 
Не в сети
Аватара пользователя

Зарегистрирован: 10 июн 2010, 23:31
Сообщения: 43
Откуда: Краснодар
Skype: rotaxb
прог. языки: C
ФИО: Александр
нашел единственный модуль ExpressCard 34 ST-Lab C-370, но к сожалению оказалось что он так же является портом принтера :( Приступил к поиску оптимальной схемы USB-JTAG. Результаты выложу позже если кого то интересуют.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: mini2440 смена загрузчика в NOR флеше
СообщениеДобавлено: 18 авг 2010, 15:58 
Не в сети
Аватара пользователя

Зарегистрирован: 10 июн 2010, 23:31
Сообщения: 43
Откуда: Краснодар
Skype: rotaxb
прог. языки: C
ФИО: Александр
В результате поисков пришел к выводу что наилучшим является USB-ARM7-ARM9-Cortex-M3-JTAG-Emulator-RS232-Converter
http://cgi.ebay.com/USB-ARM7-ARM9-Corte ... ltDomain_0
среди достоинств:
- удовлетворительная цена;
- высокая скорость, до 6 МБит/с;
- работа с устройствами питающимися от 1,2 до 5 В.
недостатки:
- дорогая доставка

Для самостоятельной сборки подходит следующий:
http://let.nm.ru/Instruments/USB_JTAG/usb_jtag.html
из схемы желательно убрать микросхемы ADuM, т.к. о них плохие отзывы, в следствии применения трансформаторов для развязки питания уязвимы к электромагнитным помехам, а так же возможны зависания.
(Можно заказать этот девайс без доработок http://cxemotexnika.org/2010/06/jtag-адаптер-на-микросхеме-ft2232d/)
Плюсы:
- низкая цена;
- высокая скорость, до 6 МБит/с;
- работа с устройствами питающимися от 1,2 до 5 В.
Недостатки:
- сложность самостоятельного изготовления печатной платы.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO