O Xenomai é um RTOS disponível para plataformas baseadas em linux, por isso o Xenomai pode ser rodado tanto em maquinas rodando alguma variação do linux como sistemas embardados como o Raspberry Pi que possibilita a programação de threads em tempo real, dentre outras características como o comprimento de deadlines e assim por diante…
Ao ser instalado, ele roda em conjunto com o kernel do Linux e, portanto, todas as API’s e drivers do Linux vão continuar sendo possíveis de se utilizar. O interessante é que seus programas legados continuam compatíveis mesmo após a instalação do Xenomai. Contudo, você precisa mudar algumas flags de compilação para substituir as suas chamadas POSIX do Linux para as POSIX do Xenomai. Tudo a respeito disso, você pode encontra aqui.
Xenomai no Raspberry Pi
Para você instalar o Xenomai RTOS no Raspberry Pi, vai necessitar fazer alguns passos bem simples:
- Faça o download da ISO em (https://drive.google.com/file/d/0B6pEkLw_Qje7WmRiWkNaWGx3NUU/edit)
- Utilize algum programa para transferir a ISO no SD do seu Raspberry Pi. ( Neste post utilizamos o Win32DiskImager).
- Plugue o SD em seu Raspberry Pi e seja feliz.
Caso tenha algum problema, como por exemplo, não ter nenhum tipo de resposta do HDMI, você pode verificar no arquivo /boot/config.txt ,que se encontra no SD, as flags utilizadas para então fornecer suporte ao HDMI/DVI/VGA e assim por diante.
Para utilizar a API do Xenomai, dê uma olhada em:
http://www.xenomai.org/documentation/trunk/html/api/index.html
Xenomai em uma maquina virtual
Devido a ser desenvolvido com base no linux, o Xenomai pode rodar em maquinas executando algum sistema com base linux, como o Debian, ou mesmo o Ubuntu.
Os testes podem ser realizados facilmente a partir de uma maquina virtual, e com isso não afetará o próprio sistema operacional e poderá até mesmo ser rodado a partir de uma maquina com Windows, para isso podem ser seguidos os passos a seguir:
1. Instale o software VirtualBox (Windows, Linux, OSX)
2. Baixe a o zip com imagem da maquina virtual criada pela Universidade Radbound de Nimega – Holanda
3. Descompactar o arquivo, e em seguida executar o arquivo debian4.0_xenomai2.4.3.vbox que irá abrir o gerenciador do VirtualBox já com a máquina adicionada
4. Agora clique em Configurações → Rede, em Adaptador 1, no campo Conectado a, selecione a opção Placa em modo Bridge e clique em OK
5. Clique em Iniciar e deixe carregar o sistema, ao termino irá aparecer a seguinte tela (ao clicar dentro da maquina virtual, o mouse será bloqueado, aperte o CTRL direito para desbloquear o mouse):
6. Para compilar e rodar os programas de exemplo, são necessários primeiramente executar os seguintes comandos de configuração:
xeno-config –xeno-cflags
xeno-config –xeno-ldflags
export CFLAGS=`xeno-config –xeno-cflags`
export LDFLAGS=`xeno-config –xeno-ldflags`
export LD_LIBRARY_PATH=/usr/xenomai/lib
7. A Universidade Radbound também disponibilizou alguns exercícios de exemplo referentes ao Xenomai, para executar o primeiro execício execute os comandos:
Baixa arquivo fonte de exemplo:
wget http://www.cs.ru.nl/lab/xenomai/exercises/ex01/ex01.c
Compila arquivo:
gcc $CFLAGS $LDFLAGS -lnative -lrtdk ex01.c -o ex01
Executa arquivo compilado:
./ex01
A máquina virtual está habilitada com serviços SSH e Samba, por isso mesmo a maquina não possuindo interface gráfica é possível enviar arquivos para a maquina.
Para isso é necessário verificar o endereço ip da maquina virtual executando o comando ifconfig, no caso o ip da máquina esta como 192.168.1.7
Para acessar o SSH, usuários linux podem executar o seguinte comando no terminal ssh root@<ip-maquina-xenomai>, para usuários windows, é necessário baixar um cliente SSH.
Para acessar o Samba no Windows, basta entrar em \\<ip-maquina-xenomai>\root pelo explorer, no linux é necessario selecionar a opção Conectar a servidor e informar smb://<ip-maquina-xenomai>/root, com isso você poderá administrar os arquivos na máquina:
Para uma instalação mais aprofundada, podem ser seguido o tutorial que consta na própria página do Xenomai clicando aqui
Autores:
Elton Faust
Geovani Figueira
Lucas Casagrande
Deixe um comentário