32F429IDISCOVERY CubeIDE에서 LL 드라이버로 LED 제어

2019. 8. 17. 21:59임베디드/32F429IDISCOVERY

1. CubeIDE를 실행시킨 후 STM32 프로젝트 생성을 누른다

 

 

프로젝트 명을 입력하고

 

 

펌웨어 라이브러리는 default 옵션으로 설정 후 Finish를 누른다

 

 

그리고 UI 자체가 cubeMX 성격과 비슷하다고 나와있고, 이를 따라가겠냐고 나와있는데 cubeMX 기반에서 코드를 생성할 것이기 때문에 Yes를 누르도록 한다

 

 

가끔 펌웨어 라이브러리를 찾지 못해서 프로젝트 생성이 실패할 때가 있는데, 경로가 잘못된 경우다. 따라서 Window - Preference에 들어가 'firmware'라고 검색하면 다음과 같은 창이 생성된다

 

 

경로를 바꾸고 싶은데, 위로 경고를 보면 ioc 파일이 열려있어서 설정을 못한다고 나와있다. 따라서 ioc 파일을 닫고 다시 열도록 해본다

 

 

2. .ioc 파일이 정상적으로 생성되었다면 다음과 같이 열릴 것이다. LED 점멸 테스트를 위해 PG13, PG14를 GPIO 출력으로 놓는다

 

 

그리고 클럭은 외부 크리스탈 8MHz를 이용할 것이다

 

 

 

프로젝트 이름과 경로는 다음과 같이 사용자 설정에 맞추고, cubeIDE의 특징은 IDE가 TrueStudio로 고정되어 있다

 

 

그리고 가장 중요한 라이브러리를 LL 드라이버로 설정한다. 그리고 최종적으로 코드를 생성하도록 한다(단축키 Alt+K)

 

 

 

그러면 다음과 같이 소스 트리가 생성되었음을 알 수 있다. 그리고 MX_GPIO_Init 함수를 살펴보면, LL 드라이버로 구성되었음을 확인할 수 있다

 

 

LL 드라이버는 Low Level 드라이버의 약자로, 라이브러리라고는 하지만 매우 가벼운 라이브러리다. 따라서 .c 파일이 아닌 .h 파일에 Inline 함수로 대부분의 함수들이 정의되어 있다

 

 

만일 stlink 펌웨어를 진행해야 한다면 펌웨어 update를 진행한다