전체 글 287

( dd ) 디스크 복제 및 초기화

dd if={복사할장치} of={출력이미지} bs=8M status=progress if 옵션은 복사할 대상을 적는다. of 옵션은 복사되어 쓰여질 경로 bs 옵션은 블록사이즈인데 sd카드가 16G, 32G, 64G 등 더 큰용량도 존재하는데 블록사이즈가 너무 작으면 이미지파일로 추출하는데 너무 오래걸린다. 적당히 8M 장치를 확인 (아래명령어 확인) sudo fdisk -l 이미지를 SD카드에 쓰기 sudo dd if=~/sdcard-image.img of=/dev/sda bs=8M status=progress 용량을 합축하여 복제 sudo dd if=/dev/sda conv=sync,noerror bs=8M status=progress | gzip -c > ~/sd-card-image.img.gz 압..

라즈베리파이 피코, 간단 IO 및 OLED 제어 (SSD1306)

일단 라즈베리파이 피코를 구입했으면 공홈에 접속해서 관련 정보를 숙지합니다. 필자는 MicroPython 을 사용하여 간단한 스위치 및 IO 제어 그리고 OLED(SSD1306) 제어를 해보려고하니다. 상황봐서 온습도 및 조도 측정 (ADC) 를 사용할 수 도있으나 너무 복잡하면 나중에 유지보수를 신경써야하기때문에 심플한 제어 보드 제작을 중점으로 하겠습니다. 필자가 사용하려는 마이크로파이썬은 무엇일까? 그냥 파이썬인데 좀더 가볍게 만든게 아닐까 싶습니다. 10년넘게 사용한 C 언어가 편하지만 대세인 파이썬을 한번 써보기로합니다. SSD1306 을 기존 라즈베리파이 파이썬으로 구현했기때문에 편한점도 있을 것으로 추정합니다. 마이크로파이썬을 어떻게 사용하고 업로드 해야하는지 아주 간략한 gif 인데 이해하..

Binary code format / two's complement

https://www.wikiwand.com/en/Offset_binary Offset binary | Wikiwand Offset binary,[1] also referred to as excess-K,[1] excess-N, excess-e,[2][3] excess code or biased representation, is a method for signed number representation where a signed number n is represented by the bit pattern corresponding to the unsigned number n www.wikiwand.com DAC 를 리버스 엔지니어링하다가 마주한 데이터 포멧을 알아야했습니다. 오래전 대학교때 배운것같은 아련..

(잡답) 2022.07.28

리눅스 커널, 프로세스 란 - 작성중 -

프로세스라는 용어는 추상적일 수 있다. 프로세스란 간단하게 말해서 리눅스 시스템 메모리에서 실행 중인 프로그램을 말한다 스케쥴링 대상인 타스크 와 유사한 의미로도 쓰인다. 다수의 프로세스를 실시간으로 사용하는 기법을 멀티프로세싱이라고하고, 같은 시간에 여러 프로그램을 실행하는 방식을 멀티타스킹이라고 한다. 리눅스 개발자 입장에서 프로세스는 무엇일까? 리눅스 시스템 메모리에 적재되어 실행을 대기하거나 실행하는 실행 흐름을 의미 - 프로세스가 실행을 대기한다면 실행할 때 어떤 과정을 거칠까? - 프로세스는 어떤 구조체로 식별할까? 프로세스를 관리하는 자료구조이자 객체를 태스크 디스크립터 (Task descriptor) 라고 부르고 task_struct 구조체로 표현 이 구조체에 프로세스가 쓰는 메모리 리소스..

Unix & Linux/Kernel 2022.07.13

강력한 리눅스 커널 디버깅 툴 , ftrace 개론 - 작성중-

printk 또는 dump_stack 을 사용하면서 불편하답니다. 저는 많이 안써봤습니다. 그래서 ftrace 를 많이 현업에서도 사용한다고 합니다. 주요 특징은 함수 호출 흐름을 소스코드 수정하지 않고도 보고싶다. 커널의 세부 실행 정보를 출력해줬으면 좋겠다. 1초에 수십번 호출해도 성능에 부담을 주지 않는다. 커널 로그도 함께 본다. 인터럽트, 스케쥴링, 커널 타이머 등의 커널 동작 상세히 추적 함수 필터를 지정하면 지정한 함수를 호출한 함수와 전체 콜 스택까지 출력 함수를 어느 프로세스가 실행하는지 알 수 있다. 함수가 실행된 시각 정보를 알 수 있다. ftrace 로그 활성화해도 시스템 동작에 부하를 거의 주지 않는다. 과연 그럴까 생각들정도로 강력한 것은 사실입니다. How to do confi..

Unix & Linux/ftrace 2022.07.11