다트의 call by sharing이 플러터에서 작동하는 원리에 대한 해설

Posted on

프로그래밍 기술은 소프트웨어 연구에 의해 성립된 개념에 의해 구현됩니다. 함수를 호출한다고 했을때, 매개변수가 넘겨진다면 이 매개변수를 넘겨서 참조하는 방법도 경우에 따라 차이가 있으며 이를 개념화한 것이 언어의 특징으로 규정되어 있습니다. “값에 의한 호출” (call by value) “메모리 주소에 의한 호출” (call by reference) “공유에 의한 호출” (call by sharing) 이 그 개념들입니다. 이들 세가지 개념은 …

[RPI-PICO] MinGW UCRT가 무엇인가? (이번에는 검색자료를 보고 응용해서 해설해봅니다)

Posted on

msys64를 설치해서 pacman 명령어로 mingw를 설치할때, 여러 버전이 나옵니다. 이렇게 입력하면 mingw-w64 라고 이름에 붙어있는 프로그램들이나 라이브러리가 검색되는데요. mingw-w64도 종류가 여럿이라 무엇을 설치하면 좋을지 확신이 안될때가 있습니다. 보통 문서들을 보면 mingw-w64-ucrt-x86_64-* 를 추천하는데요. mingw의 윈도우 64비트 버전, UCRT인 gcc와 같은 프로그램과 라이브러리를 의미합니다. 여기서 UCRT 부분이 위에 명령어로 입력한 목록에 뜨는데요. 다른 mingw-w64와 다른 점이 …

[RPI-PICO] 라즈베리파이 피코 2W에서 cmake 실행시 picotool 관련하여 cli.h에 cstdint를 추가해야 한다고 나올때

Posted on

msys64로 mingw-w64-ucrt-x86_64-gcc 와 부속파일을 대충 설치하고 피코 2W 프로젝트를 빌드하면 아래와 같이 오류가 나타날 수 있습니다. 아래와 같은 오류가 발생하고 컴파일 타임에 멈춥니다. 이 경우 수동으로 늘 추가해야 하는데, 살펴보면 picotool 문제가 이전에 발생합니다. 이를 해결 하려면 https://forums.raspberrypi.com/viewtopic.php?t=384966 에서 해설하는 것을 참고로 해서 조치를 취해야 하는데요. cli.h 오류는 위와 같은 명령어로 의존성을 해결하니 넘어갑니다 ^^ …

[RPI-PICO] 라즈베리파이 피코로 쥬크박스 만드는 C/C++ 코드 해설

Posted on

아래와 같은 하드웨어 구성으로 만들었습니다. 라즈베리파이 피코 RP2040 1대Waveshare expander quad 1대Waveshare Pico-Audio Rev.1 (PCM5101A 채택 기종)Waveshare Pico-LCD-1.44 (ST7735S 채택 기종)SPI microSD 카드 모듈 (level shifter 없는 기종)USB-A male micro-USD male 케이블 2개 라즈베리파이 피코는 RP2040을 채택한 라즈베리파이 재단 제품이구요.Waveshare expander quad는 모두 합해 4개의 모듈을 달아쓰게 되어 있는 확장보드입니다.Waveshare Pico-Audio rev.1은 TI의 PCM5101A를 채택한 …

[RPI-PICO] Level shifter

Posted on

Level shifter는 전자회로에서 나가고 오는 전압 레벨을 핀마다 조정하는 장치를 뜻합니다. 연결된 회로마다 작동하는 전압이 다르다면 level shifter 설비를 해서 조정하게 됩니다. 제일 흔한 로직 레벨은 1.8V, 3.3V, 5V이구요. 보통 회로가 3.3V로 작동한다고 하면 서로 다른 전압을 3.3V로 조정한다는 의미가 됩니다. 다른 전압 입력이나 출력을 한다면요. 단방향과 양방향 level shifter가 존재하구요. 양방향은 또 여러 유형으로 …

[RPI-PICO] 오디오 쥬크박스 만들기 5

Posted on

라즈베리파이 피코와 오디오 모듈을 조합해서 wav 파일을 재생하는 기능을 구현하는게 가능합니다. 우선 하드웨어 설비는요. 라즈베리파이 피코1 1대오디오 모듈 1대모듈을 간편하게 다는 확장 보드 1대 (보조전원 있는 것으로)스피커 한쌍UART TO USB 1대USB 메모리 1개USB micro male, USB-A female 케이블 1개USB-A male, USB micro male 케이블 1개 중요한 작동은 (1) 외부 저장장치에서 wav 파일을 읽어오는 작동 (2) …

[RPI-PICO] 오디오 쥬크박스 만들기 4

Posted on

전에 쓴 3편을 조금 더 자세하게 보충해봅니다. 오류가 심각하게 안나도 되는게 일어나면 의지가 약화되네요. 오류없이 진행되면 하루에 다섯시간 이상 임하면서 진행을 해두는데, 이상한 오류가 겹치면 해결하느라 시간이 갑니다. 오류가 제작당시에 익히 있을법한 오류라면 그냥 임하면 되는데, 이게 그냥 일어나는 오류가 아니네요. 그래도 임해서 파악한 것들이 있어서 코드를 이리저리 검토해가면서 바꿔도 보고 추가도 해보고 있습니다. 지금까지 …

[RPI-PICO] 오디오 쥬크박스 만들기 3

Posted on

우선 WAV 파일을 라즈베리파이 피코에서 재생하려면 외부 모듈을 써서 디코딩이 가능한 하드웨어 구성을 해야 합니다. 보통 I2S 연결로 해서 I2S 방식으로 오디오 데이터를 재생합니다. 모듈마다 성능이 다른데, 제가 쓰는 Waveshare Pico-Audio 모듈은 오리지날 리비전으로 된 모듈이구요. 텍사스 인스트루먼트사의 PCM5101A를 DAC로 합니다. 즉 라즈베리파이 피코 보드 1대, 오디오 모듈 1대, 점퍼케이블만 있으면 일단 설비를 실험해볼 수 …

1 2 3 4