본문 바로가기

Programming/General

device driver check list (using I2C) I2C 드라이버를 사용하는 디바이스 드라이버를 작성할때 check list 이다. 모든 디버깅은 의심 포인트 리스트를 만들고 테스트 하기 쉬운것 -> 어려운것 순으로 하는것이 좋다. 문제를 해결했을때 처음에 내가 작성한 "의심 리스트"에 해당 문제가 없었다면 아직 경험이 부족하거나 관련 지식이 불충분한 것이다. 0. 모든 device driver 에 check list 0순위는 전원과 enable gpio high 이다. 1. slave address 보통 slave address 는 spec대로 입력하면 I2C 드라이버 내부적으로 1bit 를 왼쪽으로 shift 해서 사용한다. 혹시 I2C 가 계속 ACK fail 이 난다면 slave address 를 더보기
SPI interface 이글은 가필드 님이 작성하신 글입니다. 좋은 내용을 보존 및 확산 하기 위해서 부득이 하게 원문을 그대로 퍼 왔음을 양해해 주시기 바랍니다. 원문출처 : http://garfieldfactory.tistory.com/ SPI 란? 1. SPI란? SPI는 Serial Peripheral interface의 약자로, 친절하게 해석해 드리면 “시리얼 방식의 주변 장치 인터페이스”정도 되시겠다. SPI 통신은 달랑 전선 3개로만 통신하는 간단하고도 쓸모가 많은 통신방식이다. 특히나 MCU의 GPIO 포트가 모자르거나, 데이터를 주고받는 프로토콜에 신경 쓰기 귀찮아하는 필자같은 게으름뱅이한테 딱 좋은 방식이라고 하겠다. 2. SPI의 동작 방식 자료구조에서 Circular Queue라고 아시는가? “환형 큐”라.. 더보기
Makefile 예제 자주 사용하는 Makefile 예제를 하나 올려둔다. 복사용~ CC = /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-gcc// 리눅스 머신에서 돌릴경우CC = /usr/bin/gcc CFLAGS = -Wall -lpthread -g -O0 -DLSI6410 CSRCS = ./key_test.c OBJS = $(CSRCS:.c=.o) .SUFFIXES:.c.o all: key_test cap_test: $(CC) $(CFLAGS) -o $@ $(CSRCS) clean: rm -f key_test $(OBJS) 더보기