Danis 0 8 сентября, 2010 Опубликовано 8 сентября, 2010 (изменено) · Жалоба Привет ВСЕМ! Кто нить ставил FreeRTOS на STM32(F103 у меня), стоит ли вообще с ней связываться? Поделитесь опытом в выборе ОС. Мне нужно чтобы с поддержкой IAR была. FreeRTOS скачал, доков только по ней пока не нашел, есть «демки» и мануал урезанный выложили на сайте. Вот: FreeRTOS eBook Generic Cortex M3 Edition: "Using the FreeRTOS Real Time Kernel - a Practical Guide". http://www.freertos.org/Documentation/Free...n-and-book.html ОС нужна для широкого круга задач. Спасибо! Изменено 8 сентября, 2010 пользователем Danis Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 8 сентября, 2010 Опубликовано 8 сентября, 2010 (изменено) · Жалоба Лучшая OS - самодельная. Делаете переключатель задач (Или выдираете его хоть из той же FreeRTOS). Добавляете необходимое по мере надобности. Добавлю от себя - в 95% случаях добавлять к переключателю задач ничего не нужно. (Естетственно, способность задачи отдавать управление следущей по списку - обязательна). Изменено 8 сентября, 2010 пользователем DpInRock Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость MALLOY2 8 сентября, 2010 Опубликовано 8 сентября, 2010 · Жалоба У меня несколько проектов на STM32 c FREERTOS, с IAR нет никаких проблем даже плагин есть что бы можно было отлаживать в дебагере IAR. ОС проверенная временем, у нее конечно не очень большой функционал, но его вполне достаточно. Имена API кривые но это тоже поправимо. На сайте есть вся инфа с примерами. Еще плюс что ее довольно легко отлаживать так как для этого заложено много всяких фич. Лучшая OS - самодельная. Лучший микроконтроллер самодельный!!!! почему вы его не засовываете а какой нибудь самодельный ASIC ? походу надо еще и самодельный компилятор сделать чтобы было все пучком. Добавлю от себя - в 95% случаях добавлять к переключателю задач ничего не нужно. Ну да, а синхронизация между задачами ? а разруливание доступа к ресурсам ? Делаете переключатель задач (Или выдираете его хоть из той же FreeRTOS). Добавляете необходимое по мере надобности. Также само ставите FREERTOS и отключаете все не нужное. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksandr Baranov 1 8 сентября, 2010 Опубликовано 8 сентября, 2010 · Жалоба Я ставил и работал на AVR и недели 2 назад поставил на STM32F101. Переделал скрипт линкера и инициализацию. Если у Вас "103" то все должно из примера сработать без проблем. Мне нравится. Знакомиться с ней приходится по примерам и описаниям функций, которые приведены на их сайте. В принципе, этого достаточно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrYuran 27 8 сентября, 2010 Опубликовано 8 сентября, 2010 · Жалоба По-моему, STM-щики сами предлагают готовый порт FreeRTOS с дополнительными библиотеками. Если не они, то производители китов. Коллега недавно разбирался, склонился в пользу STM относительно NXP именно по этой причине (ну и по другим тоже) Или на FreeRTOS.org примеры под разные киты... Вот под ИАР и как раз под F103 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 8 сентября, 2010 Опубликовано 8 сентября, 2010 · Жалоба To MALLOY Имена API кривые но это тоже поправимо. Как и ненужный функционал для человека, который спрашивает совета по ОС. Ибо человек, который в состоянии этот функционал использовать совета про ОС не спрашивает. Это раз. Два. Взаимодействие между процессами и доступу к ресурсам осуществляется РОВНО ОДНОЙ АССЕМБЛЕРНОЙ АТОМАРНОЙ операцией SWAP @R1, R2 (запись команды условная - смысл ее понятен из написания). Все. Чего тут городить? Определил ячейку памяти какую-нибудь и разделяй ей ресурсы как хочешь. Микропроцессор, конечно же, лучше свой. Ибо ЗАТОЧЕННОЕ под задачу ВСЕГДА (закон сохранения Ломоносова-Лавуазье) ЛУЧШЕ. Но - дороже. СВОЯ же ОС, по сравнению с чужой - НЕ ДОРОЖЕ. А ДЕШЕВЛЕ. К слову, вот мой переключатель задач состоит из ровно 40 сишных строк (операторов, конечно, больше). Все. (Не считая ассемблерной вставки сохранения-восстановления регистров). Меньше строк, меньше багов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 8 сентября, 2010 Опубликовано 8 сентября, 2010 · Жалоба А можете высказаться по поводу других OS. scmRTOS? ... Что взять, как наиболее простое? Может быть, именно, как пример для создания своей. Сам думаю о FreeRTOS, потому как часто звучит. Но пока конкретно не приступал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Danis 0 8 сентября, 2010 Опубликовано 8 сентября, 2010 · Жалоба У меня несколько проектов на STM32 c FREERTOS, с IAR нет никаких проблем даже плагин есть что бы можно было отлаживать в дебагере IAR. Интересно, можно ссылочку на плагин, попробую поставлю. Спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость MALLOY2 8 сентября, 2010 Опубликовано 8 сентября, 2010 · Жалоба Два. Взаимодействие между процессами и доступу к ресурсам осуществляется РОВНО ОДНОЙ АССЕМБЛЕРНОЙ АТОМАРНОЙ операцией SWAP @R1, R2 А как же периферия ? Прерывания ? Просто одно дело лампочками мигать а другое дело когда работает TCP стек или USB. Но - дороже. СВОЯ же ОС, по сравнению с чужой - НЕ ДОРОЖЕ. А ДЕШЕВЛЕ. Ы... обоснуйте И в конце концов чтобы написать свою ОС, нужно немало потратить времени, или иметь большой опыт работы с другими разными ОС что бы сократить время на написание своей, а если при этом изучение другой ОС вызывает затруднение то тут лучше еще набраться опыта прежде чем писать свою ОС. Да и тестирование ОС занимает много времени, так что как не крути свое будет по нынешним временам гораздо дороже. В любом случае дешевле напильником подогнать что-то готовое чем городить что то свое. Собственно большинство так и делает. Ссылка на плагин регистрируетесь и качаете, дальше в мануале написано как устанавливать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Danis 0 8 сентября, 2010 Опубликовано 8 сентября, 2010 (изменено) · Жалоба Ибо человек, который в состоянии этот функционал использовать совета про ОС не спрашивает. Это раз. А зачем собственно форум то нужен, если все можно самому сделать. и "винда" наверное тогда не нужна и все остальное.... регистрируетесь и качаете, дальше в мануале написано как устанавливать MALLOY спасибо Вам!!! Изменено 8 сентября, 2010 пользователем Danis Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 8 сентября, 2010 Опубликовано 8 сентября, 2010 · Жалоба А как же периферия ? Если умеешь разделять ресурсы - все остальное - вообще никаких проблем. У меня нет TCP, но есть USB (CDC и mass storage). Заодно запись воспроизведение звука, touchscreen, куча всякой разной памяти, клавиатура, манипулятор Морзе, радиоканал с кучей выводов, RS232. Все работает параллельно и ОДНОВРЕМЕННО. Именно все это. Всегда идет запись и воспроизведение звука, отдается в USB и RS232, заодно параллельно записывается на SD card (типа крутейший лог для радиостанции). Использую пять прерываний. 8 кГц от таймера для звука, 3.9 мс от RTC для переключателя задач, и одно для работы с Rotary Encoder (волкодер вроде как по нашему), UART, USB. Никаких затруднений в компоновке процедур и ресурсов не испытываю. Пишу прямо. Без затей. Единственное правило - если задаче нечего делать - она должна отдавать управление. Иначе тормоза (72 Мгц проц). А графика насыщенная - сглаживание не только шрифтов но и картинок всяких. Я пробовал думать как применить FreeRTOS не трогая ничего. И не придумал. А этот вариант (свой) легко перенес с атмеловского ARM9 на филипс ARM7. Причем поменял только одну команду. Джампа с сохранением LR в ARM7 не оказалось. И все. Да, регистры у меня сохраняются не так оптимально, как могли бы. Сишную часть наверняка можно подсократить (не умею я на Си программировать). Но тем не менее написание этого заняло у малоподготовленного меня не больше 3 дней. Это реальная цифра. Из меня программист очень плохой (Именно поэтому разобраться с текстом FreeRTOS для меня оказалось трудной задачей - никак учебника по Сям не сыщу бумажного, а монитор у меня 15 дюймовый). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость MALLOY2 9 сентября, 2010 Опубликовано 9 сентября, 2010 · Жалоба не умею я на Си программировать С этого надо было начинать, но начинать никогда не поздно. Джампа с сохранением LR в ARM7 не оказалось. для этого в ARM7 есть 2 инструкции это BL и BLX. По ходу вам еще и ассемблер повторить надо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться