• ID3. Версии 1.0 и 1.1

    Тег находиться в конце файла, имеет фиксированный размер 128 байт. Неиспользуемые байты заполняются нулями. Структура ID3 версии 1.0 : Дальнейшее и единственное усовершенствование, реализованное в версии 1.1, было предложено Майклом Мутшлером (Michael Mutschler) в 1997 году: так как поле под комментарий всё равно слишком мало для хранения чего-либо полезного, было

    Читать далее...
  • KEIL. Диалог Debug. Pack Options (параметры пакета)

    Параметры пакета (доступны для некоторых устройств) определяют параметры конфигурации по умолчанию для отладки, трассировки или программирования Flash и применяются к параметрам в диалоговых окнах «Debug», «Trace» и «Flash download». Возможно, не все параметры будут установлены. Следовательно, проверьте настройки и адаптируйте конфигурацию при необходимости.   Чтобы включить настройки: Откройте диалог Options

    Читать далее...
  • KEIL. System and Thread Viewer

    Окно System and Thread Viewer показывает информацию о состоянии системы и запущенные потоки для CMSIS RTOS RTX приложений.  System and Thread Viewer поддерживается только Keil RTX 4.82 или младше. Для отображения в  Keil RTX 5, используйте Component Viewer (View — Watch Window — RTX RTOS)     Откройте окно через  Debug

    Читать далее...
  • F4.FLASH Стирание сектора

    Выполним очистку 11 сектора. Для этого разблокируем FLASH выполнив последовательно запись ключей в поле KEYR: FLASH->KEYR = 0x45670123; FLASH->KEYR = 0xCDEF89AB; Бит LOCK в регистре CR должен очиститься, значит регистр разблокирован. Если бит LOCK останется в случае неудачной разблокировки, снять его уже не получиться и потребуется выполнить сброс микроконтроллера. Установим

    Читать далее...
  • F4.DMA Режим передачи ПАМЯТЬ-ПАМЯТЬ

    Для передачи из памяти в память используется DMA2 контроллер. DMA1 не может использоваться потому что периферийный порт не подключен к шинной матрице AHB (мануал RM0090 страница 305). Включаем тактирование DMA2: RCC->AHB1ENR  |= RCC_AHB1ENR_DMA2EN; Теперь нужно настроить поток для передачи. Любой свободный из 8 можно использовать. Выберем DMA2_Stream6 и настроим конфигурационный

    Читать далее...
  • RTX5. Ядро (информация и управление)

    Описание Группа функций информации и управления ядром позволяет: получить информацию о системе и ядре. получить информацию о версии интерфейса CMSIS-RTOS. инициализация ядра RTOS для создания объектов. запуск ядра RTOS и переключение потоков.   Функции информации и управления ядром не могут быть вызваны из подпрограмм обработки прерываний. Инициализация ядра для RTX5

    Читать далее...
  • RTX5. Управление памятью

    CMSIS-RTOS API v2 предлагает два варианта управления памятью, которые может выбрать пользователь. Для хранения объектов можно использовать Автоматическое динамическое распределение памяти (полностью переносимое), или Ручное пользовательское распределение памяти (зависит от конкретной реализации). Для того, чтобы повлиять на распределение памяти, все объекты RTOS, которые могут быть созданы по запросу, то есть

    Читать далее...
  • RTX5. Общие концепции дизайна обьектов

    Все объекты RTOS имеют общую концепцию дизайна. Общий жизненный цикл объекта можно суммировать как создание -> использование -> удаление. Создание  обьекта Объект создается путем вызова его функции osXxxNew. Новая функция возвращает идентификатор, который можно использовать для работы с новым объектом. Актуальное состояние объекта обычно хранится в специфичном для объекта блоке

    Читать далее...
  • KEIL. Диалог Users. Запуск внешних инструментов

    Диалог Users. Запуск внешних инструментов Внешние инструменты могут быть запущены во время процесса сборки приложения. Вы можете ввести команды в диалоговом окне «Options for Target — User». Аргументы передаются этим инструментам с использованием Key Sequence..   Диалоговое окно позволяет выполнять программы: Перед компиляцией файла C или C++ (например, для проверки

    Читать далее...
  • RTX5. Основные понятия RTOS интерфейса

    RTOS интерфейс CMSIS-RTOS2 это основной API интерфейс для RTOS ядра. Программисты вызывают  CMSIS-RTOS2 API функции в пользовательском коде чтобы обеспечить максимальную переносимость от одной RTOS к другой. Middleware (промежуточное ПО)  использующие преимущество этого подхода избегают ненужных усилий портирования кода.   Структура CMSIS-RTOS API Типичная реализация интерфейса CMSIS-RTOS2 API связана с

    Читать далее...