|
|
|
scmRtos для медных чайников |
|
|
|
Feb 22 2012, 19:02
|
Участник
Группа: Участник
Сообщений: 29
Регистрация: 23-09-08
Из: Россия
Пользователь №: 40 430
|
Спасибо, буду разбираться дальше.
|
|
|
|
|
Feb 26 2012, 11:55
|
Нечётный пользователь.
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417
|
Прошу прощения за задержку. 23-го первый пример был доведён до удобоваримого состояния. Но я понял, что если я вброшу архив сюда, то в репозитории он появится нескоро ввиду отсутствия хоть какого-то «гвоздика». AHTOXA подвигал каталоги и я забросил пример на его законное место pre-v400/Samples/CortexM3/GCC/LPC17XX/4-Debug добавлю на днях. Он рабочий, просто тоже вычистить немного нужно. Остальные буду писать по мере поступления на склад очередных партий минут свободного времени, аккуратно упакованных в пачки по 30-40 штук. p.s. Просто пример 1-EventFlag мне интересен как источник данных для сравнения Вот, к примеру, в пересчётне на ту же тактовую у STM8 общее время переключения процессов на «дулі відсотка» меньше, чем у AVR, но при этом собственно время переключателя контекстов ощутимо меньше, а поиск готового процесса — немного больше. Просто любопытно. А 4-Debug хорош как база для начала отладки реальной работы. Потому с них и начал.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Feb 27 2012, 12:46
|
Участник
Группа: Участник
Сообщений: 29
Регистрация: 23-09-08
Из: Россия
Пользователь №: 40 430
|
Спасибо за оперативность. Разбираюсь....
|
|
|
|
|
Jul 12 2012, 08:29
|
Частый гость
Группа: Участник
Сообщений: 93
Регистрация: 5-01-05
Из: Оулу
Пользователь №: 1 811
|
Товарищи гуру и приближенные к ним! Помогите решить еще одну чайниковскую проблему - процесс крутится в своем бесконечном цикле, и хотелось бы, чтобы он крутился каждые N циклов системного таймера. Сейчас он делает все задачи и ложится спать на определенное время, но, в связи с тем, что задачи выполняются не каждый раз за одно и то же время - период процесса тоже меняется. Конечно, можно запустить еще один таймер и пусть он генерирует событие, которого процесс и будет ждать, но хотелось бы обойтись системным таймером. Еще один тупой путь - запустить еще один процесс, который только спит, и просыпаясь, генерирует событие для другого процесса. Но как-то это выглядит не кошерно.
|
|
|
|
|
Jul 12 2012, 08:54
|
Нечётный пользователь.
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417
|
Как-то так. Код void SleepUntil(tick_count_t tick) { tick_count_t current_tick = OS::get_tick_count(); // Если уже больше, то спать-то и некогда if (current_tick < tick) sleep(tick - current_tick); } template<> void TProc1::exec() { tick_count_t next_tick;
next_tick = OS::get_tick_count(); for(;;) { do_busy_work(); next_tick += task_period; SleepUntil(next_tick); } } Обработка ситуаций, когда спать уже некогда (ждать следующей метки или не ждать вообще) — по требованиям к задаче. Также надо учесть, что tick_count_t и timeout_t имеют (могут иметь) разные размеры, тогда надо бы брать разность и «досыпать» порциями, влазящими в timeout_t.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Aug 3 2012, 09:06
|
Участник
Группа: Участник
Сообщений: 41
Регистрация: 2-08-12
Пользователь №: 72 984
|
доброго времени днутра или ночера...
есть комплект stm32f0diskovery - требуется откомпилить и запустить какой нибудь из примеров под scmRTOS .. как я понял примеров пока под cortex-m0 не существует... и ос тоже непонятно работает или нет
ТАК???
помогите пжста чайнику...
|
|
|
|
|
Aug 6 2012, 08:12
|
Участник
Группа: Участник
Сообщений: 41
Регистрация: 2-08-12
Пользователь №: 72 984
|
Цитата(_Артём_ @ Aug 3 2012, 11:53) Примеров нет, но порт есть: порт для Cortex-M0да да ... я порт нашел... не могу понять как переделать пример для себя... чтоб перекомпилить и чтоб заработало... нет некоторых файлов типа стартап.си... и прочих
|
|
|
|
|
Aug 7 2012, 08:06
|
Участник
Группа: Участник
Сообщений: 41
Регистрация: 2-08-12
Пользователь №: 72 984
|
Цитата(_Артём_ @ Aug 6 2012, 13:58) Update: вспомнил ещё ссылку - там стартап и тптам для LPC11xx а stm32f0 нет ...
|
|
|
|
|
Aug 16 2012, 08:57
|
Участник
Группа: Участник
Сообщений: 41
Регистрация: 2-08-12
Пользователь №: 72 984
|
Цитата(_Артём_ @ Aug 7 2012, 10:56) Большая разница? Там и там Cortex-M0. мэй би ес, мэй би ноу.... описание регистров и системных переменных совершенно разное ... программист как писатель... захотел назвал так переменную захотел по другому... может быть различное количество переферии, разные векторы прерываний и прочее... проект переделал из stm32f2xx отключил кой чего и кой где... отключил макросы для работы с пинами (pin.h) с шаблонами я пока не очень то разбимрался и не совсем понимаю чего там понаворочали... проект компилится... хотелось бы наладить связь с разработчиками этой освр для того чтоб допилить по ума этот порт...
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|