Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:9
Форум » starterkit.ru » Embedded QNX
SK-AT91SAM9260+QNX6.3.2(from starterkit)
apilon
Добавлено 03.08.2010 12:36
0
Сообщение: 1
apilon
0

Регистрация: 02.08.2010
Добрый день. Готовьтесь, пост будет большой, ибо уже месяц идет отчаянная схватка между мной и микроконтроллером AT91SAM9260!

ИСХОДНАЯ ЗАДАЧА: Оценить производительность at91sam9260 на примере местной программы управления технологическими процессами, работающей под qnx. Программе нужен доступ в сеть по ethernet (!) для мониторирования ее состояния и сбора данных с узла qnx.
РЕШЕНИЕ: Для оценки производительности была приобретена плата SK-AT91SAM9260 c этого сайта (www.starterkit.ru), был взят местный BSP в бинарниках (QNX 6.3.2) и согласно информации по запуску (здесь ее много :) ) стартовал qnx - у него работает mmc sd и usb, что хорошо, но проблемы с сетью!!! В плате впаян чип управления нижним уровнем Ethernet KS8721. И сеть постоянно валится
-> решение этой проблемы было найдено здесь же по адресу: http://www.starterkit.ru/new/index.php?name=Forums&op=showtopic&id=161&pagenum=2 (пост №22 от 16.12.2008, в 10:28, автор starterkit администратор)
-> скачал SSDForums-1357.rar, подсунул под u-boot, сеть работает, НО - это бинарник, и больше с ним ничего не сделаешь: ни стартовый скрипт поправить, ни драйвера добавить, с раздела dos (присутствует на борту fs-dos.so) ничего не запустить: плохо
-> выгрузил из SSDForums-1357.rar драйвер, запустил с исходным BSP QNX 6.3.2 - сеть не работает, значит изменения коснулись не только драйвера, но похоже ещё и стартапа
===>
ERROR ...
ИТОГО:
Обращение с администратору starterkit (бородатый такой :) ) и всему сообществу starterkit, of course )
1. Чего ещё коснулись изменения
2. Могли бы вы выложить бинарники составляющих образа из SSDForums-1357.rar, чтоб по ним можно было бы собрать самостоятельно образ ОС, записать, что нужно (похоже исходный код на starterkit достать сложно, но я бы не отказался ))) )
3. Как подходить к решению подобных проблем с сетью? Расковыривать исходники u-boot или портированного под данную плату linux с целью найти реализацию драйвера ethernet, после чего читать про io-net или io-pkt для адаптации драйвера под qnx - параллельно разрыть инициализацию emac контроллера в startup-е qnx? Или можно где-то найти уже готовый исходный код под qnx и потом его допиливать (я пока не нашел) ? Как делал автор SSDForumns-1357.rar ?
4. Сейчас доступны исходники qnx под микроконтроллер AT91SAM9260 для платы atmel at91sam9260-ek (foundry27)- но уже под qnx 6.4.0, а под 6.3.2 где можно взять наиболее ближнее и родное под SK-AT91SAM9260?
Спуститься к концу Подняться к началу
Персональная информация
apilon
Добавлено 03.08.2010 15:30 Сообщение: 2
apilon
0

Регистрация: 02.08.2010
ПОПРАВКА:
Через dumpifs можно выудить из готового образа практически все файлы - нужен только файл startup-а, так как в образе он представлен уже в бинарном встроенном варианте и dumpifs его в elf обратно не преобразует.
Спуститься к концу Подняться к началу
Персональная информация
rw9uao
Добавлено 03.08.2010 18:34 Сообщение: 3
rw9uao
Ранг
5

Группа: Клиенты
Пункты: 6973
Регистрация: 26.03.2009
не один Павел тут с бородой. стукните в rw9uao yandex ru, отправлю бинарный BSP поправленный. возможно, что там что-нибудь тоже откручено.
дрова пишутся из чего-нибудь похожего вкуривая даташит на камень. ну изредка можно в линух глянуть.
исходники есть =)
Спуститься к концу Подняться к началу
Персональная информация
Evgeny
Добавлено 03.08.2010 19:03 Редактировалось 03.08.2010 19:15 Сообщение: 4
Evgeny
5

Пункты: 836
Регистрация: 12.07.2010
Из: Челябинск
Извиняюсь за небольшой оффтоп, Дима, неужель и вправду ты ))! А мы Linux туды ставим))
P.S. А можно перечень бородатых форумчан?)
Спуститься к концу Подняться к началу
Персональная информация
apilon
Добавлено 04.08.2010 13:21 Сообщение: 5
apilon
0

Регистрация: 02.08.2010
rw9uao, спасибо за бинарники - все работает, но при адаптации к нашим нуждам вылез странный глюк: при включении в образ QNX (в билд файл) библиотеки libcpp.so.3 перестал запускаться inetd. Кусок из билд файла:
......... #######################################################################
## LIBS
#######################################################################
libc.so
libcpp.so.3
#######################################################################
## network libs
#######################################################################
devn-at91sam.so
libsocket.so
npm-tcpip.so
.................

