[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