SlideShare a Scribd company logo
STM32. Занятие 1
Память, ядро и
тактирование
Ведущий: Савкин Сергей
ЦМИТ Академия 2015
1.stm32 core flash rcc
1.stm32 core flash rcc
1.stm32 core flash rcc
Несмотря на то, что у МК 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 памяти.
1.stm32 core flash rcc
/* Unlock the Flash *********************************************************/
/* Enable the flash control register access */
FLASH_Unlock();
/* Clear pending flags (if any) */
FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR |
FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR|FLASH_FLAG_PGSERR);
/* Program the user Flash area word by word ********************************/
/* area defined by FLASH_USER_START_ADDR and FLASH_USER_END_ADDR */
uwAddress = FLASH_USER_START_ADDR;
while (uwAddress < FLASH_USER_END_ADDR)
{
if (FLASH_ProgramWord(uwAddress, DATA_32) == FLASH_COMPLETE)
{
uwAddress = uwAddress + 4;
}
else
{
/* Error occurred while writing data in Flash memory.
User can add here some code to deal with this error */
while (1)
{
}
}
}
/* Lock the Flash to disable the flash control register access (recommended
to protect the FLASH memory against possible unwanted operation) */
FLASH_Lock();
Flash unlock
Процессор Cortex-M3 может
использоваться в обычном режиме
('flat'), а также поддерживает
операционные системы реального
времени. У него предусмотрены режимы
Handler и Thread с возможностями
выбора используемого стека (основной
стек или стек процесса) и
привилегированного доступа к
регистрам управления системными
ресурсами Cortex
Операции (после сброса -
привилегированные)
Стек (после сброса - основной
стек)
Режимы (Thread)
Handler
- обработка исключительных
ситуаций
Привилегированное
исполнение
Полное управление
Основной стек используется
ОС и при обработке
исключительных ситуаций
Thread
- исключительные ситуации
не обрабатываются
- обычное выполнение кода
Привилегированные/
непривилегированные
Основной стек или стек
процесса
BOR
PVD
STOP
SLEEP
STANBY
1.stm32 core flash rcc
RCC
SysClock
1.stm32 core flash rcc
Курс: 10 занятий
0. Знакомство c программами, мигание светодиодом
1. Память, ядро и тактирование
2. GPIO, двигатели и датчики
3. Таймеры и прерывания
4. АЦП и ЦАП
5. DMA контроллер
6. I2C(TWA) и SPI
7. USART
8. USB и SDIO
9. Система реального времени
10.Занятие по проектам участников
Сергей Савкин, +79154579583, cmitkids@gmail.com

More Related Content

PPTX
[DD] 10. Memory
PPT
035
DOC
43
PPTX
ОЗУ
PPTX
дәріс №8
PPT
025
PPT
44
PPSX
Память ПК
[DD] 10. Memory
035
43
ОЗУ
дәріс №8
025
44
Память ПК

What's hot (20)

PPT
Лекция №5 Организация ЭВМ и систем
PPT
Процессор
PPT
Лекция №1 Организация ЭВМ и систем
DOC
тест по темам принцип открытой архитектуры
PPT
Лекция № 2 Организация ЭВМ и систем
PPT
процессоры презентация
PPT
презентация л2 4-функц_стр_091214_v1
DOC
тест по теме микропроцессорные системы
PPT
Лекция №2
DOC
45
PPTX
Процессор
DOC
40
ODP
36арл
PPT
Лекция №5 Организация ЭВМ и систем
PPT
031
PPTX
Филворд и кроссворд по теме «организация компьютера танка»
PPT
030
DOC
029
PPTX
ОС в реальном времени
Лекция №5 Организация ЭВМ и систем
Процессор
Лекция №1 Организация ЭВМ и систем
тест по темам принцип открытой архитектуры
Лекция № 2 Организация ЭВМ и систем
процессоры презентация
презентация л2 4-функц_стр_091214_v1
тест по теме микропроцессорные системы
Лекция №2
45
Процессор
40
36арл
Лекция №5 Организация ЭВМ и систем
031
Филворд и кроссворд по теме «организация компьютера танка»
030
029
ОС в реальном времени
Ad

Similar to 1.stm32 core flash rcc (20)

