сайт для палких паяльників

Keil – Keil uVision5

Установка и настройка Keil. Создание первого проекта.
Официальный сайт: http://www.keil.com/
Платная среда разработки для микроконтроллеров STM32.
В бесплатном варианте имеет ограничение по объему программы до 32Кб.
Скачать можно с официального сайта.

Установка и настройка Keil

Скачиваем Keil с официального сайта и устанавливаем. При установке Keil, должны установиться драйвера для St-Link программатора. Я устанавливал версию Keil 5.13, поскольку на мою старенькую Windows XP версия Keil 5.22 устанавливаться не захотела.

PackInstaller

После установки запускаем Keil и кнопкой на тулбаре открываем PackInstaller

Справа в закладке Devices находим наш контроллер. В моем случае это STM32F103C8, после чего в закладке Packs слева по очереди инсталлируем все пакеты. Почему в PackInstaller все делается справа налево я так и не понял. Оставим это на совести разработчиков.

После того, как установим все пакеты, закрываем PackInstaller и создаем проект с помощью меню
Project -> New mVision Project…

Выбираем папку и указываем имя проекта.

После чего будет предложено выбрать микроконтроллер.

Далее появится окно, в котором нужно отметить компоненты, которые мы будем использовать в проекте.

Отмечаем обязательно:

  • CMSIS-CORE – поддержка основного ядра ARM
  • System Startup – основной конфигурационный системный файл
  • Standard Peripherals Drivers Framework – стандартные драйверы периферии

И те компоненты, которые будут использоваться в проекте:

  • GPIO – управление выводами микроконтроллера
  • RCC – управление тактированием периферии

После того, как расставили галочки нажимаете в левом нижнем углу кнопку “Resolve” и только потом “ОК“. Окно должно закрыться.

Теперь создаем основной файл, в котором будет наша первая программа. Правой кнопкой мыши кликаем на Sourcegroup 1, далее Add New Irem to Group Source Group 1…

Указываем тип и имя файла.

После чего будет создан и открыт файл main.c.. Наберем в нем следующий текст программы:

#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"

int main(void)
{
  int i;
  /* Initialize Leds mounted on STM32 board */
  GPIO_InitTypeDef  GPIO_InitStructure;
  /* Initialize LED which connected to PC13, Enable the Clock*/
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
  /* Configure the GPIO_LED pin */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOC, &GPIO_InitStructure);

  while (1)
  {
    /* Toggle LED which connected to PC13*/
    GPIOC->ODR ^= GPIO_Pin_13;

    /* delay */
    for(i=0;i<0x100000;i++);
  }
}

Перед тем как компилировать программу нужно сделать некоторые настройки нашего проекта. Кликаем на иконке Options for Target… Откроется окно настроек проекта.

В закладке “Target” нужно указать тактовую частоту микроконтроллера.

В закладке “Output” нужно выбрать формат выходного файла.

В закладке “C/C++” указать в строке Define: следующие опции:

USE_STDPERIPH_DRIVER,STM32F10X_CL

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

Теперь можно закрыть окно настроек и попробовать собрать проект, выполнив пункт меню Project -> Build target.

После удачной сборки должны увидеть такую картину:

Успехов.

Смотри также:

1 коментар: Keil uVision5 – IDE для STM32

  • Леонид говорить:

    Добрый день!

    При компилировании проекта выдает кучу ошибок:

    *** Using Compiler ‘V5.06 update 4 (build 422)’, folder: ‘C:\Keil_v5\ARM\ARMCC\Bin’
    Build target ‘Target 1’
    compiling stm32f10x_gpio.c…
    C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\Include\stm32f10x.h(433): error: #67: expected a “}”
    ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */
    C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\Include\stm32f10x.h(477): warning: #12-D: parsing restarts here after previous syntax error
    } IRQn_Type;
    C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\StdPeriph_Driver\src\stm32f10x_gpio.c: 1 warning, 1 error
    compiling GPIO_STM32F10x.c…
    C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\Include\stm32f10x.h(433): error: #67: expected a "}"
    ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */
    C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\Include\stm32f10x.h(477): warning: #12-D: parsing restarts here after previous syntax error
    } IRQn_Type;
    C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\RTE_Driver\GPIO_STM32F10x.c: 1 warning, 1 error
    compiling main.c…
    C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\Include\stm32f10x.h(433): error: #67: expected a "}"
    ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */
    C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\Include\stm32f10x.h(477): warning: #12-D: parsing restarts here after previous syntax error
    } IRQn_Type;
    main.c: 2 warnings, 1 error
    #1-D: last line of file ends without a newline
    }
    compiling misc.c…
    C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\Include\stm32f10x.h(433): error: #67: expected a "}"
    ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */
    C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\Include\stm32f10x.h(477): warning: #12-D: parsing restarts here after previous syntax error
    } IRQn_Type;
    C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\StdPeriph_Driver\src\misc.c: 1 warning, 1 error
    compiling stm32f10x_rcc.c…
    C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\Include\stm32f10x.h(433): error: #67: expected a "}"
    ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */
    C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\Include\stm32f10x.h(477): warning: #12-D: parsing restarts here after previous syntax error
    } IRQn_Type;
    C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\StdPeriph_Driver\src\stm32f10x_rcc.c: 1 warning, 1 error
    assembling startup_stm32f10x_md.s…
    compiling system_stm32f10x.c…
    C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\Include\stm32f10x.h(433): error: #67: expected a "}"
    ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */
    C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.1.0\Device\Include\stm32f10x.h(477): warning: #12-D: parsing restarts here after previous syntax error
    } IRQn_Type;
    RTE\Device\STM32F103C8\system_stm32f10x.c: 1 warning, 1 error
    ".\Objects\test.axf" – 6 Error(s), 6 Warning(s).
    Target not created.
    Build Time Elapsed: 00:00:01

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

 
Translate
Архіви

© 2011-2017 Андрій Корягін, Кременчук - Київ, Україна