Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: FreeRTOS в Cortex A9
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > FreeRTOS
asen
Добрый день
Планируется проект на IMX6D но все реализации что я от искал у производителей либо linux или Win
Система планируется жесткого реал тайма. Есть наработки на FreeRTOS на разных ядрах и время на переход А9 ограничена.
Спецов по линуксу нет к сожалению и с ним придется разбираться. Общий алгоритм работы системы такой берем данные из интерфейса SDHC или SATA которые туда складывает плисс и передаем по гигабитному эзернету по UDP дальше в сеть. Поток данных на начальном этапе 200 Мбит/с примерно. второе ядро вообще в лайтовом режиме работает для руления настройками плис и аналоговой части.

Теперь вопросы порт под A9 видел на сайте. Кто им реально использовал и нужно ли подпиливать под IMX6?
Есть ли где нибудь библиотеки работы с периферией под этот камень наподобие как SDK kinetis или у STM32 &
Вообще посмотреть бы открытые проекты под IMX на FREERTOS может ктото встречал ?
Или лудше и быстрее все же линекс изучать ? Какое время отклика у него можно получить ? 1111493779.gif
Может какие то еще есть RTOS под А9
aaarrr
Цитата(asen @ Apr 13 2017, 11:03) *
Общий алгоритм работы системы такой берем данные из интерфейса SDHC или SATA которые туда складывает плисс и передаем по гигабитному эзернету по UDP дальше в сеть. Поток данных на начальном этапе 200 Мбит/с примерно.

Не видно из такой постановки "жесткого реалтайма", поэтому рекомендую как минимум попробовать Linux.
P.S. А не смущает, что гигабитный эзернет на mx6 не очень-то гигабитный на самом деле?
asen
На IMX6 вроде как ограничен скоростью 400МБит/с у меня правильная информация ? На начальном этапе хочется только 200мбит потому как это только начало. Далее ждем выхода IMX8 где ограничения по железу вроде как нет как утверждали товарищи из NXP на выставке в германии. Ну а реал тайм обусловлен временем актуальности передаваемой информации. Если случиться задержка более пол мили секунды то данные можно не передавать. SDK по работе с периферией в исходниках для IMX не существует ? Интересно есть ли что-то общее с линейкой Kinetis не одни они IP блоки использовали при дизайне чипов ?
Kabdim
Возможно вам стоит спросить @mantech'а. Афаик он единственный на этом форуме поднимал bare-metal на iMX'ах. Кмк для жесткого реалтайма надо делать ртос и под ней запускать linux для всего остального. Ну и freeRTOS - тормоз, выбирать его для жесткого реалтайма как-то странно.
asen
Почему вы считаете что freertos тормоз ? есть какие то цифры ? Какую альтернативу предложите ?
Kabdim
Цитата(asen @ Apr 13 2017, 12:50) *
Почему вы считаете что freertos тормоз ? есть какие то цифры ?

Было неудобное сравнение на буржуйском форуме, после которого в лицензии фриРТОС появился запрет на замеры быстродействия оной. Ссылку искать лень, но вы можете поискать, на этом форуме уже было обсуждение этого вопроса.
Цитата
Какую альтернативу приложите ?

Как вам тут уже сказали, задача не факт что требует жесткого реалтайма, так что линукс. А если все таки хотите заморочится, то уже вопрос платить/пиратить или пытаться приспособить бесплатное - разные ответы выйдут. Можно попробовать RT Linux, но как оно уживется на iMX - не знаю.
asen
Ваша позиция ясна спасибо ! может кто-то еще выкатится и не только по ОС но и по SDK для периферии
aaarrr
Цитата(asen @ Apr 13 2017, 13:19) *
может кто-то еще выкатится и не только по ОС но и по SDK для периферии

Под SoloX есть некий "BSP" под FreeRTOS. Возможно, найдете в нем что-то полезное.
vadon
Успешно используется FreeRTOS на Zynq (Cortex A9) 1 - ядро freertos + lwip, 2 - ядро baremetal, 7 ни каких проблем, берете порт что идет с осью, только таймер тика переделать и инициализацию прерываний, а все остальное Cortex A9
AndriAno
Цитата(vadon @ Jun 6 2017, 22:18) *
Успешно используется FreeRTOS на Zynq (Cortex A9) 1 - ядро freertos + lwip


А можно по подробнее? У меня есть желание поружить Altera SOC + freertos + lwip. Там в принципе то же ядро используется +-.
vadon
Ну если нету конкретных вопросов, то это и есть подробнее, берете порт что идет с ртосом, настриваете прерывания определяете обработчики прерываний для FreeRTOS_IRQ_Handler, FreeRTOS_SWI_Handler, также для таймера который вызывает раз 1 мс FreeRTOS_Tick_Handler, больше оси ничего не надо.
AndriAno
Цитата(vadon @ Jun 21 2017, 14:23) *
Ну если нету конкретных вопросов, то это и есть подробнее, берете порт что идет с ртосом, настриваете прерывания определяете обработчики прерываний для FreeRTOS_IRQ_Handler, FreeRTOS_SWI_Handler, также для таймера который вызывает раз 1 мс FreeRTOS_Tick_Handler, больше оси ничего не надо.


Насколько я понял в том порте что предлагается для альтеры отсутсвует lwip. поэтому основной интерес именно в добалении/использовании сетевого стека под леегковесной операционкой.
В вашем случае LWIP уже был встроен или добавлялся самостоятельно? Могли бы Вы поделиться ссылочкой на проект для Xilinx?
vadon
LWIP вещь вообще независимая собирается под все что угодно, вам понадобится только написать драйвер для вашего мака или взять готовый, не знаю что там за мак у альтеры. И связать LwIP c freertos, в дистрибутиве есть готовые заготовки для lwip, да и примеры там есть, остается только прикрутить ваш мак.
AndriAno
Цитата(vadon @ Jun 21 2017, 19:56) *
LWIP вещь вообще независимая собирается под все что угодно, вам понадобится только написать драйвер для вашего мака или взять готовый, не знаю что там за мак у альтеры. И связать LwIP c freertos, в дистрибутиве есть готовые заготовки для lwip, да и примеры там есть, остается только прикрутить ваш мак.


В документации альтеры указано что это Synopsys DesignWare 3504-0 Universal 10/100/1000 Ethernet MAC. Что из себя представляет корка от ксайлинкса я найти не смог.
Ваш проект сделан на основе того что описано в : https://www.xilinx.com/support/documentatio...es/xapp1026.pdf ? или это что то другое?

Из опыта написания драйверов для винды и линукса могу сказать что для "понадобится только написать драйвер" займет от месяца на изучение архитектуры системы, отладки, понимания что делать надо было совсем не так и в итоге нахождения уже готового продукта.
vadon
Цитата
Что из себя представляет корка от ксайлинкса я найти не смог.

Я использовал встроенный в Cortex мак.

Цитата
Ваш проект сделан на основе того что описано в : https://www.xilinx.com/support/documentatio...es/xapp1026.pdf ? или это что то другое?

Я этим не пользовался, но для начала сойдет.


Цитата
Из опыта написания драйверов для винды и линукса могу сказать что для "понадобится только написать драйвер" займет от месяца на изучение архитектуры системы, отладки, понимания что делать надо было совсем не так и в итоге нахождения уже готового продукта.


Из опыта могу сказать не зная архитектуры системы нечего в нее лезть!!!, так все тянет за собой понимание, у вас не получится так как в винде или линксе. Freertos хоть и ось но настолько завязанная на архитектуру что без ее понимания вряд ли что то получится. LWIP тоже надо настраивать под архитектуру.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.