IAR Workbench - IDE для STM32
IAR - IAR Embedded Workbench for ARM 7.80
Встановлення та налаштування. Створення першого проекту. Офіційний сайт: https://www.iar.com/ Комерційне IDE для мікроконтролерів STM32. У безкоштовному варіанті має обмеження на 30 днів, або за обсягом програми до 32Кб. Завантажити можна з офіційного сайту.Встановлення і налаштування IAR
Встановлюємо IAR. Тут все просто - скачав, встановив. Після інсталяції IAR попросить реєстрацію. Потрібно зареєструвати IAR для безкоштовного використання. При реєстрації вказуємо варіант обмеження для безкоштовної версії на 30 днів, або за обсягом програми до 32Кб. Після реєстрації на електронну пошту прийде реєстраційний ключ. Вводимо ключ реєстрації.Встановлення бібліотек SPL
IAR для STM32 встановлюється без бібліотек SPL. Тому потрібно завантажити бібліотеки з сайту st.com. Для STM32F103 посилання: http://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32-standard -peripheral-libraries / stsw-stm32054.html Створимо папку, у якій будуть зберігатися наші проекти, наприклад C:\STM32_Projects. У цій директорії створюємо папку Libraries і в неї розпаковуємо вміст архіву en.stsw-stm32054.zip (скачана бібліотека SPL). Точніше не весь архів, а вміст папки Libraries з архіву, решта нас мало цікавить. Створюємо папку, в якій буде перший проект нашої програми: C:\STM32_Projects\Example_First_Programm









C:\STM32_Projects\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c







C:\STM32_Projects\Libraries
C:\STM32_Projects\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\iar
C:\STM32_Projects\Libraries\STM32F10x_StdPeriph_Driver\inc
C:\STM32_Projects\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x Краще вказувати відносні шляхи: $PROJ_DIR$
$PROJ_DIR$\..\Libraries
$PROJ_DIR$\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\iar
$PROJ_DIR$\..\Libraries\STM32F10x_StdPeriph_Driver\inc
$PROJ_DIR$\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x Вказуємо Defined symbols: STM32F10X_MD
USE_STDPERIPH_DRIVER











