|
TNKernel будет ли порт для cortex m4 ? |
|
|
|
Feb 9 2013, 20:26
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 4-10-07
Пользователь №: 31 055

|
Здравствуйте!
У меня вопрос к разработчику ОС Юрию и всем, кто допиливал ось под себя(VslavX и т.д.), озвученный в названии темы. Будет ли такой порт? Планирую работать с STM32f4. Планируется ли дальнейшее развитие TNKernel?
Заранее благодарен за ответы.
|
|
|
|
|
Feb 10 2013, 12:38
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 4-10-07
Пользователь №: 31 055

|
Цитата(VslavX @ Feb 10 2013, 14:27)  Если не предполагается использование FPU, то, имхо, должен подойти существующий порт от Cortex-М3. У меня на полке лежит нераспечатанный Discovery STM32F4 - никак руки не дойдут попробовать (работы всякой многовато). Очень надеюсь в ближайшее время таки до кита добраться и сделать порт с "честным многозадачным" использованием FPU - тут тема недалеко пробегала с интересной идейкой по переключению контекста FPU "по требованию". Мне будет несложно пропатчить основную ветку ОС самому (сделать и выложить пробный проект на упомянутый Discovery) или поделиться наработками с автором. Вопрос только - когда... Спасибо за ответ. Про Ваш Discovery STM32F4 я в курсе - читал другую темку  (занятное было состязание с scmrtos). Хотелось бы использовать по полной все возможности STM32F4. Поэтому если Вы сможете это провернуть - это было бы просто великолепно. А по поводу дальнейшего развития этой оси вопрос остается в силе
|
|
|
|
|
Feb 12 2013, 06:16
|

embarrassed systems engineer
    
Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038

|
Цитата(yuri_t @ Feb 11 2013, 11:58)  Вячеслав предлагает более 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).
|
|
|
|
|
Feb 16 2013, 00:44
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 4-10-07
Пользователь №: 31 055

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

embarrassed systems engineer
    
Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038

|
Цитата(dimanisu @ Feb 16 2013, 02:44)  Благодарю за инициативу! Надеюсь, что это не сильно будет Вас напрягать. Вы написали, что планируете прикрутить порт к оф релизу. Насколько я знаю, у Вас есть и собственные наработки для 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-ый (это прикладникам).
|
|
|
|
|
Feb 18 2013, 14:00
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 24-08-05
Пользователь №: 7 937

|
Цитата(VslavX @ Feb 18 2013, 16:34)  ... перехожу на CodeSourcery GCC. Заодно будут вкусняшки типа LTO и C++ 11-ый (это прикладникам). В последнее время пользуюсь GNU Tools for ARM Embedded Processors (https://launchpad.net/gcc-arm-embedded/+download) - на моих проектах работает хорошо..
|
|
|
|
|
Feb 18 2013, 18:06
|
Местный
  
Группа: Свой
Сообщений: 209
Регистрация: 6-01-12
Пользователь №: 69 197

|
Цитата(yuri_t @ Feb 18 2013, 18:00)  В последнее время пользуюсь GNU Tools for ARM Embedded Processors (https://launchpad.net/gcc-arm-embedded/+download) Не забывайте про http://yagarto.de ) тоже ничего
--------------------
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|