Jump to content

    

FreeRTOS в Cortex A9

Добрый день

Планируется проект на IMX6D но все реализации что я от искал у производителей либо linux или Win

Система планируется жесткого реал тайма. Есть наработки на FreeRTOS на разных ядрах и время на переход А9 ограничена.

Спецов по линуксу нет к сожалению и с ним придется разбираться. Общий алгоритм работы системы такой берем данные из интерфейса SDHC или SATA которые туда складывает плисс и передаем по гигабитному эзернету по UDP дальше в сеть. Поток данных на начальном этапе 200 Мбит/с примерно. второе ядро вообще в лайтовом режиме работает для руления настройками плис и аналоговой части.

 

Теперь вопросы порт под A9 видел на сайте. Кто им реально использовал и нужно ли подпиливать под IMX6?

Есть ли где нибудь библиотеки работы с периферией под этот камень наподобие как SDK kinetis или у STM32 &

Вообще посмотреть бы открытые проекты под IMX на FREERTOS может ктото встречал ?

Или лудше и быстрее все же линекс изучать ? Какое время отклика у него можно получить ? :1111493779:

Может какие то еще есть RTOS под А9

Share this post


Link to post
Share on other sites
Общий алгоритм работы системы такой берем данные из интерфейса SDHC или SATA которые туда складывает плисс и передаем по гигабитному эзернету по UDP дальше в сеть. Поток данных на начальном этапе 200 Мбит/с примерно.

Не видно из такой постановки "жесткого реалтайма", поэтому рекомендую как минимум попробовать Linux.

P.S. А не смущает, что гигабитный эзернет на mx6 не очень-то гигабитный на самом деле?

Share this post


Link to post
Share on other sites

На IMX6 вроде как ограничен скоростью 400МБит/с у меня правильная информация ? На начальном этапе хочется только 200мбит потому как это только начало. Далее ждем выхода IMX8 где ограничения по железу вроде как нет как утверждали товарищи из NXP на выставке в германии. Ну а реал тайм обусловлен временем актуальности передаваемой информации. Если случиться задержка более пол мили секунды то данные можно не передавать. SDK по работе с периферией в исходниках для IMX не существует ? Интересно есть ли что-то общее с линейкой Kinetis не одни они IP блоки использовали при дизайне чипов ?

Share this post


Link to post
Share on other sites

Возможно вам стоит спросить @mantech'а. Афаик он единственный на этом форуме поднимал bare-metal на iMX'ах. Кмк для жесткого реалтайма надо делать ртос и под ней запускать linux для всего остального. Ну и freeRTOS - тормоз, выбирать его для жесткого реалтайма как-то странно.

Share this post


Link to post
Share on other sites

Почему вы считаете что freertos тормоз ? есть какие то цифры ? Какую альтернативу предложите ?

Share this post


Link to post
Share on other sites
Почему вы считаете что freertos тормоз ? есть какие то цифры ?

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

Какую альтернативу приложите ?

Как вам тут уже сказали, задача не факт что требует жесткого реалтайма, так что линукс. А если все таки хотите заморочится, то уже вопрос платить/пиратить или пытаться приспособить бесплатное - разные ответы выйдут. Можно попробовать RT Linux, но как оно уживется на iMX - не знаю.

Share this post


Link to post
Share on other sites

Ваша позиция ясна спасибо ! может кто-то еще выкатится и не только по ОС но и по SDK для периферии

Share this post


Link to post
Share on other sites
может кто-то еще выкатится и не только по ОС но и по SDK для периферии

Под SoloX есть некий "BSP" под FreeRTOS. Возможно, найдете в нем что-то полезное.

Share this post


Link to post
Share on other sites

Успешно используется FreeRTOS на Zynq (Cortex A9) 1 - ядро freertos + lwip, 2 - ядро baremetal, 7 ни каких проблем, берете порт что идет с осью, только таймер тика переделать и инициализацию прерываний, а все остальное Cortex A9

Share this post


Link to post
Share on other sites
Успешно используется FreeRTOS на Zynq (Cortex A9) 1 - ядро freertos + lwip

 

А можно по подробнее? У меня есть желание поружить Altera SOC + freertos + lwip. Там в принципе то же ядро используется +-.

Share this post


Link to post
Share on other sites

Ну если нету конкретных вопросов, то это и есть подробнее, берете порт что идет с ртосом, настриваете прерывания определяете обработчики прерываний для FreeRTOS_IRQ_Handler, FreeRTOS_SWI_Handler, также для таймера который вызывает раз 1 мс FreeRTOS_Tick_Handler, больше оси ничего не надо.

 

Share this post


Link to post
Share on other sites
Ну если нету конкретных вопросов, то это и есть подробнее, берете порт что идет с ртосом, настриваете прерывания определяете обработчики прерываний для FreeRTOS_IRQ_Handler, FreeRTOS_SWI_Handler, также для таймера который вызывает раз 1 мс FreeRTOS_Tick_Handler, больше оси ничего не надо.

 

Насколько я понял в том порте что предлагается для альтеры отсутсвует lwip. поэтому основной интерес именно в добалении/использовании сетевого стека под леегковесной операционкой.

В вашем случае LWIP уже был встроен или добавлялся самостоятельно? Могли бы Вы поделиться ссылочкой на проект для Xilinx?

Share this post


Link to post
Share on other sites

LWIP вещь вообще независимая собирается под все что угодно, вам понадобится только написать драйвер для вашего мака или взять готовый, не знаю что там за мак у альтеры. И связать LwIP c freertos, в дистрибутиве есть готовые заготовки для lwip, да и примеры там есть, остается только прикрутить ваш мак.

Share this post


Link to post
Share on other sites
LWIP вещь вообще независимая собирается под все что угодно, вам понадобится только написать драйвер для вашего мака или взять готовый, не знаю что там за мак у альтеры. И связать LwIP c freertos, в дистрибутиве есть готовые заготовки для lwip, да и примеры там есть, остается только прикрутить ваш мак.

 

В документации альтеры указано что это Synopsys DesignWare 3504-0 Universal 10/100/1000 Ethernet MAC. Что из себя представляет корка от ксайлинкса я найти не смог.

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

 

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

Share this post


Link to post
Share on other sites
Что из себя представляет корка от ксайлинкса я найти не смог.

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

 

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

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

 

 

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

 

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

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this