verx
запорожье, сигнализация, ксенон, галактика звука,
шумоизоляция, автомагнитола, тюнинг,
автозвук, сабвуфер, усилитель,
мониторы, акустические системы, авто

 

 

 

 

 


nav-perevorot

PostHeaderIcon STM32. FLASH память. Структура

Новости - Новости

Основное предназначение flash памяти микроконтроллера – хранение кода программы. Именно отсюда извлекаются команды, которые затем выполняются ядром микроконтроллера. Весь алгоритм поведения микроконтроллера, каким его придумал разработчик программы, то, каким образом микроконтроллер реагирует на внешние воздействия, настройка всех периферийных модулей и т.д. – все это хранится во встроенной flash памяти. Целью нескольких последующих статей является более подробное знакомство со структурой и возможностями встроенной flash памяти, а также основными методами, позволяющими выполнять действия с этой областью памяти. Стирание и программирование всей памяти программ или отдельных ячеек, регистры конфигурации flash памяти, различные варианты защиты от доступа к этой области памяти и т.д. – все это будет изложено далее. Для удобства восприятия информация будет разделена на несколько частей. Первая часть является обзорной и в ней будет рассмотрена структура flash памяти некоторых серий микроконтроллеров из семейства STM32 с ядром Cortex-M3.

Основной объем встроенной flash памяти занимает, конечно же, область, предназначенная для хранения кода программы, но кроме нее есть часть памяти, предназначенная для других целей. Сама память программ разделена на фрагменты меньшего размера, число этих фрагментов и их размер зависит от серии микроконтроллера. Структура flash памяти будет рассмотрена на примере микроконтроллеров серий STM32F100–F103 и STM32L1xx, поскольку это наиболее распространенные и популярные типы.

Если пока не привязываться к конкретному семейству, то в общем виде структуру flash памяти можно представить состоящей из следующих областей:

Main memory — память программ. Содержит основной код программы, который исполняется ядром микроконтроллера. Эта область разделена на страницы определенного размера, количество и размер страниц зависит от типа микроконтроллера и размера его памяти программ. Кроме того, для некоторых микроконтроллеров область памяти программ кроме страниц может быть поделена еще и на несколько секторов. Сектор содержит какое-то число страниц определенного размера. В другом секторе размер страниц может отличаться.

EEPROM – энергонезависимая перепрограммируемая область памяти. Из всех вышеперечисленных серий имеется только в микроконтроллерах низкопотребляющей серии STM32L1xx. Обычно используется для хранения пользовательских данных, различных настроек устройства, т.е. всего того, что не должно потеряться при отключении питания или сбросе микроконтроллера. Хоть это также область flash памяти, но имеет некоторые отличия от области памяти программ. Эта область памяти будет рассмотрена в одной из следующих частей.

Information block содержит две области памяти: System memory и Option bytes.

System memory – это область загрузчика. Позволяет программировать микроконтроллер через внешний интерфейс (для вышеперечисленных семейств — USART). К этой области пользователь не имеет доступа, производитель «прошивает» в нее встроенный загрузчик при производстве микроконтроллера. Поэтому стереть или повредить данные в этой области случайными действиями невозможно.

Option bytes – область памяти, где устанавливается защита от записи/чтения отдельных страниц памяти программ, а также некоторые другие пользовательские настройки.

И в самом конце расположены регистры интерфейса flash памяти (FLITF — Flash memory interface).

На рисунках ниже приведена структура flash памяти для различных типов микроконтроллеров.

STM32F100 (medium-density value line devices)

STM32. FLASH память. Структура

STM32F10x (high-density devices)

STM32. FLASH память. Структура

STM32L1xx (medium density devices)

STM32. FLASH память. Структура

Всеми операциями записи/чтения «рулит» отдельный модуль – контроллер записи и чтения flash памяти FPEC (Flash Program/Erase Controller).

Микроконтроллеры с наибольшим размером памяти выделяются тем, что имеют по два банка памяти программ. Это позволяет хранить в микроконтроллере две версии прошивки, программировать один из банков памяти, в то время как второй является рабочим и в нем выполняется программа. К сожалению, практически попробовать эти возможности мне не приходилось, поэтому не могу рассказать подробней. Итак, вот структура микроконтроллеров XL-density STM32F101-103 и high-density STM32L1xx:

STM32F10x XL-density Flash module organization

STM32. FLASH память. Структура

STM32L1xx Flash module organization (high density devices)

STM32. FLASH память. Структура

Как видно из последней таблицы, у микроконтроллеров high-density STM32L1xx кроме двойного банка памяти программ продублированы и все остальные области flash памяти, а именно EEPROM, область загрузчика и Option Bytes. В обеих таблицах для семейства STM32L1xx отсутствуют регистры интерфейса flash памяти. На самом деле они есть и никуда не делись, но почему-то именно в этих таблицах из документации они не приведены.

Для начала, думаю, пока хватит. В следующий раз рассмотрим процедуры программирования и стирания в области памяти программ, а также способы защиты и регистры flash интерфейса.

Другие статьи:

Подробнее: http://chipspace.ru/stm32-flash-structure/

 

PostHeaderIcon Самое читаемое

Своими руками: USB UART переходники на FT232 и CP2103 (схемы)

Своими руками: USB UART переходники на FT232 и CP2103 (схемы)

LPT и COM порты уже большая редкость на современных стационарных компьютерах, а про ноутбуки то и говорить нечего. USB медленно,...

Домашняя акустика своими руками (ФОТО)

Домашняя акустика своими руками (ФОТО)

Однажды я задумал собрать себе качественную акустику для озвучивания небольшой комнаты, а также для использования в качестве мониторов ближнего поля...

Самодельный автомобильный MP3 плеер своими руками (схема)

Самодельный автомобильный MP3 плеер своими руками (схема)

В настоящее время рынок насыщен MP3 плеерами, хранящими аудиозаписи в виде MP3 файлов в флэш-памяти, но в основном это миниатюрные карманные устройства,...

Модуль заряда Li-ion аккумуляторов на микросхеме TP4056

Модуль заряда Li-ion аккумуляторов на микросхеме TP4056

Вот такую весьма полезную штуку я сегодня получил на почте. Это, небольших размеров, плата содержит контроллер заряда Li-Ion аккумуляторов TP4056...

Как сделать самодельную коптильню для холодного и горячего копчения

Как сделать самодельную коптильню для холодного и горячего копчения

Кто из нас не любит копчёную колбаску или балык? Но проблема в том, что продаваемое на рынках и супермаркетах мясо,...




niz-kontakti

 

 


 


Галактика Звука будет рада видеть Вас у себя в гостях. В данном разделе вы сможете увидеть на карте схему проезда к нам. А также узнать, как с нами связаться или отправить нам письмо.

podrobnee

Маяк-Мониторинг: Новости Запорожья

Яндекс.Метрика