[FUG-BR] ARMv6 FreeBSD na beaglebone 5v

Luiz Otavio O Souza lists.br em gmail.com
Sexta Agosto 29 11:46:19 BRT 2014


2014-07-17 16:47 GMT-03:00 Evandro Nunes:
> luiz e patrick boa tarde
> muito legal esses testes e essas mudanças
> eu estou usando snapshots nao criei nenhuma imagem minha ainda
> tem snapshot do 11-current armv6?
> se eu for fazer minha imagem, como faço?
> luiz entendi que tem algo novo mas não como usar, se você pudesse
> reproduzir so a parte relevante desse codigo do site beagleboard.org em
> shell script eu agradeco muito rsss
> outra coisa que não quer calar é como eu leio um valor de um pino que
> esteja em modo IN? gpioctl é o flags? não né? tem sample code em C pra isso
> caso não tenha um utilitário tipo gpioctl pra ler?

Desculpe a demora, eu fiquei longe da minha BBB por algum tempo :/

As imagens oficiais (para as versões 10 e 11) podem ser encontradas
em: ftp://ftp.freebsd.org/pub/FreeBSD/snapshots/arm/armv6/ISO-IMAGES

Para fazer sua própria imagem o caminho é com o crochet:
https://github.com/kientzle/crochet-freebsd

E ai você pode seguir algum tutorial como esse aqui:
http://www.onemansanthology.com/blog/freebsd-on-beaglebone-black/

Para utilizar um servo, você pode conectar o servo de acordo com esse
diagrama: https://learn.adafruit.com/controlling-a-servo-with-a-beaglebone-black/wiring

E na BBB você vai configurar assim o PWM2 (que tem saída A no pino 21
e saída B no pino 13 do conector P8):

sysctl dev.am335x_pwm.2.freq=50

E ai ajustar a posição do servo com:

sysctl dev.am335x_pwm.2.duty[A|B]=XXXX

(dutyA para a saída A e dutyB para a saída B - você pode controlar 2
servos com cada modulo PWM).

Para saber onde estão os pinos na BBB utilize a tabela do wiki:
https://wiki.freebsd.org/FreeBSD/arm/BeagleBoneBlack

O driver do PWM foi atualizado (e testado com servos) no 11 e no 10-stable.

Acho que você já conseguiu ler o valor do pino, mas se ainda não
conseguiu o valor dele aparece na ultima linha do gpioctl(8):

# gpioctl 14
0/14
1
# gpioctl 3
0/3
0

Nesse caso o pino 14 retornou 1 e o pino 3 0 (zero).

Ou o valor que lê logo a frente do pino no caso do gpioctl -l:

[...]
pin 08: 0       gpio_8<IN>
pin 09: 0       gpio_9<IN>
pin 10: 1       gpio_10<IN>
[...]

Vou mandar um exemplo para manipulação em C na thread do HC-SR04.

Att.,
Luiz


Mais detalhes sobre a lista de discussão freebsd