BBB에 장치 트리 오버레이를로드하는 데 문제가 있습니다. 나는 https://github.com/beagleboard/bb.org-overlaysBeaglebone Black Kernel 4.4.17의 장치 트리 오버레이를로드하고 PRU를로드합니다.
난에 지시에 따라 ... 데비안 리눅스 8 (제시), 커널 4.4.17-bone13이
OS가 그래서 나는 여기에서 그것을 가지고 설치 케이프 매니저와 함께 제공되지 않은 실행 해요 설치를하면 모든 것이 잘된 것처럼 보입니다. 지금은 내가 거의 모든 작업있어
[email protected]:/usr# cd /usr/local/test
[email protected]:/usr/local/test# ls
Makefile libprussdrv.a pasm pruss_intc_mapping.h prussdrv.h testPRU testPRU.c testPRU_Off.bin testPRU_Off.p testPRU_On.bin testPRU_On.p
[email protected]:/usr/local/test# ./testPRU testPRU_On.bin
prussdrv_open() failed
... 지금까지이 좋은 지금은 내 PRU 프로그램을로드하려고 보이는
[email protected]:~# cd /lib/firmware
[email protected]:/lib/firmware# dtc -O dtb -I dts -o /lib/firmware/PRU-GPIO-EXAMP LE-00A0.dtbo -b 0 [email protected] PRU-GPIO-EXAMPLE-00A0.dts
[email protected]:/lib/firmware# cat /sys/devices/platform/bone_capemgr/slots
0: PF---- -1
1: PF---- -1
2: PF---- -1
3: PF---- -1
[email protected]:/lib/firmware# sudo sh -c "echo 'PRU-GPIO-EXAMPLE-00A0' > /sys/devices/platform/bone_capemgr/slots"
[email protected]:/lib/firmware# cat /sys/devices/platform/bone_capemgr/slots
0: PF---- -1
1: PF---- -1
2: PF---- -1
3: PF---- -1
4: P-O-L- 0 Override Board Name,00A0,Override Manuf,PRU-GPIO-EXAMPLE
... 내 장치 트리 오버레이를로드하려고해야하지만 prussdrv_open()을 얻는 데 오류가 발생하여 이유를 찾을 수 없습니다. 나는 오래되어 무언가가 변경 다음 한 예를 추측해야한다면 모든 코드는 ... http://credentiality2.blogspot.com/2015/09/beaglebone-pru-gpio-example.html
// If this segfaults, make sure you're executing as root.
prussdrv_init();
if (prussdrv_open(PRU_EVTOUT_0) == -1) {
printf("prussdrv_open() failed\n");
return 1;
}
여기에 떨어져왔다. 트리 오버레이를로드하는 방식이 변경되었음을 이미 알고 있습니다. 어쩌면 .dts 파일 형식이 변경되었거나 prussdrv_open() 호출을하기 전에 prussdrv libarary를 다시 호출해야합니다. 당신이 생각할 수있는 일이 무엇인지 알려주세요.