Перейти к содержанию
    

FreeRTOS в Cortex A9

Добрый день

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

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

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

 

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему вы считаете что freertos тормоз ? есть какие то цифры ?

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что из себя представляет корка от ксайлинкса я найти не смог.

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

 

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

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

 

 

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

 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...