「라즈파이 매거진 2017년 10월호의 확장 보드 HAT를 만들자」를 해 보았다
2662 단어 Raspberrypi3
라즈파이 매거진의 2017년 10월호의 「확장 보드 HAT를 만들자」의 기사를 해 보았다
책과 같이 하면 도 23과 같이 디바이스 트리 소스를 컴파일해도 도 24와 같이 되지 않았다. spi가 인식되지 않음
이것을 출판사에 문의했다. 그러나 대답은 왔지만 모르겠다는 것이었다.
그 때문에 스스로 대책을 세우기로 했다
3주에 걸쳐 트라이앤 에러의 결과 드디어 생겼다
디바이스 트리 소스를 다음과 같이 하면 spi가 인식되어 dht 커널 드라이버가 움직이도록 할 수 있었다
그림 23의 spi fragment의 방법이 꽤 잘못되었다는 것을 알았다
dht_hat.dts
/dts-v1/;
/ {
compatible = "brcm,bcm2835", "brcm,bcm2836", "brcm,bcm2708", "brcm,bcm2709";
fragment@0 {
target-path = [2f 00];
__overlay__ {
dht11@0 {
compatible = "dht11";
pinctrl-names = "default";
pinctrl-0 = <0x1>;
gpios = <0xdeadbeef 0x4 0x0>;
status = "okay";
phandle = <0x2>;
};
};
};
fragment@1 {
target = <0xdeadbeef>;
__overlay__ {
dht11_pins {
brcm,pins = <0x4>;
brcm,function = <0x0>;
brcm,pull = <0x0>;
phandle = <0x1>;
};
};
};
fragment@2 { //spi0有効
target = <0xdeadbeef>;
__overlay__ {
cs-gpios = <0x0 0x0>;
status = "okay";
};
};
fragment@3 { //spi0有効
target = <0xdeadbeef>;
__overlay__ {
brcm,pins = <0x8 0x7>;
brcm,function = <0x4>;
};
};
__overrides__ {
gpiopin = <0x1 0x6272636d 0x2c70696e 0x733a3000 0x2 0x6770696f 0x733a3400>;
};
__symbols__ {
dht11 = "/fragment@0/__overlay__/dht11@0";
dht11_pins = "/fragment@1/__overlay__/dht11_pins";
};
__local_fixups__ {
fragment@0 {
__overlay__ {
dht11@0 {
pinctrl-0 = <0x0>;
};
};
};
__overrides__ {
gpiopin = <0x0 0x10>;
};
};
__fixups__ {
gpio = "/fragment@0/__overlay__/dht11@0:gpios:0", "/fragment@1:target:0";
spi0 = "/fragment@2:target:0";
spi0_cs_pins = "/fragment@3:target:0";//spi0有効
};
};
Reference
이 문제에 관하여(「라즈파이 매거진 2017년 10월호의 확장 보드 HAT를 만들자」를 해 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/cello_piano_violin/items/57e9c99cebf85a3794b0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)