Estou interessado em usar o Raspberry Pi como uma unidade de CPU incorporada pura, para o desenvolvimento de aplicativos incorporados. Como o Raspberry Pi possui uma CPU poderosa com bastante memória, ele é uma excelente placa incorporada.
É possível usar o Raspberry Pi sem um sistema operacional Linux? Como posso fazer isso?
operating-systems
electronics
FarhadA
fonte
fonte
Respostas:
Analisei a programação bare metal no Raspberry Pi e parece o que você deseja fazer. Existem vários tópicos bons no fórum sobre programação bare metal com algumas pessoas que se esforçaram muito para que seu código funcionasse. Confira estes para começar:
Guia para começar o bare metal em Raspi
Programando o RPi no metal puro
Programação em Basic on Bare Metal Tutorial 1
ou, em geral, você pode ir ao Bare Metal Forum do Raspberry Pi e apenas navegar.
Meu entendimento é que você precisará inicializar a partir do cartão SD devido à sequência de inicialização incorporada ao chip Broadcom. Estou tentando encontrar o link para a sequência de inicialização, mas meu fu do google não está funcionando, editarei mais tarde, se o encontrar.
fonte
a única maneira de inicializar é a partir de um sdcard formatado em fat32, vai do poweron ao carregamento do firmware da gpu que executa qualquer arquivo binário de braço chamado kernel.img, portanto, se você deseja criar um kernel personalizado que faça o que quer que seja, neste ponto
fonte
Criei um emulador IBM S / 390 em C # que, teoricamente, será executado no Mono / Linux à medida que ele é compilado com o código CIL e não usa recursos .NET não suportados. Isso permitirá soluções integradas usando tabelas de controle independentes de plataforma com um interpretador de máquina de estado finito personalizado. No entanto, ele ainda teria O / S essencial do Linux em segundo plano.
fonte
Exemplo mínimo de um pisca-pisca de metal nu totalmente automatizado
Testado no host Ubuntu 16.04, Raspberry Pi 2. Uso:
Inserir cartão SD no host
Faça a imagem:
Onde:
/dev/mmblck0
é o dispositivo do cartão SDp1
é a primeira partição do dispositivo (/dev/mmblck0p1
)Inserir cartão SD no PI
Desligue e ligue novamente
GitHub upstream: https://github.com/cirosantilli/raspberry-pi-bare-metal-blinker/tree/d20f0337189641824b3ad5e4a688aa91e13fd764
start.S
main.c
ldscript
make.sh
fonte