Keil uVision5 컴파일러를 이용하여 STM32F407VET6 칩 동작 system clock 을 사용한 Real Time Delay 함수를 사용는 방법에 대하여 설명한다. Keil uVision5 에서 제공하는 Stm32f4xx_hal.h 라이브러리에 아래와 같이 HAL_Delay 함수를 제공한다. 문제점) Delay 함수 내부의 HAL_GetTick 함수의 반환 값이 계속 0으로 읽혀 Delay 함수가 제대로 동작되지 않았다. 해결방법은 Startup Component 를 선택하면 생성되는 Startup_stm32f407xx.s파일 내용중 Systick_Handler함수를 main함수 내부에 생성하여 인터럽트를 처리해주면 된다. Systick_Handler핸들 내부에는 Stm32f4xx_hal..
STM32F407VET6 LED ON & OFF 제어 테스트 📌 SMT32F407VET6 칩내장 보드의 GPIO를 사용하여 LED를 켜보기로하겠다. LED가 SMT32F407VET6칩의 어떤 PIN에 연결되어 있는지 도면을 확인한다. SMT32F407VET6칩의 PE7~PE11 에 RGB or RG LED 2개가 연결되어 있다. GPIO를 사용하기 위하여 Keil uVision5 의 Software Component 추가가 필요하다. STM32Cube Framework(API) 에서 Classic 선택한다. STM32Cube HAL 에서 Common, Cortex, GPIO, PWR, RCC 를 선택한다. for 를 사용하여 딜레이를 구현하기 위해 실시간성을 제공하는 Software Component를 ..
📌 Cortex-M4 계열인 STM32F407VET6 CPU 칩이 내장되어있는 개발 보드 동작 시험을 위하여 Keil uVision5 환경설정을 하는 과정이다. Keil uVision5 설치후 Pack Installer 에서 STM32F407VETx Device 를 찾아 해당칩에 관련된 Pack을 다운받는다. Pack 다운로드 후 Project > New uVision Project... 를 실행하여 새로운 Project를 생성한다. Project 생성 후 Mange Run 에서 CMSIS > CORE, Device > Startup 을 선택한다. 생성된 프로젝트에서 Source Group 1 > Add New Item to Group... 을 선택하여 새로운 main.c 파일을 생성한다. 생성된 코드의..
📌 STM32F407 칩이 내장된 개발 보드에 F/W 다운로드를 위하여 miniJLINK V2.0을 써보기로 하였다. 아래는 devtool 에서 긁어온 miniJLINK V2.0 의 설명이다. 기능 설명 miniJLINK V2.0 는 기존의 V1.0의 최신펌웨어 Upgrade 문제와 크기를 줄인 제품입니다. ARM Cores를 Design을 위한 JTAG emulator로써, PC에 USB를 통해 연결되고, Windows 2000, Windows XP, Windows 2003, Windows Vista,win7 을 지원합니다. J-Link와 호환 가능한 제품으로 IAR Workbench 및 KEIL (RDI Interface)에서 ARM7/ARM9/ARM11/Cortex-M3(STM32) Target에 ..