STM Урок 1. Установка Keil μVision

 

 

 

Урок 1

Установка Keil μVision

 

Программирование МК STM32 Следующий урок

 

 

 

Вводим на поисковом сайте строку stm32f4 spl

Попадаем сюда http://www.st.com/web/en/catalog/tools/PF257901

Скачиваем отсюда библиотеку

 

image00

 

Использовать мы будем отладочную плату STM32F4-DISCOVERY.

Запускаем Keil5

Запускаем там pack installer

 

image02

 

Слева выбираем наш контроллер

 

image01

 

А справа затем Device Specific и жмем Install.

После загрузки пакета выбираем справа еще ARM::CMSIS также жмем Install.

 

image04

 

Создаем новый проект Project->New uVision Project

Даем ему имя, выбираем контроллер

 

image03

 

Появляется Manage Run-Time Enveroment

Выбираем CMSIS->CORE и Device->Startup, ставим галки напротив и жмем «ОК»

 

image06

 

В Target1 добавляем новую папки pl, а папку Source Group 1 переименовываем в user

Такие же папки создаем в физическом каталоге проекта.

Распаковываем библиотеку

Копируем файл \STM32F4xx_DSP_StdPeriph_Lib_V1.6.1\Libraries\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h

в папку pl и снимаем с него атрибут «для чтения».

Также в данную папку копируем две папки (inc и src) из \STM32F4xx_DSP_StdPeriph_Lib_V1.6.1\Libraries\STM32F4xx_StdPeriph_Driver

Можно также снять с этих папок тот же атрибут, включая их содержимое.

Также из любого примера в \STM32F4xx_DSP_StdPeriph_Lib_V1.6.1\Project\

Копируем в папку pl файл stm32f4xx_conf.h

В проекте в группу pl добавляем все файлы из папки \pl\src, кроме файла stm32f4xx_fmc.c,

а также тот файл stm32f4xx_conf.h, который мы копировали выше.

В папке user создаем новый пустой файл main.c

Подключаем его в группу user в проекте

Пишем туда подключение добавленного хедер-файла вот таким образом (нажмите на картинку для увеличения размера)

 

image05_0500

 

 

Затем пропишем пути, выбрав контекстное меню на группе Target 1 и выбрав там следующий пункт

 

image08

 

На закладке C/C++ нажмем … справа от поля Include Paths и в открывшийся диалог добавим пути

 

image07

 

Добавим в main.c функцию main с бесконечным циклом

int main(void)

{

while(1)

{

 

}

}

 

Вызовем контекстное меню на объявлении заголовочного файла

 

image11

 

И внесем следующие исправления

Разкоментируем

#define STM32F40_41xxx

и /*#define USE_STDPERIPH_DRIVER */

изменить 25000000 на 8000000 здесь

#define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */

 

 

Чтобы включить возможность писать комментарии на русском языке,

в панели инструментов нажимаем пункт «Configuration»

 

image09

 

И выбираем там кодовую страницу

 

image10

 

Также вот здесь можно поменять размер и тип шрифта в редакторе

 

image12

 

Добавим код в main()

RCC->AHB1ENR |= RCC_AHB1ENR_GPIODEN; // включим тактирование порта

GPIOD->MODER = 0x55000000; // включим ножки 12,13,14,15 на выход

GPIOD->OTYPER = 0; //подтянем резистор ко всем ножкам порта

GPIOD->OSPEEDR = 0; //установим скорость LOW на все лапки порта

GPIOD->ODR = 0xF000; // 12,13,14,15 лапки установим в 1, тем самым зажжем светодиод

 

Полный код

#include "stm32f4xx.h"

 

//GPIO_InitTypeDef GPIO_InitStructure;

 

int main(void)

{

uint32_t i;

 

RCC->AHB1ENR|=RCC_AHB1ENR_GPIODEN;

 

GPIOD->MODER = 0x55000000;

GPIOD->OTYPER = 0;

GPIOD->OSPEEDR = 0;

 

while(1)

{

GPIOD->ODR = 0x8000;

for(i=0;i<500000;i++){}

GPIOD->ODR = 0x4000;

for(i=0;i<500000;i++){}

GPIOD->ODR = 0x2000;

for(i=0;i<500000;i++){}

GPIOD->ODR = 0x1000;

for(i=0;i<500000;i++){}

}

}

  Соберём код, прошьём контроллер и посмотрим результат  

 

image13

  

Программирование МК STM32 Следующий урок

 

 

Купить плату можно здесь STM32F4-DISCOVERY

 

Смотреть ВИДЕОУРОК

 

STM32 STM Урок 1. Установка Keil μVision

6 комментариев на “STM Урок 1. Установка Keil μVision
  1. Сергей:

    Для скачивания нужной STM32F10x_StdPeriph_Lib_V3.5.0 (например) не нужно ничего писать в строке. Идем на сайт http://www.st.com выбираем Products->Microcontrollers->STM32F1(например) и в Total Parts ищем свой МК (STM32f103c8t6 например — мой случай). Выбираем его. Идем вниз где расположены архивы MCUS EMBEDDED SOFTWARE. Уделяем внимание тем ссылкам которые начинаются с STSW-STM и среди них находим ту рядом с которой есть такое описание (с правой стороны) STM32F10x standard peripheral library. Скачиваем.

    • На момент съёмки урока и написания сценария было так.
      Спасибо за подсказку!
      Думаю, многим пригодится, хотя в актуальности на данный момент этой библиотеки, есть определённые сомнения.

  2. Alex:

    Таким писарям статей нужно по рукам стучать…
    «Скачиваем отсюда библиотеку «… А дальше что ? Что с ней делать ?
    «Слева выбираем наш контроллер» … А если его нет ? Что ?

    Статья — ниачом..

    • Посмотрите видеоурок, возможно Вам станет понятнее.
      В любом случае, спасибо за критику, хотя конечно этому уроку уже более 2х лет.
      Посмотрите последние уроки, заодно и оцените, исправился ли я за это время или нет.

    • Димитрий:

      Поддерживаю! Хорошо бы в духе уроков по AVR.

  3. Айдар:

    В уроках по AVR вы подробно рассказывали про регистры, хотелось бы и здесь.
    Спасибо!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*