Ник:
Пароль:

Контакты

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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Старый форум » SK-AT91SAM9XE512-S3E
Портирование Bootstrap, U-Boot и Linux
Alex (Guest)
Добавлено 30.11.1999 00:00 Редактировалось 30.01.2009 19:09
0
Сообщение: 1
Alex (Guest)

Topic opened
Спуститься к концу Подняться к началу
Alex (Guest)
Добавлено 19.01.2009 22:00 Редактировалось 19.01.2009 22:00 Сообщение: 2
Alex (Guest)

Хотелось бы узнать у разработчиков какие изменения и в какие файлы были внесены в исходные коды Bootstrap, U-Boot и Linux при их портировании.
Понимаю, что ответ может потребовать довольно много времени, поэтому просьба к разработчикам не давать ответы типа "взяли и портировали", а по возможности и наличии свободного времени отвечать как можно подробнее.

Пока что хотелось бы спросить про U-Boot. Сравнение скачанного с сайта разработчиков исходного кода с Вашим кодом вызвало у меня несколько вопросов:
1) В файл include/at91_net.h было добавлено объявление нескольких функций. При этом в комментарии к ним фигурирует "for the uClinux 2.0.38". Для чего были внесены эти объяления? Или это просто "мусор", который Вы забыли удалить?
2) cpuarm926ejsat91sam926xusb_ohci.c - добавлено определение OHCI_VERBOSE_DEBUG. Однако т.к. определение DEBUG закомментировано, то, судя по коду, определение OHCI_VERBOSE_DEBUG не имеет смысла
3) includeconfigsat91sam9260ek.h - CFG_MEMTEST_START и CFG_MEMTEST_END были изменены на несовсем очевидные значения. Не могли бы Вы прокомментировать?
4) includeconfigsat91sam9260ek.h - значение CFG_LOAD_ADDR изменено на 0x21000000. Для чего служит данная переменная? Просто адрес буфера по умолчанию для различных команд у-бута?
5) Приведите пожалуйста команды, с помощью которых собирался у-бут
6) Адрес, по которому размещается initrd - 0х2310 0000. В каком файле ядра Linux задается этот адрес (ведь само ядро тоже должно знать, куда для него поместили initrd)? В файле конфигурации at91sam9260ek_defconfig я нашел параметр CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw" однако адрес, используемый здесь отличается от того, по которому размещает у-бут initrd

Заранее благодарен за ответы.
Спуститься к концу Подняться к началу
starterkit (Guest)
Добавлено 19.01.2009 23:22 Редактировалось 19.01.2009 23:22 Сообщение: 3
starterkit (Guest)

1) "оригинальный" u-boot не поддреживал используемый PHY, часть функций была перенесена из u-boot для LPC2478, откуда видимо и остался упоминаемый коментарий про uClinux.
2) не помню чтобы вносил туда существенные изменения ...
3) не понял, что Вас смутило ...
4) насколько помню, это значение загрузки образа по умолчанию, если не указывается конкретный адрес
5) make (с предварительной конфигурацией, см. доку на u-boot)
6) аргументы запуска u-boot не воспринимаются ядром, оно пользуемтся своими аргументами (задаются через его конфиг) отсюда и различия возникающие с течением времени

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно starterkit 19.01.2009 г. в 23:23:22
Спуститься к концу Подняться к началу
Alex (Guest)
Добавлено 20.01.2009 09:26 Редактировалось 20.01.2009 09:26 Сообщение: 4
Alex (Guest)

3) Адреса для memtest устанавливаются в 0х2000 1F40 - 0х2110 1F40
4) "с предварительной конфигурацией"... Собственно о ней я и спрашивал :)
6) Да, но я привел параметр CONFIG_CMDLINE из конфига ядра. В нем для initrd указан другой адрес. Может быть этот адрес задается еще где-то в ядре?
Спуститься к концу Подняться к началу
Alex (Guest)
Добавлено 20.01.2009 09:59 Редактировалось 20.01.2009 09:59 Сообщение: 5
Alex (Guest)

По поводу 1го пункта. Данный файл в Ваших исходниках имеет вид
#ifndef AT91_NET
<Оригинальный код>
#endif
#ifndef AT91_NET
<Тот же самый код>
#endif
С этим все ясно - забыли почистить )

Вот еще вопрос.
7) В файле Makefile в корне U-Boot кросс-компиллятор заменен на arm-none-linux-gnueabi-gcc. Вообще несколько странно, т.к. полученный код будет запускаться на "голом" железе без операционки.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Отредактированно Alex 20.01.2009 г. в 10:16:44
Спуститься к концу Подняться к началу
starterkit (Guest)
Добавлено 20.01.2009 19:15 Редактировалось 20.01.2009 19:15 Сообщение: 6
starterkit (Guest)

3) тестируются "нижние" 18М, хотите, измениете на требуемый Вам диапазон
4) см. доку, сконфигурировал на Atmel EK плату и позже вне с изменения
6) запустите конфигурацию ядра make_menuconfig загляните в Boot options, в строке запуска initrd располагается по 0х2310 0000
7) Компилятор здесь не причем, Вам ничто не мешает создавать им standalone приложения (хоть к Keil-у его подключите).
Спуститься к концу Подняться к началу
Alex (Guest)
Добавлено 21.01.2009 10:50 Редактировалось 21.01.2009 10:50 Сообщение: 7
Alex (Guest)

3) Теперь понятно. Хотя несколько смущает, почему именно 18Мб и почему тестирование начинается не с начала SDRAM, а со смещением 8000 (десятичное) :)
4) Нашел. напишу здесь, мало ли кому пригодится
Для версии U-boot 1.1.5
make at91sam9260ek_config
make all
Спуститься к концу Подняться к началу
Alex (Guest)
Добавлено 21.01.2009 10:51 Редактировалось 21.01.2009 10:51 Сообщение: 8
Alex (Guest)

6) Да, действительно :) Просто я использовал приведенный файл дефолтной конфигурации для at91sam9260ek (папка install). Там стоит адрес 0х2110 000.
7) Спасибо, буду знать. А то "linux" в полном названии gcc смущал.
Спуститься к концу Подняться к началу
Alex (Guest)
Добавлено 22.01.2009 18:00 Редактировалось 22.01.2009 18:00 Сообщение: 9
Alex (Guest)

Еще пара вопросов.
8) Для чего в драйвере Ethernet PHY добавлен код определения физического адреса? В даташите же сказано, что без "подтяжки" соответствующих входов, он будет установлен в 1. Подтягивающих резисторов не используется.
9) Для чего там же закомментирован код функции ресета?
Спуститься к концу Подняться к началу
starterkit (Guest)
Добавлено 22.01.2009 18:29 Редактировалось 22.01.2009 18:29 Сообщение: 10
starterkit (Guest)

8) Внутренние подтяжки слабоваты, не факт что установится 1.
9) Не помню, возможно это не я сделал.
Спуститься к концу Подняться к началу
Форум » starterkit.ru » Старый форум » SK-AT91SAM9XE512-S3E