일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- yocto
- UART
- STM32
- AArch64
- Debug
- QEMU
- Linux
- AVR
- 리눅스
- 디버깅
- atmel
- raspberrypi
- USART
- 라즈베리파이
- 아두이노
- platformio
- C++
- Visual Studio Code
- vscode
- Arduino
- GPIO
- avr-gcc
- esp32
- Debugging
- Raspberry
- Visual Studio
- buildroot
- nucleo
- bare metal
- BeagleBone
- Today
- Total
목록2025/08 (7)
임베디드를 좋아하는 조금 특이한 개발자?

- 개발 환경개발 보드 : Raspberrypi 4OS : Linux raspberrypi 6.12.251. 서론 먼저 리눅스에서는 Device(장치)또한 파일로 취급하여 관리하고 있습니다. 실제 /dev 폴더를 확인해보면 PC에 연결된 장치들을 확인 할 수 있습니다. 그리고 장치에 접근 방법에 따라 그리고 Character Device(이하 문자 장치)와 Block Device(이하 블록 장치)로 구분할 수 있습니다. 그 중 이번 포스트에서는 일반적으로 많이 사용되는 문자 장치을 초기화 및 생성하는 방법에 대해서 확인해보도록 하겠습니다. 2. 관련 함수 및 구조체 확인2.1. register_chrdev() 함수int register_chrdev(unsigned int major, const cha..

- 개발 환경개발 보드 : Raspberrypi 4OS : Linux raspberrypi 6.12.251. 서론 운영체제는 대략적으로 어플리케이션 영역과 커널 영역으로 분리되어 있습니다. 어플리케이션 영역에서 실행되는 프로그램은 하드웨어에 직접 접근할 수 없습니다. 그러므로 일반적인 프로그램은 커널 영역에 있는 모듈을 통해 하드웨어에 접근하고 있습니다. 이제 말을 조금 바꾸어 말하면 커널 모듈은 하드웨어와 어플리케이션 간의 인터페이스을 담당하고 있다고 말할 수 있습니다. 그러므로 새로운 디바이스를 개발한다고 한다면 해당 디바이스를 제어할 수 있는 커널 모듈을 개발해야합니다. 앞으로 커널 모듈을 개발하는 방법을 소개하면서 기능을 정리해보려고 합니다. 이번 포스트에서는 단순히 "Hello world..

- 개발 환경개발 보드 : Raspberrypi 4WSL2 (Ubuntu 24.04 LTS)buildroot(2024.02)1. 서론 제가 처음 buildroot를 사용해 리눅스를 빌드하고 난 후 든 생각이 "결국 내가 빌드한 리눅스를 가지고 어떤 것을 할 수 있나?"였습니다. apt 패키지 매니저도 없을 뿐더러 제대로 동작하는 것이 없어 보입니다. 그럴때는 역시 간단한 Hello world를 출력하는 프로그램을 개발해보면서 점점 살을 붙여 나가는 방법으로 공부하는 것이 좋다고 생각합니다. 그러므로 C언어를 통해 간단한 프로그램을 개발해보도록 하겠습니다. 주의)이 포스트에서는 이미 Buildroot을 통해 타겟 보드에서 실행할 운영체제를 빌드한 상태임을 가정하고 진행합니다.만약 아직 Buildroot를..

- 개발 환경WSL2 (Ubuntu 24.04 LTS)buildroot (2024.02)Qemu emulator (8.2.2 (Debian 1:8.2.2+ds-0ubuntu1.8))- 사전 필요 작업https://littlebitodd-developer.tistory.com/74 [Linux Debugging] Buildroot를 통해 디버깅할 리눅스 빌드- 개발 환경WSL2 (Ubuntu 24.04 LTS)buildroot(2024.02)1. 서론 리눅스 커널을 공부하면서 어떻게 하면 일반적인 어플리케이션을 디버깅 할 때 처럼 직관적이고 커널의 코드흐름을 확인 할 수 있는 방법을 고littlebitodd-developer.tistory.com- 참고 포스트https://littlebitodd-devel..

- 개발 환경WSL2 (Ubuntu 24.04 LTS)buildroot (2024.02)Qemu emulator (8.2.2 (Debian 1:8.2.2+ds-0ubuntu1.8))- 사전 필요 작업https://littlebitodd-developer.tistory.com/74 [Linux Debugging] Buildroot를 통해 디버깅할 리눅스 빌드- 개발 환경WSL2 (Ubuntu 24.04 LTS)buildroot(2024.02)1. 서론 리눅스 커널을 공부하면서 어떻게 하면 일반적인 어플리케이션을 디버깅 할 때 처럼 직관적이고 커널의 코드흐름을 확인 할 수 있는 방법을 고littlebitodd-developer.tistory.com1. 서론 지난 포스트를 통해 디버깅할 리눅스를 Buildr..

- 개발 환경WSL2 (Ubuntu 24.04 LTS)buildroot(2024.02)1. 서론 리눅스 커널을 공부하면서 어떻게 하면 일반적인 어플리케이션을 디버깅 할 때 처럼 직관적이고 커널의 코드흐름을 확인 할 수 있는 방법을 고안하다 Qemu 에뮬레이터를 통해 리눅스를 실행하고 디버딩을 해보려는 시도를 하고 있습니다. 이로써 좀더 리눅스 커널을 공부하는데 많은 도움이 될 것입니다. 처음으로 가장 중요한 디버깅할 리눅스를 빌드하는 것입니다. 가장 중요한 포인트는 Qemu에 실행가능한 리눅스 기반 운영체제를 빌드 하는 것이고, 2번때로 중요한 포인트는 필요없는 라이브러리가 없이 최대한 리눅스 커널에 가까운 운영체제를 빌드하는 것입니다. 여기에 모두 부합하는 것이 Buildroot를 사용하는 것입니..