SO bare-metal
Uma área de trabalho, aplicativos e o seu próprio código na própria placa - sem Linux por baixo.
O que é
Uma área de trabalho e seus aplicativos, tudo em Pascal, numa placa sem sistema operacional por baixo.
Tudo é Pascal
A área de trabalho, sua barra, o gerenciador de tarefas, as configurações e todos os drivers são um único projeto TruePascal compilado pelo IDE. Nenhum kernel de fora, nada para vincular, nada para instalar na placa além de um cartão.
Aplicativos são projetos
Um aplicativo é um projeto TruePascal compilado com Build for Board e enviado à placa por SSH. Ele roda como uma thread sobre dispositivos emprestados - a tela, o USB, a rede, o cartão - enquanto a barra continua sendo do SO.
Seus próprios drivers
Host USB (xHCI e DWC2) com teclados, mouses, hubs e discos; Ethernet com TCP/IP, DHCP, DNS e SNTP próprios; cartão SD com FAT32 e vários volumes; a tela, a saída de fone; GPIO, I2C, SPI, UART, PWM e 1-Wire.
Os motores do hardware
No Raspberry Pi 4 um filme é decodificado pelo VideoCore: H.264 1080p a 30 quadros por segundo usa 5-6 % da CPU. O ponteiro sobre ele é o cursor do próprio firmware; os controles do player são uma camada acima da imagem.
Acessível do seu PC
Um servidor SSH desde o primeiro segundo: entre, envie um aplicativo, leia o log, tire uma captura de tela, atualize o SO com uma imagem assinada que inicia uma vez em teste antes de assumir. O IDE faz isso com um clique.
Medido, a cada volta
Cada volta do laço é cronometrada e uma parada é registrada com seu nome. O player não perde quadros; alternar seu painel de informações custa 7 ms; a área de trabalho está no ar 1,8 s após ligar.
As placas até agora
Três placas o executam hoje. Os testes o executam no QEMU a cada versão.
Placa
Processador
Inicialização
O que roda
LattePanda Iota
Intel N150, x64
um aplicativo UEFI a partir do cartão SD (-Tefi-x64)
a primeira placa: área de trabalho, aplicativos, USB, rede, seu SSD e discos USB
Raspberry Pi 3B+
Cortex-A53, 64 bits
inicialização própria: kernel8.img no cartão (-Tpi-a64)
área de trabalho em 7 s; o navegador leu suas primeiras páginas aqui
Raspberry Pi 4B
Cortex-A72, 64 bits
inicialização própria: kernel8.img no cartão (-Tpi-a64)
a placa principal: 1,8 s até a área de trabalho, vídeo por hardware, a saída de fone
A seguir: o Raspberry Pi 5 e o Compute Module 4. A mesma base roda em todos - uma placa é um conjunto de drivers, não um porte.
Como inicia
Um arquivo num cartão. O firmware da própria placa o inicia; dali em diante tudo é do SO.
Raspberry Pi 3B+ e 4B - inicialização própria
O firmware do Pi lê o config.txt - três linhas - e inicia o kernel8.img: o SO inteiro, 8,3 MB no Pi 4. Ele entra em EL2, configura sua própria MMU, vetores e timer, e roda em EL1. Sem Linux, sem bootloader nosso.
Aplicativos - programas UEFI
Um aplicativo é um programa UEFI ARM64 (-Tefi-a64) no cartão: o SO o lê e o roda como uma thread sobre dispositivos emprestados. A mesma compilação também inicia no firmware UEFI da comunidade - comprovado no QEMU até agora.
PC - LattePanda Iota (Intel N150)
A BIOS inicia o EFI/BOOT/BOOTX64.EFI a partir do cartão SD: o SO como um aplicativo UEFI x64 de 2,8 MB. Ele traz seus próprios drivers de host USB, placa de rede e cartão em vez dos do firmware.
Atualizações
Uma nova imagem do SO é assinada (Ed25519) e enviada por SSH. Ela inicia uma vez em teste; só quando sobe é que assume, e a anterior é mantida ao lado.
Incluído
Tudo vem na única imagem - escrito em Pascal, medido nas placas.
Tela
o framebuffer do firmware ou o GOP do UEFI; o tamanho do painel pelo seu EDID; uma área de trabalho com papel de parede, ícones e barra; janelas e tela cheia
Vídeo
H.264 decodificado pelo VideoCore no Pi 4; camadas de imagem acima da área de trabalho; o cursor do próprio firmware sobre um filme
Teclado
teclados USB HID com layouts, AltGr e teclas mortas; um teclado na tela
Mouse
mouses USB HID com roda e clique duplo; o ponteiro continua se movendo enquanto um aplicativo calcula
Host USB
seu próprio xHCI (o VL805 do Pi 4 via PCIe, o Iota) e DWC2 (o Pi 3B+); hubs, discos USB, serial USB
Rede
Ethernet - o GENET do Pi 4, o Realtek do Iota, adaptadores USB; TCP/IP próprio com DHCP, DNS e SNTP
SSH
um servidor desde o primeiro segundo: chave de host Ed25519, login por chave; comandos, arquivos, envio de aplicativos, a gravação com um clique do IDE
Para aplicativos
cliente e servidor HTTP, WebSocket, MQTT, um cliente MySQL com TLS, SQLite no cartão
Armazenamento
o cartão SD com FAT32 e nomes longos; discos USB e um SSD como mais volumes
Som
a saída de fone a 48 kHz por DMA; decodificadores MP3 e AAC
Aplicativos
rodam como threads sobre dispositivos emprestados, com manifesto e permissões (tela, rede, cartão); threads dentro de um aplicativo
Pinos
GPIO, I2C, SPI, UART, PWM e 1-Wire
Ferramentas
Task Manager, o log do sistema com horários, configurações, fuso horário e localidade, um bloqueio por PIN, o watchdog, capturas de tela e um profiler por SSH
SQLite na placa
Um banco de dados de verdade em cada aplicativo: um arquivo no cartão, sem servidor, nada para instalar.
O motor é Pascal
O tpsqlite, o próprio motor SQLite do TruePascal, é compilado dentro do aplicativo. Ele grava o arquivo SQLite padrão: o sqlite3 do Python lê o que ele grava, e vice-versa.
Os arquivos do seu PC como estão
Um banco feito no PC é copiado para o cartão e aberto sem mudanças: as tabelas, os índices e os dados como estavam.
Os mesmos componentes
TSqlite3Dataset, grades de dados, campos, imagens e a agenda se ligam a ele na placa como no PC.
Seguro num cartão
Só as páginas que um comando alterou são gravadas. Um comando que falha devolve suas páginas; uma transação vale ou cai inteira.
Num microcontrolador também
O mesmo motor roda num Raspberry Pi Pico 2 com cartão SD, em 54 KB de memória.
Aplicativos que o usam
O Pictures guarda nele suas imagens, o exemplo de agenda seus compromissos; um programa de PC portado traz seus bancos junto.
Como roda enxuto
Nada entre o seu programa e o hardware.
1,8 s
de ligar até a área de trabalho num Raspberry Pi 4
8,3 MB
a imagem inteira do SO no Pi 4 - 2,8 MB como aplicativo UEFI no Iota
5-6 %
da CPU para um filme H.264 1080p a 30 quadros por segundo
Medido num Raspberry Pi 4 de 1 GB: o heap do SO com 37 MB em uso, sua pilha mais funda 768 KB, o framebuffer da tela 2,3 MB. O firmware dá ao ARM 948 MB e à GPU 76 MB; um aplicativo recebe até 80 MB. Ocioso, a CPU descansa até chegar um quadro, uma tecla ou um pacote: 3 % com a área de trabalho no ar.
Aplicativos feitos para ele
Os aplicativos do próprio SO, e programas reais portados como são.
Disk Explorer
o cartão, discos USB e um SSD - copiar, mover, excluir, nomes longos
Pictures
JPEG e PNG, com um banco de dados deles (SQLite no cartão)
Notes
um editor de texto
Browser
HTML e CSS sem JavaScript; imagens sob demanda
Player
MP3, WAV e MP4 - H.264 pelo hardware, tela cheia com os controles sobre o filme
Calc
uma calculadora
Defrag
a FAT do cartão, posta em ordem
Task Manager
a CPU, a memória de cada módulo, o aplicativo em execução (parte do SO)
VKontroll
um painel de controle industrial - o programa de PC, portado
Incluído no Pro e no Max
O SO bare-metal, seus aplicativos e as placas - LattePanda Iota, Raspberry Pi 3B+ e Raspberry Pi 4B - vêm com os planos Pro e Max sem custo extra. O plano Basic cobre os microcontroladores: Raspberry Pi Pico e Pico 2, ESP32-C3, -C6, -S3, -P4 e o ESP32 original, o Arduino Due e o Raspberry Pi Zero W.
Feito com o TruePascal IDE
(c) 2026 TruePascal IDE - truepascal.com