Computer Science
탄탄한 기반 실력을 위한
전공과 이론 지식 모음
Today I Learned!
배웠으면 기록을 해야지
TIL 사진
Flutter 사진
Flutter로 모바일까지
거꾸로캠퍼스 코딩랩 Flutter 앱개발 강사
스파르타코딩클럽 즉문즉답 튜터
카카오테크캠퍼스 3기 학습코치
프로필 사진
박성민
임베디드 세계에
발을 들인 박치기 공룡
임베디드 사진
EMBEDDED SYSTEM
임베디드 SW와 HW, 이론부터 실전까지
ALGORITHM
알고리즘 해결 전략 기록
🎓
CAU 소프트웨어학부
텔레칩스 차량용 임베디드 스쿨 3기
애플 개발자 아카데미 1기
깃허브 사진
GitHub
프로젝트 모아보기
Instagram
인스타그램 사진

분류 전체보기 436

[260309] 오랜만에 느껴보는 서늘하고도 묵직한 감각

들어가며텔레칩스 임베디드 스쿨이 끝나고 아주아주 푹 쉬고 돌아왔다. 거의 3주간 내리 쉬고 있는데, 밤에 잠을 자고도 낮에 낮잠을 2-3시간씩 잘 정도로 밀린 잠을 쳐내고 있다. 사람이 이렇게 잠을 자면 나중에 인턴 출근할 때는 생활 패턴때문에 힘들어서 어쩌지 싶을 정도로 게으른 삶을 살고 있다.ㅤ그냥 집에 틀어박혀서 맨날천날 잠만 자고 지내는건 아니고, 설 연휴동안 본가도 좀 길게 다녀오고 중국 칭따오에 2박 3일로 여행도 다녀왔고, 태안 쪽에도 바다 보러 다녀왔다. 읽고 싶었던 책도 읽고 옷도 몇 벌 새로 구매하고. 맛있는 것도 많이 먹고 있다. 맨날 기분 좋을만큼만 술도 반주로 곁들이고, 못했던 게임도 실컷하고(한 판만 이기면 다이아4 복귀). 행복한 홈프로텍터로 편안하게 지내고 있다.ㅤ다만 슬슬 ..

TIL 2026.03.09

[Embedded Linux] M1 Mac에서 비글본 블랙 SSH 연결하기

ㅤ라즈베라파이, TOPST D3 에서 리눅스 개발을 할 때 사용했던 것처럼, VSCode에서 보드에 SSH로 접속해서 개발을 하고자 한다. 기본적인 설정 및 연결을 위한 방법들을 확인하는 과정과 해결 방법을 기록했다.ㅤ우선, 이렇게 하면 안되더라[지금 LAN 케이블로 맥북과 비글본 블랙 보드를 연결해둔 상태이다. USB C to LAN 어댑터를 사용해줬다.]그러면 아래처럼 설정 > 네트워크 탭에 ‘USB 10/100 LAN’와 ‘~_BeagleBone_Black’ 이라는 항목이 생긴다.ㅤ나는 이름만 보고서 BBB 보드의 이름을 가지고 있는 항목을 확인하고, 그 안에 IP 주소를 갖다가 SSH 연결에 사용하면 될거라 생각했다.ㅤ그래서 요 IP 주소를 내 username이랑 붙여서 연결을 시도했다.ㅤ물론 결..

[Embedded Linux] M1 Mac에서의 비글본 블랙 부팅하기

0. 자료 찾아보기https://docs.beagle.cc/intro/beagle101/index.html#getting-started-with-linux비글보드의 공식 introduction 페이지. 위 페이지에서 비글본에 대한 기본적인 가이드를 확인할 수 있다.ㅤ1. 케이블 연결컴퓨터와 비글본 보드를 동봉된 케이블을 이용해 연결해준다. 기본적으로 PC와의 연결을 mini-B USB를 이용해야하고, 보드와 함께 USB A to Mini-B를 제공해주고 있기 때문에, USB A to C 허브를 사용해 맥북과 연결해주었다.ㅤ2. Finder에서 비글본 연결 확인하기그러면 보드에 전원이 들어오면서 파란색 LED들이 깜빡이고, 이렇게 Finder 에서 외장 연결로 BEAGLEBONE 이라는 연결이 뜨는 것을 ..

[Embedded Linux] 독학용 리눅스 개발 보드 고르기, BeagleBone Black

들어가며이번에 프로젝트를 진행하면서 리눅스의 부팅 과정, 시스템 콜에 대한 추적, 다비아스 드라이버나 모듈 등을 마구마구 열어보고 분해분석하면서 내 것으로 만들지 못한게 너무너무 아쉬웠다. 1차 프로젝트 때는 라즈베리파이 위에서 리눅스 개발과 공부를 진행했었기 때문에, 그래서 라즈베리파이를 하나 사서 여기에다가 호작질을 하면서 공부를 하려고 계획하고 있었다. 그래서 설날을 맞이하여 바로 사이트에서 검색해봤다.ㅤ그런데 짜잔, 라즈베리파이가 한 7만원 정도 할거라고 생각했는데, 생각보다 비쌌다. 여기에 부가적으로 전원 케이블이나 UART 시리얼 디버거 등을 추가하면 더 많이 비싸질테니 (라즈베리파이에 여러 센서 부품까지 포함된 키트는 심지어 18만원이였다) 다 합해서 8만원 정도 생각했던 나에게는 심히 당황..

[260218] 텔레칩스 임베디드 스쿨 1000시간 종료와 회고, 리뷰

블로그 글 정리하면서 내가 이때까지 썼던 글들을 한 번 쭉 훑어보려고 보다가 텔레칩스 4기 지원을 위해서 내 블로그를 찾아본 사람들이 몇몇 있는 것 같아서, 요약해둡니다. 비록 5기가 마지막 기수이지만, 다음 기수에도 도움이 될 수 있으니 적어둬요.이 교육에서는 (특히 임베디드 파트부터) 지식을 주입해주지 않음. 내가 모르는걸 찾아보면서 공부하고 정리해야함. 임베디드 세계에서 혼자서 자립하는 방법과 힘을 배울 수 있음. 덕분에 박치기 하면서 찾아내는 맛이 있음. → 난 이전 앱개발을 이렇게 배워왔어서 너무 좋았는데, 이제껏 주입식으로만 공부해온 사람은 힘들지도.하드웨어 잘알보다는 소프트웨어 잘알이 유리함. 여기는 소프트웨어, 특히 BSP가 메인인 회사임. 어쩌면 회사에서도 하드웨어를 잘하는 사람에게는 크..

TIL 2026.02.18

[MCU] MCP2515 SPI2CAN 모듈은 개발보드에 따라 허리를 끊고 별도 Vcc를 인가해줘야한다 (아닐 수 있음)

아주 특이한 트러블슈팅 사례가 있었다.이 SPI2CAN 모듈을 사용하면 CAN Controller가 없는 보드에서도 SPI 통신을 통해서 모듈에 있는 CAN Controller에 접근하고, Transciver 의 역할까지 수행해서 CAN 버스에 메시지를 보내고 받을 수 있게된다. 우리의 보드에서는 CAN Controller 핀이 있긴 하지만, 내부 드라이버에 CAN이 구현이 되어있지 않아서 (정확히는 수신 과정에서 문제가 있어서) SPI2CAN 모듈을 사용해 개발을 진행하고 있었다. 그런데 간헐적으로 통신이 되는, 또는 간헐적으로 통신이 안되는 문제가 자주 발생했다. 흠... 우선 디버깅 환경을 CAN 메시지를 정상적으로 쏘고 있던 STM32 보드에 현재 개발보드의 SPI2CAN 모듈을 물려 진행하였다...

Embedded System/MCU 2026.02.08

[260202] Day 173 - 뚫어라 Ad-Hoc의 벽