/**
******************************************************************************
* @file stm32f10x_conf.h
* @author MCD Application Team
* @version V3.4.0
* @date 10/15/2010
* @brief Library configuration file.
******************************************************************************
* @copy
*
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*
* <h2><center>© COPYRIGHT 2010 STMicroelectronics</center></h2>
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32F10x_CONF_H
#define __STM32F10x_CONF_H
/* Includes ------------------------------------------------------------------*/
/* Uncomment the line below to enable peripheral header file inclusion */
/* #include "stm32f10x_adc.h" */
/* #include "stm32f10x_bkp.h" */
/* #include "stm32f10x_can.h" */
/* #include "stm32f10x_cec.h" */
/* #include "stm32f10x_crc.h" */
/* #include "stm32f10x_dac.h" */
/* #include "stm32f10x_dbgmcu.h" */
/* #include "stm32f10x_dma.h" */
/* #include "stm32f10x_exti.h" */
/* #include "stm32f10x_flash.h" */
/* #include "stm32f10x_fsmc.h" */
/* #include "stm32f10x_gpio.h" */
/* #include "stm32f10x_i2c.h" */
/* #include "stm32f10x_iwdg.h" */
/* #include "stm32f10x_pwr.h" */
/* #include "stm32f10x_rcc.h" */
/* #include "stm32f10x_rtc.h" */
/* #include "stm32f10x_sdio.h" */
/* #include "stm32f10x_spi.h" */
/* #include "stm32f10x_tim.h" */
/* #include "stm32f10x_usart.h" */
/* #include "stm32f10x_wwdg.h" */
/* #include "misc.h" */ /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/* Uncomment the line below to expanse the "assert_param" macro in the
Standard Peripheral Library drivers code */
/* #define USE_FULL_ASSERT 1 */
/* Exported macro ------------------------------------------------------------*/
#ifdef USE_FULL_ASSERT
/**
* @brief The assert_param macro is used for function`s parameters check.
* @param expr: If expr is false, it calls assert_failed function
* which reports the name of the source file and the source
* line number of the call that failed.
* If expr is true, it returns no value.
* @retval None
*/
#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
/* Exported functions ------------------------------------------------------- */
void assert_failed(uint8_t* file, uint32_t line);
#else
#define assert_param(expr) ((void)0)
#endif /* USE_FULL_ASSERT */
#endif /* __STM32F10x_CONF_H */
/******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/
Пишемо в 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++);
}
}
Додаємо в проект файли stm32f10x_gpio.c, stm32f10x_rcc.c з папки C:\STM32_Projects\Libraries\STM32F10x_StdPeriph_Driver\src (вони використовуються в проекті)



Дивись також:
- 1. STM32. Програмування STM32F103. Тестова плата. Прошивка через UART та через ST-Link
- 2. STM32. Програмування. IDE для STM32
- 3. STM32. Програмування STM32F103. GPIO
- 4. STM32. Програмування STM32F103. Тактування
- 5. STM32. Програмування STM32F103. USART
- 6. STM32. Програмування STM32F103. NVIC
- 7. STM32. Програмування STM32F103. ADC
- 8. STM32. Програмування STM32F103. DMA
- 9. STM32. Програмування STM32F103. TIMER
- 10. STM32. Програмування STM32F103. TIMER. Захоплення сигналу
- 11. STM32. Програмування STM32F103. TIMER. Encoder
- 12. STM32. Програмування STM32F103. TIMER. PWM
- 13. STM32. Програмування STM32F103. EXTI
- 14. STM32. Програмування STM32F103. RTC
- 15. STM32. Програмування STM32F103. BKP
- 16. STM32. Програмування STM32F103. Flash
- 17. STM32. Програмування STM32F103. Watchdog
- 18. STM32. Програмування STM32F103. Remap
- 19. STM32. Програмування STM32F103. I2C Master
- 20. STM32. Програмування STM32F103. I2C Slave
- 21. STM32. Програмування STM32F103. USB
- 22. STM32. Програмування STM32F103. PWR
- 23. STM32. Програмування STM32F103. Option bytes
- 24. STM32. Програмування STM32F103. Bootloader
- STM32. Скачати приклади
- System Workbench for STM32 Інсталяція на Ubuntu
- Keil uVision5 – IDE для STM32
- IAR Workbench – IDE для STM32
- Керування безколекторним двигуном постійного струму (BLDC) за допомогою STM32
- Керування PMSM за допомогою STM32
Спасибо, то что надо! Скажите, какая среда удобней Keil или IAR? и в чём их различия?
Выбор среды разработки - это как выбирать костюм. То что подошло мне может не подойти Вам. И никто не может запретить Вам иметь несколько костюмов на разные случаи. Эти обе среды платные и в бесплатном варианте имеют одинаковые ограничения. IAR компилирует более плотнее. Я долгое время работал с IAR для STM8 и немного привык к ней. Но Keil более популярный. Я тяготею к бесплатному GCC и использую CooCox.
Дякую за статтю, особливо на рідній. Тільки намагаюсь познайомитись з IAR і як на мене досить тяжкий. Зараз пробую використати ваш приклад для своєї тест плати ZET6-2303 на STM32F103ZET6 але сипле куча попереджень.
Недавні записи
- FOC - своя реалізація векторного керування. Підбиваю підсумки 2022 року
- Конструктор регуляторів моторів. Підбиваю підсумки 2022 року.
- Чому трифазні мотори стали такими популярними?
- FOC & Polar coordinates
- Конструктор регуляторів PMSM, BLDC двигунів
- Своя бібліотека для векторного керування безколекторними моторами
- Not Allowed
- Адаптивний ПІД регулятор
- Конструктор регуляторів моторів. Структура.
- Конструктор регуляторів моторів. Анонс.
Tags
st-link 3d-printer encoder servo solar java-script git wifi uart mpu-9250 sensors capture motor esp8266 nodemcu usb usart piezo rfid css atmega bmp280 bkp avr displays brushless watchdog battery sms rs-232 tim mpu-6050 barometer examples nvic pmsm dc-dc eb-500 soldering meteo rtc gpio books websocket docker dht11 led smd stm32 web timer dma lcd mpx4115a hih-4000 bldc ssd1306 adc mongodb python options eeprom raspberry-pi remap max1674 programmator ethernet foc ngnix ssd1331 gps flash exti bluetooth html bme280 i2c pwm flask
Архіви