stm32 가지고 놀기
최근 유튜브에서 STM32Nucleo + Arduino CNC shield + A4988로 스탭 모터를 3400rpm으로 막 돌리는 동영상을 봤습니다.
그래서 멀고 먼 옛날 사뒀던 STM32F4-Discovery를 찾으려고 뒤적거리니 알리에서 사둔 것 같은 보드가 몇개 딸려 나오네요.
윈도를 몇번 밀었더니 예전에 구축해뒀던 놀이환경은 어디론가 가버리고 없고,
우분투 16.04로 돌아가는 구닥다리 x301에 놀이환경을 만들어봤습니다.
x301에 이클립스는 너무 무겁더군요. 아톰도 마찬가지로 꽤 무겁구요.
나노나 지니로 가자니 마음에 들지 않고,
emacs는 무섭고, ed는 답답하고, cat은 구루들만 사용하는 마법이고, 자화된 바늘로 프로그래밍은 꿈에서도 못하겠고,
나비로 프로그래밍 하자니 아직은 겨울이네요.
https://kxcd.com/378/
vim에서 해볼까? 하고 구글링을 하던중
YouCompleteMe라는 놈이 있더군요.
vim + trinity + ctag + cscope + ycm + ycmd 까지 하려고 하니 이번엔 우분투가 꼬였습니다.
의존성 지옥이던가요?
libclang? libclang1? libllvm?
거기다 cmake는 또 뭔가요? (구글링 해서 찾긴 했습니다만 아직도 긴가민가 합니다.)
하나하나 해결하자니 실력도 능력도 없고.(사실은 귀찮았습니다.)
그냥 vim을 github 버전으로 새로깔고, ycmd 설치하면서 readme에 있는 그대로 설치하고는 냅다 돌려봤습니다.
안되더군요.
다시 구글링을 하니 .ycm_extra_conf.py라는 놈까지 설정해 줘야 정상 작동한다네요.
3월 3일날 시작해서 오늘 겨우 YCM 돌리는걸 깨우쳤습니다.
하지만 왠지 내가 한 설정으로 돌아는게 아닌듯한 느낌이 드네요.
며칠 더 수양을 쌓아야 할 듯 합니다.
아무튼 열흘간 삽질 끝에 놀이환경을 마련하고는 STM32 STD Library로 본격적으로 놀아볼까 했는데
한참 전에 HAL LIbrary로 바뀌었더군요.
STM32CubeMX에서 라이브러리 업데이트하던데 그놈이 그놈이 아니고 HAL이었던겁니다.
HAL UserManual을 참고해서 짠 하고 LED Blink를 했으면 좋겠지만,
저 C/C++ 프로그래밍 할 줄 모릅니다.
다시 유튜브로 가서 뒤적거린 후 마음에 드는 체널을 찾고, 따라하기로 LED 깜빡이기까지 성공했습니다.
HAL이 뭐가 좋은건지는 아직 잘 모르겠고, delay 루틴을 만들 필요없이 간단하게 밀리세컨드 delay 함수가 있는게 마음에 들긴 합니다.
꺼내놓은 STM32F4-Discovery는 종이상자 위에서 먼지만 맞고 있고,
알리에서 구입한 STM32F030F4P6 미니멀 보드로 Blink, TIM, UART, ADC 까지 해봤네요.
이번달 목표가 스텝모터 구동하기인데 3월달에 마무리지었으면 좋겠습니다.