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

TNKernel будет ли порт для cortex m4 ?

Здравствуйте!

 

У меня вопрос к разработчику ОС Юрию и всем, кто допиливал ось под себя(VslavX и т.д.), озвученный в названии темы. Будет ли такой порт? Планирую работать с STM32f4.

Планируется ли дальнейшее развитие TNKernel?

 

Заранее благодарен за ответы.

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


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

У меня вопрос к разработчику ОС Юрию и всем, кто допиливал ось под себя(VslavX и т.д.), озвученный в названии темы. Будет ли такой порт? Планирую работать с STM32f4.

Планируется ли дальнейшее развитие TNKernel?

Если не предполагается использование FPU, то, имхо, должен подойти существующий порт от Cortex-М3.

У меня на полке лежит нераспечатанный Discovery STM32F4 - никак руки не дойдут попробовать (работы всякой многовато). Очень надеюсь в ближайшее время таки до кита добраться и сделать порт с "честным многозадачным" использованием FPU - тут тема недалеко пробегала с интересной идейкой по переключению контекста FPU "по требованию". Мне будет несложно пропатчить основную ветку ОС самому (сделать и выложить пробный проект на упомянутый Discovery) или поделиться наработками с автором. Вопрос только - когда...

 

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


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

Если не предполагается использование FPU, то, имхо, должен подойти существующий порт от Cortex-М3.

У меня на полке лежит нераспечатанный Discovery STM32F4 - никак руки не дойдут попробовать (работы всякой многовато). Очень надеюсь в ближайшее время таки до кита добраться и сделать порт с "честным многозадачным" использованием FPU - тут тема недалеко пробегала с интересной идейкой по переключению контекста FPU "по требованию". Мне будет несложно пропатчить основную ветку ОС самому (сделать и выложить пробный проект на упомянутый Discovery) или поделиться наработками с автором. Вопрос только - когда...

 

 

Спасибо за ответ. Про Ваш Discovery STM32F4 я в курсе - читал другую темку :) (занятное было состязание с scmrtos). Хотелось бы использовать по полной все возможности STM32F4. Поэтому если Вы сможете это провернуть - это было бы просто великолепно.

А по поводу дальнейшего развития этой оси вопрос остается в силе

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


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

Если бы я стал писать порт TNKernel для Cortex-M4, это было бы что-то похожее на FreeRTOS port.

Вячеслав предлагает более advanced решение, так что, IMHO, было бы лучше, если бы порт написал он..

 

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


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

Вячеслав предлагает более advanced решение, так что, IMHO, было бы лучше, если бы порт написал он..

ОК, я постараюсь найти немножко времени чтобы сделать порт для STM32F4xx, особо он мне "прямо сейчас" не нужен, но тема мне просто интересная. Этапы я вижу тут такие:

1. "освоить" STM32F4xx, написать плагин к своему отладчику-программатору, дополнить хидеры (на основе F2xx) и прочее

2. сделать собственно порт в привычной наработанной среде

3. "прикрутить" порт к официальному релизу (под GCC наверное)

4. Потестить это все с "плавучкой" в многопоточке

"Вечерами" тут работы на неделю-другую, постараюсь выкроить время.

 

Update: сегодня получилось поработать - пункт 1 почти выполнен. Теперь умею читать-писать по JTAG процессоры F405/407/415/417/427/437 (ессно, проверил 407 только). Порт для Cortex-M3 спокойно завелся на STM32F407 (пока без FPU). Более того, на старте пошла та же самая бинарная прошивка что и на STM32F207. Поднял частоту до 168МГц (со 120 для F2xx), поигрался с временем переключение контекста (940 нс @168MHz ART prefetch выключен (имитация ревизии А), и 900нс при включенном prefecth ("полноценная" ревизия Z).

 

 

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


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

VslavX!

Благодарю за инициативу! Надеюсь, что это не сильно будет Вас напрягать. Вы написали, что планируете прикрутить порт к оф релизу. Насколько я знаю, у Вас есть и собственные наработки для TNKernel(доделки, переделки оф релиза). Можно узнать в чем они заключаются, какие достоинства(недостатки) и, если возможно, посмотреть на исходники Вашей модификации.

 

С Уважением.

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


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

Благодарю за инициативу! Надеюсь, что это не сильно будет Вас напрягать. Вы написали, что планируете прикрутить порт к оф релизу. Насколько я знаю, у Вас есть и собственные наработки для TNKernel(доделки, переделки оф релиза). Можно узнать в чем они заключаются, какие достоинства(недостатки) и, если возможно, посмотреть на исходники Вашей модификации.

Увы, но руководство пока против чтобы открывать полные исходники модификации. В субботу спрашивал (есть желание на SourceForge выложить улучшения и разные порты - ожидается для NIOS, и, возможно, для MIPS), но снова получил прямой запрет :(.

Архитектурно отличается несильно - удалена таймерная задача (жалко дважды переключать контекст на каждый системный тик) - обработка перенесена в прерывание, с периодическим разрешением прерываний (чтобы не страдал реал-тайм), принципально выброшена часть "стремных" функций типа tn_task_terminate(). Оптимизирован (по аппаратуре вычислется вложенность) счетчик вложения прерываний, нет флагов запрета переключения контекста, часть функций работы со списками CDLL сделана макросами. Есть точный и грубый профайлеры, монитор системных объектов, синхронизированная отладка по JTAG/COM. Оптимизация по мьютексам вроде уже включена в v2.6. Возможно кое-что из остального тоже - я автору тексты отсылал. Посмотрю последний официальный релиз и если какие изменения я смогу быстро и прозрачно прикрутить к официальной ветке - выложу.

 

P.S. Сейчас больно слезаю с IAR-а (имел глупость написать несовместимые хидеры с использованием фичи @ физический адрес). Потому как нет безглючной версии IAR для Cortex-M4 (все IAR 6.xx с какими-либо выбрыками), перехожу на CodeSourcery GCC. Заодно будут вкусняшки типа LTO и C++ 11-ый (это прикладникам).

 

 

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


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

... перехожу на CodeSourcery GCC. Заодно будут вкусняшки типа LTO и C++ 11-ый (это прикладникам).

 

В последнее время пользуюсь GNU Tools for ARM Embedded Processors (https://launchpad.net/gcc-arm-embedded/+download)

- на моих проектах работает хорошо..

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


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

В последнее время пользуюсь GNU Tools for ARM Embedded Processors (https://launchpad.net/gcc-arm-embedded/+download)

- на моих проектах работает хорошо..

Спасибо, обязательно посмотрю. Любопытно будет сравнить с менторовским GCC.

 

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


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

В последнее время пользуюсь GNU Tools for ARM Embedded Processors (https://launchpad.net/gcc-arm-embedded/+download)

Не забывайте про http://yagarto.de ) тоже ничего

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


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

Не забывайте про http://yagarto.de ) тоже ничего

Автор вроде бы обещал, что проект завершён. В качестве альтернативы предлагал всё тот же GNU Tools for ARM Embedded Processors.

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


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

linaro gcc еще есть

Я именно о нём и говорил. Где-то договорились этот тулчейн называть именно GNU Tools for ARM Embedded Processors, а linaro - это больше в сторону Cortex-A семейства.

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


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

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

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

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

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

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

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

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

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

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