들어가며이제 다음주면 프로젝트가 끝난다. 발표 준비까지도 이제 10일도 채 남지 않은 상황이다. 너무 바빠서 뒤지고싶다. 오늘의 키워드Ad-Hoc 붙이기. WSL에서 빌드하고 Yocto OS에서 실행 가능함을 확인한 프로그램을 Ubuntu에 포팅하기. 개고생아주 흥미로운 현상이 있었다. Ubuntu를 올린 Topst D3-G 보드를 2개를 IPTime a3000mini 무선랜카드를 이용해서 ad-hoc 네트워크를 구성하려고 했다. IP 지정 및 BSSID가 동일한 것도 확인하고 채널과 네트워크명이 동일한 것 까지 확인했는데, ping을 서로 주고받을 수 없는 상태였다. 그런데 이전 1차 프로젝트때 쓰던 라즈베리파이를 켜서 내장 무선랜으로 이 네트워크에 join했을 때, 두 보드가 서로 ping을 주고받고..

TIL 2026.02.03

[260201] Day 172 - 미루고 미뤘던 TIL과 2차 프로젝트의 진행 중 회고

들어가며텔레칩스 임베디드 스쿨도 어느새 2주밖에 남지 않았다. 세상에나. 이번 8월부터 시작했는데, 가을은 정말 순식간에 지나가버리고 어느새 설날이 다가오고 있다. 이번 겨울은 어찌나 빨리 지나가버리는지, 놀라울 따름이다. 열심히 버텨내고, 살아내는 덕분에 이렇게 시간이 쑉쑉 지나가는 거라고 믿는다. 어찌 매일매일 새로운걸 배우고 새로운 문제를 만나고 또 대가리 박으면서 해결해내는 중이다. TIL을 그동안 계속해서 남겼다면 또 정말 하고싶은 말과 기록들이 많았을 것 같은데, 바쁠때는 거의 일주일 내내 막차타고 집에 오고 주말에도 센터 열리면 나가서 작업하고 오고 하느라 TIL을 적을 여유가 없었다. 어쩌면 같이 교육을 듣는 다른 피어들과 다른 나의 장점은 이렇게 TIL 이나 후기를 적을 공간을 운영하고 ..

TIL 2026.02.02

[MCU] CAN 통신 - 빠른 고속 CAN vs 안전한 저속 CAN

CAN 통신이란?CAN 통신(Controller Area Network)은 여러 ECU 장치들이 마스터(중앙 제어 Host) 없이 서로 통신하기 위해서 설계된 메시지 기반의 표준 통신 규격이다. = Non-Host 버스 방식의 메시지 기반 프로토콜ㅤ이름이 Controller Area Network 인 이유는 ECU Controller 끼리 통신하도록 구성된 네트워크이기 때문임.ㅤ자동차 산업에서 CAN을 쓰는 이유?자동차 산업이 발전함에 따라서 ECU(Electronic Control Unit)들이 점점 많이 탑재되고있다. 센서 처리나 엔진, 변속기, 차제 제어 등에 사용되는 ECU들간에 서로 데이터나 신호를 주고받기 위해서 통신을 위해서 서로 연결하다보니 배선이 복잡해지고 케이블의 무게와 부피로 차량의 ..

Embedded System/MCU 2025.12.25

[Embedded Linux] 디바이스 드라이버 작성해보기

라즈베리파이에서 디바이스 드라이버 만들어보기!디바이스 드라이버 만들어보기디바이스 트리에 대해서 공부를 하다보니 갑자기 디바이스 드라이버 이야기가 나왔고, 실습을 진행하다가 정신을 차려보니 어느새 내가 GPIO 드라이버를 하나 만들어 커널에 등록하고 GPIO 제어를 하고 있었다. 여기까지 오려고 한 건 아니였는데,,, 그러다보니 글이 길어져서 디바이스 트리 글에서 따로 분리했다! 이것도 파보면 엄청나게 방대한 내용이 있을 것 같아서 두렵긴 하다….ㅤㅤ디바이스 드라이버 소스코드 컴파일~/led_driver 라는 폴더를 하나 만들어주고, 아래 2개의 파일을 추가해보자. 위에 있는 led-gpio.c 파일은 디바이스 드라이버의 소스코드이고, 아래 Makefile 은 이를 빌드하기위한 파일이다.// led-gpi..