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

 
 
> nboot для s3c2410, загрузчик для s3c2410
TrueCyrix
сообщение Aug 6 2013, 08:02
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 6-08-13
Пользователь №: 77 820



Здравствуйте!
Я уже не знаю куда мне обратиться за помощью, толи никто ничего не понимает, толи просто не хотят помочь.

Вобщем есть некое устройство, собранное на процессоре типа ARM9 от Samsung (SC32410) на плате ядра, кроме кристала есть встроенная flash память 64 МБ. Так же у этого устройства есть не большой LCD дисплей, по моему 8 дюймов. Мне нужно переписать два загрузчика, nboot и eboot, а затем загрузить WinCE 4.2 Net или 5-ю. Для этого процессора есть такой SMDK2410 который включает в себя исходники nboot и eboot НО!!! Я никак не могу найти способ получить из этих исходников nboot.bin (4кб) и eboot.bin (96кб) - облазил весь интернет, пробовал всякие там keil и прочее - одни компиляторы кричат, что им вечно чего-то не хватает, другие орут что диалект написания кода давно устарел и что в Makefile вместо -cpu ARM920T надо писать --cpu ARM920T и ещё куча матов в этом роде. У меня уже мозг клинит, не знаю что и делать.
Пробовал Platform Builder - но это вообще жесть! Там даже один nboot собрать не смог - оказывается его там просто нет!

кто может помочь, откликнитесь пожалуйста!
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
Fedor
сообщение Aug 6 2013, 17:04
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 26-10-05
Пользователь №: 10 125



Цитата(TrueCyrix @ Aug 6 2013, 14:02) *
Здравствуйте!
Я уже не знаю куда мне обратиться за помощью, толи никто ничего не понимает, толи просто не хотят помочь.

Вобщем есть некое устройство, собранное на процессоре типа ARM9 от Samsung (SC32410) на плате ядра, кроме кристала есть встроенная flash память 64 МБ. Так же у этого устройства есть не большой LCD дисплей, по моему 8


Так выложте исходники nboot и eboot
Go to the top of the page
 
+Quote Post
TrueCyrix
сообщение Aug 7 2013, 05:12
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 6-08-13
Пользователь №: 77 820



Цитата(Fedor @ Aug 6 2013, 21:04) *
Так выложте исходники nboot и eboot


исходники во вложении.

а вот то самое устройство, для котрого я пытаюсь собрать эти загрузчики
http://www.shtrih-m.ru/production/produce_663.html

это не отладочная плата, а рабочее устройство. Сами производители не хотят идти со мной на контакт, потому, что считают, что я хочу похитить их продукт - а мне просто надо использовать это устройство для других целей без их логотипов и прочего. Там при загрузке из eboot на экран вылезает полосатый конь - логотип ЗАО "ШТРИХ-М" - мне это не интересно, в самой WinCE - так же на рабочем столе логотип ШТРИХ-М - который не убирается, короче мне нужно переписать загрузчики и саму WinCE без всяких логотипов.

На сайте samsung вообще ничего найти не могу не про nboot не про eboot - зато сколько непристойных ссылок находит поисковик при вводе eboot - специально будешь искать - не найдёшь, а тут вот нате пожалуйста.

Сообщение отредактировал TrueCyrix - Aug 7 2013, 05:13
Прикрепленные файлы
Прикрепленный файл  nboot_eboot.zip ( 182.23 килобайт ) Кол-во скачиваний: 40
 
Go to the top of the page
 
+Quote Post
Jury093
сообщение Aug 7 2013, 05:52
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(TrueCyrix @ Aug 7 2013, 09:12) *
На сайте samsung вообще ничего найти не могу не про nboot не про eboot - зато сколько непристойных ссылок находит поисковик при вводе eboot - специально будешь искать - не найдёшь, а тут вот нате пожалуйста.

а в ваших исходниках не смотрели? например там есть такая строчка:
Код
In stead, we used ARM Development Suite v1.2 to build NAND bootloader.

http://nitroroms.com/show/file-info/L40353...1.2-ELA.7z.html
Go to the top of the page
 
+Quote Post
TrueCyrix
сообщение Aug 7 2013, 10:50
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 6-08-13
Пользователь №: 77 820



