저렴한 CH32V003은 다양한 개발 환경을 제공한다. VS Code 에서 PIO(PlatformIO) 개발환경으로 컴파일 가능하다고 해서 테스트 해 보았다.
우선 VS Code PlatformIO설정에서 Advancde platform installation으로 CH32V 를 install 해 주어야 한다.
https://github.com/Community-PIO-CH32V/platform-ch32v.git 를 추가 해주면 된다.
정상 인스톨 되면 결과 화면을 볼 수 있다.
새로운 프로젝트를 생성한다.
알맞은 칩셋(보드)를 선택하고 Framework를 설정해서 새로운 프로젝트를 생성할 수 있다.
간단히 기본 예제를 생성하고 동작 테스트를 해 보자.
#include "debug.h"
void GPIO_Toggle_INIT(void)
{
GPIO_InitTypeDef GPIO_InitStructure = {0};
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}
int main(void)
{
u8 i = 0;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
Delay_Init();
USART_Printf_Init(115200);
printf("SystemClk:%d\r\n", SystemCoreClock);
printf("GPIO Toggle TEST\r\n");
GPIO_Toggle_INIT();
while(1)
{
Delay_Ms(250);
GPIO_WriteBit(GPIOC, GPIO_Pin_1, (i == 0) ? (i = Bit_SET) : (i = Bit_RESET));
//GPIOD->BSHR = GPIO_Pin_4;
//GPIOD->BCR = GPIO_Pin_4;
}
}
이후 기본 env 파일에서 라이브러리 등을 추가해서 사용할 수 있다.
[env:genericCH32V003F4U6]
platform = ch32v
board = genericCH32V003F4U6
framework = noneos-sdk
VS Code를 이용하면 여러 다양한 장점들이 있으니 CH32V003 개발환경으로 사용하기 좋은것 같다.
반응형