Новая версия OSA 100901
- Добавлена поддержка MCC18 extended
- Исправлен баг с удалением задачи (задача могла получить управление еще один раз после удаления)
PIC32port.STN_DEBUG) определяется во внешнем файле tnkernel_conf.h - см. пункт "11. Файл конфигурации"Опубликована статья о квалификаторе volatile.
"Разбирая чужие исходники, часто натыкаюсь на ошибки программистов, связанные с недопониманием назначения квалификатора volatile. Результатом такого недопонимания является код, который дает редкие, совершенно непредсказуемые и, зачастую, очень разрушительные и необратимые сбои…" Читать далее.
Обновление утилиты OSAcfg_Tool
100210 - добавлен новый тип таймеров: очередь таймеров; расширены возможности статических таймеров и таймеров задач (подробнее с рекомендациями по выбору таймеров)
Обновление утилиты OSAcfg_Tool - добавлена поддержка новых таймеров.
91219 - исправлен баг в сервисах OS_Task_Delete и OS_Task_Pause.
91210 - Переработаны сервисы для работы в прерываниях. Раньше большинство проблем с запретом/разрешением прерываний для обработки сервисов, используемых также и в прерывании, ложилось на плечи пользователя (системой блокировались только однозначно критические фрагменты). Теперь система делает это сама, гарантируя целостность данных.
Для работы в прерывании теперь нужно пользоваться только сервисами с суффиксом "_I" (старые программы также будут работать, если не менять набор констант OS_ENABLE_INT_xxx в файле osacfg.h)
Также обновлена утилита OSAcfg_Tool: добавлен элемент управления константой OS_ENABLE_INT_BSEM
Примечание. Исходные тексты OSA подверглись сильным изменениям, и у меня не было возможности проверить все варианты ее поведения на всех платформах и компиляторах. Поэтому, если что-то не заработает, не стесняйтесь сообщать на мейл
Опубликовано описание языка SCL. Этот язык предназначен для имитации внешних сигналов при отладке программы в симуляторе MPLAB.
91109 - Снято ограничение для MCC30: OSA теперь может работать во всем диапазоне ROM-адресов (ранее было возможно только в диапазоне < 0x10000)