Спасибо за ссылку, я пробовал эту программу, только другой версии - вот она то и ругалась на устаревший диалект. В версии 1.2 которая по ссылке при сборке не видит компилятор "Couldn't find compiler "ARM Compiler"" - хотя он там есть. Может быть надо пути где-то прописать?


во время make по кнопке F7 из Metrowerks CodeWarrior for ARM Deverloper Suite v1.2 ругается всё на тот же диалект - вот пример:

Error : (Serious) C2947E: Illegal types for operands: '.' 2410loader.c line 224

а вот сама строка:

*pbUUID = toc.udid[i];

ему точка не нравится - а почему??? ведь даже версия сборщика и компилятора совпадают!

Сообщение отредактировал TrueCyrix - Aug 7 2013, 10:52
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 7 2013, 13:31
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



а структура toc то где то описана? а тип ее совпадает?
ему не точка не нравится а несовпадение операндов. А Вы вообще программист?

еще есть настройки компилятора и среды, какие типа можно переводить неявно какие нет и прочее...
Go to the top of the page
 
+Quote Post
Fedor
сообщение Aug 7 2013, 15:21
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 26-10-05
Пользователь №: 10 125



Судя по грепу в исходниках не объявлена структура ТОС?
Код
Binary file 2410loader.axf matches
Binary file 2410loader.bin matches
2410loader.c:80:    // Hardcoded to fetch TOC descriptor dwEntry
2410loader.c:99:TOC toc; // made global because it's too big for our tiny stack
2410loader.c:108:    if ( !FMD_ReadSector(TOC_SECTOR,
2410loader.c:116:    if ( !VALID_TOC(&toc) ) {
2410loader.c:117:        Uart_SendString("ERR_INVALID_TOC: ");
2410loader.c:119:        return ERR_INVALID_TOC;
2410loader.c:124:    // Search through the TOC to match the signature
Binary file 2410loader.elf matches
Binary file bin/nboot.bin matches
Binary file bin/nboot.axf matches
boot.txt:6:    Block 1 is the TOC block which specifies the layout on the NAND
boot.txt:37:    The layout on the first sector of TOC block is:
boot.txt:39:    typedef struct _TOC_SECTOR {
boot.txt:43:    } TOC_SECTOR, *PTOC_SECTOR;
boot.txt:52:        For development, we can write our own TOC sector so that id[0] points to
nand.h:77:#define ERR_INVALID_TOC           8
nand.h:113:    ULONG   nummods;                // number of TOCentry's
Binary file obj/2410loader.o matches



И скорее всего она определна в файле
..\inc\loader.h которого нет в исходниках

Сообщение отредактировал Fedor - Aug 7 2013, 15:22
Go to the top of the page
 
+Quote Post
TrueCyrix
сообщение Aug 7 2013, 16:42
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 6-08-13
Пользователь №: 77 820



вобще я программист, но не С и С++ - я люблю и пишу на Visual Basic-е
до этого писал программы для MCS-51 но тоже не на C++ а на специализированном интерпритатотре - получалось и получается не плохо. А вот не давно решил попробовать этот ужас под названием ARM9 и естественно все исходники на С++.

ладно... это всё лирика...

файла loader.h действительно нет в исходниках и я его где-то нашёл и засунул в каталог с проектом, проект собрался и скомпилировался без ошибок! Я получил на выходе долгожданный nboot.bin - но вот беда, он получился больше 4-х килобайт (4197 байт) и он не влезет в NAND! там нужен размер 4096. Где и как подгоняется размер я пока не разобрался. Может быть кто нибудь в курсе как вобще можно повлиять на размер?
Go to the top of the page
 
+Quote Post
Fedor
сообщение Aug 7 2013, 17:29
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 26-10-05
Пользователь №: 10 125



Цитата(TrueCyrix @ Aug 7 2013, 22:42) *
больше 4-х килобайт (4197 байт) и он не влезет в NAND! там нужен размер 4096. Где и как подгоняется размер я пока не разобрался. Может быть кто нибудь в курсе как вобще можно повлиять на размер?

как такое может быть вообще NAND<4096 ??
Go to the top of the page
 
+Quote Post
Jury093
сообщение Aug 7 2013, 17:36
Сообщение #10


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(TrueCyrix @ Aug 7 2013, 20:42) *
Может быть кто нибудь в курсе как вобще можно повлиять на размер?

есть три пути:
- поискать у компилятора ключ оптимизации (по размеру или быстродействию) возможно он выключен..
- поискать в исходниках "ненужные" ветки подпрограмм, например для заведомо отсутствующей периферии..
- закомментарить вывод всей консольной информации - буквы съедают драгоценные байты.. оставить только последнее "мяу" перед загрузкой очередного бинарника..
Go to the top of the page
 
+Quote Post
TrueCyrix
сообщение Aug 7 2013, 17:37
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 6-08-13
Пользователь №: 77 820



Цитата(Fedor @ Aug 7 2013, 21:29) *
как такое может быть вообще NAND<4096 ??



при попытке засунуть туда 4097 байт возникает ошибка при загрузке в устройство.
Go to the top of the page
 
+Quote Post
Jury093
сообщение Aug 7 2013, 17:37
Сообщение #12


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(Fedor @ Aug 7 2013, 21:29) *
как такое может быть вообще NAND<4096 ??

вероятно ТС имел ввиду размер страницы в нанде, а не физический размер флеша..
Go to the top of the page
 
+Quote Post
TrueCyrix
сообщение Aug 7 2013, 17:49
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 6-08-13
Пользователь №: 77 820



Цитата(Jury093 @ Aug 7 2013, 21:36) *
есть три пути:
- поискать у компилятора ключ оптимизации (по размеру или быстродействию) возможно он выключен..
- поискать в исходниках "ненужные" ветки подпрограмм, например для заведомо отсутствующей периферии..
- закомментарить вывод всей консольной информации - буквы съедают драгоценные байты.. оставить только последнее "мяу" перед загрузкой очередного бинарника..



спасибо, сейчас попробую.

Цитата(Jury093 @ Aug 7 2013, 21:37) *
вероятно ТС имел ввиду размер страницы в нанде, а не физический размер флеша..


да! всё верно! я не так выразился!

Получилось уменьшить размер!!! Спасибо Jury093! Завтра попробую залить в устройство и по мигать отладочными светодиодами на плате ядра! Далеко не уходите, не бросайте меня, а то мало ли чего... Fedor, спасибо за подсказку по поводу loader.h!
Go to the top of the page
 
+Quote Post
TrueCyrix
сообщение Aug 8 2013, 08:08
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 6-08-13
Пользователь №: 77 820



Залил nboot в устройство и оно мне плюнуло в uart следующее:

WinCE NAND Boot v1.00
Aug 08 2013 11:21:39

dwEntry is 0x00000001

Boot ERROR:0x00000008

теперь надо как-то грамотно собрать eboot, чтобы nboot проглотил его и передал ему управление... понятия не имею как это сделать.

всё пропало!
у меня исходник nboot-а который даже рядом не стоял с родным nboot.bin для этого устройства.

Во первых в родном nboot-е исключены любые выводы в uart чтобы уложиться в 4096, во вторых в оригинальном nboot при старте происходит инициализация дисплея LCD, включается подсветка и белый фон, через секунду он тухнет, да и на доп.дисплее (алфавитно-цифровом, однорядном) отображается версия лоадера. А в моём варианте при подаче питания он сразу же стртует без кнопки страта и со звуковым сигналом ошибки. На доп.дисплее "PROGRAMMING MODE". Вобщем засада. Значит мне надо как-то не позволить ему включаться при подаче питания - только по кнопке и проинициализировать LCD дисплей. Какой ужас! Рано я обрадовался. sad.gif Геморрой только начался.
Go to the top of the page
 
+Quote Post
Dron_Gus
сообщение Aug 9 2013, 09:05
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Цитата(TrueCyrix @ Aug 8 2013, 12:08) *
sad.gif Геморрой только начался.

У вас хоть схема на устройство то есть? Без этого дальнейшее копание не имеет смысла, имхо.
Проше расковырять родные загрузчик и образ wince и подправить там необходимые ресурсы.


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 07:33
Рейтинг@Mail.ru


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