Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ознакомительное руководство по ARM-микроконтрол...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.27 Mб
Скачать

4.1. Распределение памяти

Несмотря на то, что у МК STM32 имеется множество внутренних шин, адресное пространство для программиста предлагается как линейное размером 4 Гбайт. Поскольку МК STM32 выполнены на основе ядра Cortex, то у них используется стандартное распределение памяти. Память программ начинается с адреса 0x00000000, встроенное статическое ОЗУ – с адреса 0x20000000. Все ячейки статического ОЗУ расположены в области хранения бит. Регистры периферийных устройств представлены в карте памяти, начиная с адреса 0x40000000, и также расположены в области хранения бит периферийных устройств. Наконец, регистры Cortex находятся в их стандартном месте, начиная с адреса 0xE0000000.

Карта памяти STM32 выполнена по стандарту Cortex. Первые 2 кбайт памяти могут быть связаны с Flash памятью, системной памятью или статическим ОЗУ, в зависимости от состояния выводов управления загрузкой.

Область Flash памяти разделена на три секции. Первая – Flash память пользователя – начинается с адреса 0x0000000. Далее следует системная память, которая также называется большим информационным блоком. Она представляет собой Flash память размером 4 кбайт, которая запрограммирована производителем кодом программы загрузчика. Последняя секция, которая начинается с адреса 0x1FFFF800, называется малым информационным блоком. В ней находится группа опциональных байт, с помощью которых можно повлиять на некоторые системные настройки микроконтроллера STM32. Программа загрузчика позволяет посредством интерфейса USART1 загрузить код программы и поместить его во Flash память пользователя. Чтобы перевести МК STM32 в режим загрузчика, нужно на внешних выводах BOOT0 и BOOT1 установить низкий и высокий уровни соответственно. Если установить именно такие состояния на выводах управления загрузкой, то блок системной памяти отобразится с адреса 0x00000000. После сброса, МК STM32, вместо выполнения прикладного кода из Flash памяти пользователя, начнет выполнение программы загрузчика. Чтобы пользователь имел возможность стирать и перепрограммировать Flash память, на компьютере необходимо запустить еще одну программу загрузчика, которую можно скачать с сайта компании ST. Программа для компьютера также доступна в виде DLL-файла, что позволяет создавать собственное ПО для программирования микроконтроллеров на фазах производства или эксплуатации продукции.

С помощью выводов управления загрузкой адрес 0x00000000 вместо Flash памяти пользователя может быть также связан со статическим ОЗУ. Поскольку загрузка статического ОЗУ осуществляется более быстро, то эта возможность может оказаться полезной на фазе проектирования для исполнения кода программы из статического ОЗУ. Кроме того, появляется возможность сократить частоту перепрограммирования Flash памяти.

4.2. Работа с максимальным быстродействием

Помимо двух внешних генераторов, у STM32 имеется два внутренних RC-генератора. Сразу после сброса ядро Cortex синхронизируется внутренним высокочастотным генератором, номинальная рабочая частота которого составляет 8 МГц. Второй внутренний генератор – низкочастотный генератор на частоту 32,768 кГц. Данный генератор предназначен для совместной работы с часами реального времени и сторожевым таймером.

У МК STM32 используется достаточно сложная система синхронизации с двумя внешними и двумя внутренними генераторами, а также схемой ФАПЧ. В целях безопасности системы предусмотрена возможность мониторинга функционирования внешнего высокочастотного генератора.

Процессор Cortex поддерживает возможность синхронизации от внешнего или внутреннего высокочастотного генератора или от внутренней схемы ФАПЧ. Источником синхронизации схемы ФАПЧ может служить внутренний или внешний высокочастотный генератор. Таким образом, МК STM32 могут работать на частоте 72 МГц без использования внешнего генератора. Недостатком использования внутреннего генератора на частоту 8 МГц является его невысокая точность и стабильность. Его нельзя использовать для синхронизации последовательных интерфейсов или для выполнения точных измерений временных интервалов. Независимо от выбранного генератора, чтобы добиться работы ядра Cortex на максимальной частоте 72 МГц, необходимо использовать ФАПЧ. Все регистры управления настройками генераторов, ФАПЧ и шин находятся в группе управления сбросом и синхронизацией (группа RCC).

Блок управления сбросом и синхронизацией воздействует на систему синхронизации, шинные преобразователи и домен с резервированием питания.