SlideShare a Scribd company logo
1 of 13
Download to read offline
STM32. Занятие 1
Память, ядро и
тактирование
Ведущий: Савкин Сергей
ЦМИТ Академия 2015
Несмотря на то, что у МК 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 памяти.
/* 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
RCC
SysClock
Курс: 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

What's hot

тест по темам принцип открытой архитектуры
тест по темам принцип открытой архитектурытест по темам принцип открытой архитектуры
тест по темам принцип открытой архитектурыJIuc
 
процессоры презентация
процессоры   презентацияпроцессоры   презентация
процессоры презентацияИван Иванов
 
презентация л2 4-функц_стр_091214_v1
презентация л2 4-функц_стр_091214_v1презентация л2 4-функц_стр_091214_v1
презентация л2 4-функц_стр_091214_v1Gulnaz Shakirova
 
тест по теме микропроцессорные системы
тест по теме микропроцессорные системытест по теме микропроцессорные системы
тест по теме микропроцессорные системыJIuc
 
45
4545
45JIuc
 
Процессор
ПроцессорПроцессор
ПроцессорTitenko1
 
40
4040
40JIuc
 
Лекция №5 Организация ЭВМ и систем
Лекция №5 Организация ЭВМ и системЛекция №5 Организация ЭВМ и систем
Лекция №5 Организация ЭВМ и системpianist2317
 
031
031031
031JIuc
 
Филворд и кроссворд по теме «организация компьютера танка»
Филворд и кроссворд по теме «организация компьютера   танка»Филворд и кроссворд по теме «организация компьютера   танка»
Филворд и кроссворд по теме «организация компьютера танка»Анатолий Мячев
 
030
030030
030JIuc
 
029
029029
029JIuc
 
ОС в реальном времени
ОС в реальном времениОС в реальном времени
ОС в реальном времениNick535
 

What's hot (20)

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

Similar to 1.stm32 core flash rcc

Исключительная модель памяти. Алексей Ткаченко ➠ CoreHard Autumn 2019
Исключительная модель памяти. Алексей Ткаченко ➠ CoreHard Autumn 2019Исключительная модель памяти. Алексей Ткаченко ➠ CoreHard Autumn 2019
Исключительная модель памяти. Алексей Ткаченко ➠ CoreHard Autumn 2019corehard_by
 
06. Память Cortex-M3(4)
06. Память Cortex-M3(4)06. Память Cortex-M3(4)
06. Память Cortex-M3(4)KamlachPV
 
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)
Лекция 4: Оптимизация доступа к памяти (Memory access optimization, caches)Mikhail Kurnosov
 
Строение компьютера
Строение компьютераСтроение компьютера
Строение компьютераRonny_Rosenberg
 
034
034034
034JIuc
 
Память ПК
Память ПКПамять ПК
Память ПКkyky1234
 
Внутренняя память компьютера
Внутренняя память компьютераВнутренняя память компьютера
Внутренняя память компьютераNick535
 
тема 2 2.техническое обеспечение компьютера
тема 2 2.техническое обеспечение компьютератема 2 2.техническое обеспечение компьютера
тема 2 2.техническое обеспечение компьютераmrprizrak
 
Построение систем автоматического протоколирования Си/Си++ кода
Построение систем автоматического протоколирования Си/Си++ кодаПостроение систем автоматического протоколирования Си/Си++ кода
Построение систем автоматического протоколирования Си/Си++ кодаTatyanazaxarova
 
IBM Spectrum Protect. Надежные программные решения для резервного копировани...
IBM Spectrum Protect. Надежные программные решения для резервного  копировани...IBM Spectrum Protect. Надежные программные решения для резервного  копировани...
IBM Spectrum Protect. Надежные программные решения для резервного копировани...Irina Podlevskikh
 
AQ_Server_MPT070420-TO_SEND.pdf
AQ_Server_MPT070420-TO_SEND.pdfAQ_Server_MPT070420-TO_SEND.pdf
AQ_Server_MPT070420-TO_SEND.pdfTest946133
 
prezlec_Історія.ppt
prezlec_Історія.pptprezlec_Історія.ppt
prezlec_Історія.pptssusere2bc36
 
Флеш в серверах: работа со скоростью вспышки
Флеш в серверах: работа со скоростью вспышкиФлеш в серверах: работа со скоростью вспышки
Флеш в серверах: работа со скоростью вспышкиКРОК
 
компьютер 5
компьютер 5компьютер 5
компьютер 5vampir3424
 
компьютер 5
компьютер 5компьютер 5
компьютер 5vampir3424
 

Similar to 1.stm32 core flash rcc (20)

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

More from Sergey Savkin

8 lcd восьмое задание
8 lcd восьмое задание8 lcd восьмое задание
8 lcd восьмое заданиеSergey Savkin
 
7 usb седьмое задание
7 usb седьмое задание7 usb седьмое задание
7 usb седьмое заданиеSergey Savkin
 
детали к 7 занятию
детали к 7 занятиюдетали к 7 занятию
детали к 7 занятиюSergey Savkin
 
6 i2c spi шестое занятие
6 i2c spi шестое занятие6 i2c spi шестое занятие
6 i2c spi шестое занятиеSergey Savkin
 
детали к 6 занятию
детали к 6 занятиюдетали к 6 занятию
детали к 6 занятиюSergey Savkin
 
домашнее задание к 5 уроку
домашнее задание к 5 урокудомашнее задание к 5 уроку
домашнее задание к 5 урокуSergey Savkin
 
Детали и комплекты для четвертого занятия.
Детали и комплекты для четвертого занятия.Детали и комплекты для четвертого занятия.
Детали и комплекты для четвертого занятия.Sergey Savkin
 
домашнее задание к 4 уроку
домашнее задание к 4 урокудомашнее задание к 4 уроку
домашнее задание к 4 урокуSergey Savkin
 
Домашнее задание к 3 уроку
Домашнее задание к 3 урокуДомашнее задание к 3 уроку
Домашнее задание к 3 урокуSergey Savkin
 
Детали и комплекты для воторого занятия.
Детали и комплекты для воторого занятия.Детали и комплекты для воторого занятия.
Детали и комплекты для воторого занятия.Sergey Savkin
 
STM32 Быстрый старт!
STM32 Быстрый старт!STM32 Быстрый старт!
STM32 Быстрый старт!Sergey Savkin
 

More from Sergey Savkin (16)

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

1.stm32 core flash rcc

  • 1. STM32. Занятие 1 Память, ядро и тактирование Ведущий: Савкин Сергей ЦМИТ Академия 2015
  • 2.
  • 3.
  • 4.
  • 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 памяти.
  • 6.
  • 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 - исключительные ситуации не обрабатываются - обычное выполнение кода Привилегированные/ непривилегированные Основной стек или стек процесса
  • 10.
  • 12.
  • 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