Golang 말고 웹어셈이랑 마이컴용으로 특화된 TinyGo 라는 툴을 써볼 거에요 ㅇㅂㅇ


라즈베리파이 피코가 RP2040이라는 이름으로 Atmel 같이 칩도 따로 팔고 있는데 1200원 정도 하는 것 같아요.

TinyGo는 이제 막 RP2040에다가 기능을 넣은 단계라서 기본적인 핀 제어랑 UART 만 지원하는 것 같아요.


요요 마이컴이나 TinyGo나 지원만 제대로 된다면 마이컴 임베디드쪽에서 많이 쓰일 거 같아 보여서 기대가 돼요. ㅇㅂㅇ



어쨌든 시작 ㅇㅂㅇ





VS Code를 설치해요

https://code.visualstudio.com">https://code.visualstudio.com




golang을 설치해요.

https://golang.org/dl">https://golang.org/dl

단, tinygo가 아직 go 1.17을 지원하지 않으니 현시점 기준으로 1.16.x 버전을 설치해요.

9월 22일경에 Go 1.17 지원하는 TinyGo 0.20.0 이 나왔어요




mingw 와 llvm 을 개인적으로 빌드해놓은 깃헙 사이트에서 윈도우용 파일을 다운 받고 적당한 곳에 압축을 풀어요.

https://github.com/mstorsjo/llvm-mingw/releases">https://github.com/mstorsjo/llvm-mingw/releases




tinygo 깃헙 사이트에서 윈도우용 파일을 다운 받고 적당한 곳에 압축을 풀어요.

https://github.com/tinygo-org/tinygo/releases">https://github.com/tinygo-org/tinygo/releases




윈도우 시작버튼 우클릭 > 시스템 > 고급 시스템 설정 > 환경변수 에 가서 ming/llvm 과 tinygo 압축 푼 경로 + 하위의 bin 경로를 path에 추가해줘요.




vscode 확장 중에 go 확장을 설치해요

이 때, 대충 main.go 프로젝트 암거나 만들어서 gopls 같은 툴들도 같이 설치되게 해요




vscode 확장 중에 tinygo 확장을 설치해요




프로젝트 적당하게 만들고 F1 > TinyGo target > pico 로 설정해줘요.

이 시점에서 .vscode/settings.json 파일이 생길 거에요.

혹시라도 우측 하단에 경고 뜨는게 있으면 걍 무시해줘요



프로젝트 만들기가 막막하면 이걸 대신 다운받아서 불러들여요. 걍 아두이노 블링크 같은 놈이에요

https://github.com/practice-golang/hello-tinygo">https://github.com/practice-golang/hello-tinygo



컴파일이랑 플래싱은 Makefile을 참고하면 되어요


Vscode 터미널에서 tinygo version 이라고 쳤을 때 버전이 제대로 출력되면 잘 세팅된 거에오 ㅇㅂㅇ