2016-08-20 8 views
2

У меня возникли проблемы с загрузкой наложения дерева устройств на моем BBB. Я бегу Debian Linux 8 (Jessie), Kernel 4.4.17-bone13Загрузите накладку дерева устройства для Beaglebone Black Kernel 4.4.17 и загрузите PRU .bin

ОС не пришел с менеджером мыса установлен таким образом, я получил его отсюда ... https://github.com/beagleboard/bb.org-overlays

я следовал инструкции к все наладилось, все казалось прекрасным. Теперь я пытаюсь загрузить мое устройство дерева накладку ...

[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 

До сих пор это выглядит хорошо сейчас я пытаюсь загрузить свою программу PRU ...

[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 

я чуть не все работает, но я 'm получить ошибку 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 изменился, или мне нужно сделать еще один вызов libraary prussdrv, прежде чем я сделаю вызов prussdrv_open(). Позвольте мне знать, что вы думаете, может быть причиной этого.

ответ

0

Решение для меня состояло в том, чтобы вернуться к более старой версии, я попробовал 4.1, все еще имел проблемы. Поэтому я вернулся к 3.8, где все было предварительно установлено в ОС. Сейчас все работает!