PPTX
Исключительная модель памяти. Алексей Ткаченко ➠ CoreHard Autumn 2019
PPT
06. Память Cortex-M3(4)
PDF
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
PPTX
Строение компьютера
PPT
06. memory
DOC
034
PPSX
Память ПК
PDF
Внутренняя память компьютера
PPS
тема 2 2.техническое обеспечение компьютера
PPTX
Theme 07
PPT
Prez osob mikroproc
PDF
Построение систем автоматического протоколирования Си/Си++ кода
PDF
IBM Spectrum Protect. Надежные программные решения для резервного копировани...
PDF
AQ_Server_MPT070420-TO_SEND.pdf
PPT
prezlec_Історія.ppt
PPTX
Презентация 5
PPT
PDF
Флеш в серверах: работа со скоростью вспышки
PPT
компьютер 5
PPT
компьютер 5
Исключительная модель памяти. Алексей Ткаченко ➠ CoreHard Autumn 2019
06. Память Cortex-M3(4)
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
Строение компьютера
06. memory
034
Память ПК
Внутренняя память компьютера
тема 2 2.техническое обеспечение компьютера
Theme 07
Prez osob mikroproc
Построение систем автоматического протоколирования Си/Си++ кода
IBM Spectrum Protect. Надежные программные решения для резервного копировани...
AQ_Server_MPT070420-TO_SEND.pdf
prezlec_Історія.ppt
Презентация 5
Флеш в серверах: работа со скоростью вспышки
компьютер 5
компьютер 5
Ad

More from Sergey Savkin (16)

DOCX
10 sdio
DOCX
9 free rtos
DOCX
8 lcd восьмое задание
PDF
7 usb седьмое задание
DOCX
детали к 7 занятию
PDF
6 i2c spi шестое занятие
PDF
детали к 6 занятию
PDF
5 i2c spi
PDF
домашнее задание к 5 уроку
DOCX
Детали и комплекты для четвертого занятия.
PDF
домашнее задание к 4 уроку
PDF
3 stm32 nvic tim
PDF
Домашнее задание к 3 уроку
PDF
2 stm32 gpio
PDF
Детали и комплекты для воторого занятия.
PDF
STM32 Быстрый старт!
10 sdio
9 free rtos
8 lcd восьмое задание
7 usb седьмое задание
детали к 7 занятию
6 i2c spi шестое занятие
детали к 6 занятию
5 i2c spi
домашнее задание к 5 уроку
Детали и комплекты для четвертого занятия.
домашнее задание к 4 уроку
3 stm32 nvic tim
Домашнее задание к 3 уроку
2 stm32 gpio
Детали и комплекты для воторого занятия.
STM32 Быстрый старт!

1.stm32 core flash rcc

  • 1. STM32. Занятие 1 Память, ядро и тактирование Ведущий: Савкин Сергей ЦМИТ Академия 2015
  • 5. Несмотря на то, что у МК 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 памяти.
  • 7. /* Unlock the Flash *********************************************************/ /* Enable the flash control register access */ FLASH_Unlock(); /* Clear pending flags (if any) */ FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_OPERR | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | FLASH_FLAG_PGPERR|FLASH_FLAG_PGSERR); /* Program the user Flash area word by word ********************************/ /* area defined by FLASH_USER_START_ADDR and FLASH_USER_END_ADDR */ uwAddress = FLASH_USER_START_ADDR; while (uwAddress < FLASH_USER_END_ADDR) { if (FLASH_ProgramWord(uwAddress, DATA_32) == FLASH_COMPLETE) { uwAddress = uwAddress + 4; } else { /* Error occurred while writing data in Flash memory. User can add here some code to deal with this error */ while (1) { } } } /* Lock the Flash to disable the flash control register access (recommended to protect the FLASH memory against possible unwanted operation) */ FLASH_Lock(); Flash unlock
  • 8. Процессор Cortex-M3 может использоваться в обычном режиме ('flat'), а также поддерживает операционные системы реального времени. У него предусмотрены режимы Handler и Thread с возможностями выбора используемого стека (основной стек или стек процесса) и привилегированного доступа к регистрам управления системными ресурсами Cortex Операции (после сброса - привилегированные) Стек (после сброса - основной стек) Режимы (Thread) Handler - обработка исключительных ситуаций Привилегированное исполнение Полное управление Основной стек используется ОС и при обработке исключительных ситуаций Thread - исключительные ситуации не обрабатываются - обычное выполнение кода Привилегированные/ непривилегированные Основной стек или стек процесса
  • 13. Курс: 10 занятий 0. Знакомство c программами, мигание светодиодом 1. Память, ядро и тактирование 2. GPIO, двигатели и датчики 3. Таймеры и прерывания 4. АЦП и ЦАП 5. DMA контроллер 6. I2C(TWA) и SPI 7. USART 8. USB и SDIO 9. Система реального времени 10.Занятие по проектам участников Сергей Савкин, +79154579583, cmitkids@gmail.com