RP2350의 HSTX와 PSRAM의 상성에 대한 실무 경험 정리 다시 한번 더 해봅니다

Posted on

RP2040에서 HDMI 출력을 하는 것을 상태기계로 구현하는 것이 시도되었습니다. 칩설계자가 만든 PicoDVI에서 이런 작업을 했는데요. 두개의 코어를 95% 이상 부려내서 겨우 출력을 했는데, 이로부터 HDMI 출력을 안정적으로 MCU와 분리해서 처리해주는 체제가 필요하다고 요청이 되어 HSTX 핀을 RP2350에서는 기본 제공을 합니다. 이 HSTX 핀에다가 DVI/HDMI 브레이크아웃 보드를 연결하면 HDMI LCD 모니터에 출력이 되는데요. 640×480@60Hz는 프레임버퍼 크기가 …

소스코드 읽을때 표류안하는 기법 2

Posted on

이 글에서 소스코드 공부에 임하는 요령을 몇가지 소개했습니다. 이번 글에서는 심화해서 요령을 더 말씀드려보겠습니다. 소스코드 실행 흐름을 알아차리는 요령입니다. 저 글에서 소개한 변수 선언문을 예로 들면요. int a = 10; 이 구문을 딱 보면 우선 자료형 변수명 대입기호 값 이렇게 구성 성분 분류를 떠올려보셔야 하는데요. 여기에는 이유가 있습니다. 우선 변수니까 메모리에 값을 저장하는 공간을 예약한다고 …

소스코드 읽을때 표류안하는 기법

Posted on

소스코드를 읽을때 첫대면시에 어렵게 느껴지는 이유가 무엇일까요? 이 두가지가 일반적입니다. 우리가 익숙한 방식으로 기호를 보게 되는 것이 당연하고, 아직 체현이 안된 방식은 익숙하지 않으니 시선에 안들어오는 것이죠. 우선 소스코드는 언어별로 상이한 문법과 기호로 표시되는데요. 그럼에도 불변하는 형식과 의미가 공통되기도 합니다. 이점에 기반해서 한 언어를 배우고 익숙해지면 공통된 것과 차이나는 것을 구별하게 될때 타언어에서도 적용되는 것을 …

라즈베리파이 피코와 PCM5101A로 오디오 재생하기 프로젝트

Posted on

라즈베리파이 피코는 Cortex-M0+ 듀얼코어를 장착한 MCU 개발보드로 264KB의 램을 제공합니다. 피코에 PCM5101A를 장착하면 PCM 신호를 보내 고음질의 음악을 연주할 수 있습니다. MP3는 따로 PCM으로 변환해야 하고, 인터페이스는 I2S여야 합니다. 라즈베리파이 피코는 I2S 핀을 따로 제공하지 않으므로 PIO 상태기계를 활용해서 I2S를 에뮬레이션해야 하구요. 마침 라즈베리파이 재단에서 제공하는 pico-extras 프로젝트 하위 프로젝트인 pico_audio_i2s를 활용하면 기정의된 PIO로 만들어진 …

STM32-H755ZI-Q 개발 보드에서 이더넷으로 DHCP 연결 수립후 IP 받아오는 설정

Posted on

STM32-H755ZI-Q 개발 보드는 RJ45 커넥터와 LAN8742 PHY를 내장으로 지원합니다. 주요 사양은 구요. 라우터가 왠만하면 요즘 나오는 제품은 지원을 합니다. (물론 10BASE-T와 100BASE-TX는 아주 오래전 규격인데, MP3나 WAV 스트리밍도 되는 사양일 것입니다.) 우선 연결도는 아래와 같구요 STM32 보드 === lwIP (DHCP client) === 라우터 (DHCP server) 우리가 해야 하는 것은 ETH를 켜는 것과, lwIP 옵션 지정입니다. …

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

Posted on

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

just_audio로 배경음악 연주하는 코드들 해설

Posted on

플러터에서 배경음악 연주를 할때 중요한 것은 지연시간입니다. 음악 연주를 하다가 화면이 바뀔때 다른 배경음악을 연주해야 한다면 아래와 같은 현상이 있게 됩니다. 이 지연시간을 줄인 패키지가 just_audio입니다. just_audio는 지연시간이 1초보다 작아서 활용에 유리합니다. 지원되는 플랫폼은 Android, iOS, macOS, Web으로 윈도우는 지원을 안하는 것 같애요. 그래도 안드로이드와 iOS가 지원되서 좋습니다. 사용법은 매우 쉬운 편인데요. 함수가 간결하고 직관적입니다. …

[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와 다른 점이 …

1 2 3 … 22