При выполнении стартового скрипта вылетело:
Unable to start "inetd" (8)
А при попытке запустить вручную:
# ./inetd
./inetd[13]:  á: not found
./inetd[13]: Š: not found
./inetd[13]: 0”åQáŠê €„åBê0†â0„å@å=: not found

Process 45069 (sh) exited status=127.
./inetd[13]: Rá: not found
./inetd[20]: ŸåTá : not found
./inetd[20]: cannot open Ÿå: No such file or directory

Process 49165 (sh) exited status=1.
./inetd: no closing quote

Process 36875 (sh) exited status=1.


Что-то странное вообще твориться.....
Спуститься к концу Подняться к началу
Персональная информация
rw9uao
Добавлено 04.08.2010 15:02 Сообщение: 6
rw9uao
Ранг
5

Группа: Клиенты
Пункты: 6973
Регистрация: 26.03.2009
Дима, крутите конфиги. посмотрите что лежит в /etc для inetd. куних не любит русских букв в путях и конфигах
Спуститься к концу Подняться к началу
Персональная информация
apilon
Добавлено 05.08.2010 07:18 Сообщение: 7
apilon
0

Регистрация: 02.08.2010
Сергей (rw9uao), конфиги в inetd я не менял, сегодня сменил набор файлов, которые запихнул в образ при загрузке ОС и все заработало, даже одна глючная прога, поэтому напрашивается предположение, что кто-то уже в SDRAM начинает портить загруженный туда образ (а портить может только ОС), поэтому у меня встречный вопрос (ибо нет у меня исходников :( ):

--?-->при загрузке в образа QNX в память, когда стартует ваш IPL и ищет образ ОС (созданный mkifs'ом), он меняет уже в памяти в структуре startup_header (первые 256 байт образа) переменную imagefs_paddr ???

Дело в том, что эту переменную потом использует startup для того, чтобы сказать ядру, что область памяти, начинающуюся с iamgefs_paddr и длиной imagefs_size использовать нельзя, ибо там лежит виртуальная файловая система ОС QNX !!! Кусок кода из startup'а для AT91SAM9260-EK:


void
_main(void) {
..............................................................
#define INIT_SYSPAGE_SIZE 0x600
init_syspage_memory(ws_alloc(INIT_SYSPAGE_SIZE), INIT_SYSPAGE_SIZE);

if(shdr->imagefs_paddr != 0) {
avoid_ram(shdr->imagefs_paddr, shdr->stored_size);
}

main(_argc, _argv, envv);
..............................................................

По умолчанию эта переменная забивается mkifs'ом нулем, поэтому без ее модификации в уже загруженном в память образе ОС функция avoid_ram не выполняется. Кусок кода из оригинального ipl для AT91SAM9260-EK, который модифицирует эту переменную:

............................................................................
int image_setup (unsigned long addr) {
unsigned long ram_addr;

//
// Copy the data from the address into our structure in memory
//

copy ((unsigned long)(&startup_hdr), addr, sizeof(startup_hdr));

//
// get ram_addr and patch startup with the images physical
// location. Startup will handle the rest ...
//

ram_addr = startup_hdr.ram_paddr + startup_hdr.paddr_bias;
startup_hdr.imagefs_paddr = addr + startup_hdr.startup_size - startup_hdr.paddr_bias;
..................................................................................


Если вы ее не поменяли, ОС будет портить файлы образа... А с этим бороться бесполезно
Спуститься к концу Подняться к началу
Персональная информация
rw9uao
Добавлено 05.08.2010 08:58 Сообщение: 8
rw9uao
Ранг
5

Группа: Клиенты
Пункты: 6973
Регистрация: 26.03.2009
в этой структуре я все вроде настроил. размер образа не превышает 4 мб?
Код
###########################################################################
## START OF BUILD SCRIPT
###########################################################################
[image=0x20400000] # 4m image from dataflash
Спуститься к концу Подняться к началу
Персональная информация
apilon
Добавлено 05.08.2010 09:32 Сообщение: 9
apilon
0

Регистрация: 02.08.2010
Временами превышает, когда пытаюсь туда зашить тяжеловесные вещи - а на что влияет размер в 4М?
В настоящее время размер менее 4М и все вроде работает стабильно
Спуститься к концу Подняться к началу
Персональная информация
apilon
Добавлено 05.08.2010 09:38 Сообщение: 10
apilon
0

Регистрация: 02.08.2010
[image=0x20400000] # 4m image from dataflash

Я проверял - 0x20400000 - это стартовый адрес в ОП, куда надо загрузить образ ОС, начиная с startup_header, startup, далее файловая система (если тип образа - binary)
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded QNX