Programação ARM Bare Metal, relatório de workshop
Dia 1, manhã: Arquitetura ARM
Começamos com uma rápida revisão da interface de memória e de dispositivos. A ideia de IO mapeada na memória foi reforçada por meio de um exercício prático. Um PXA270 emulado com Qemu, rodando U-boot foi usado para vasculhar os registros periféricos e entender seu comportamento.
Com a interface de um processador para o mundo externo instalada, passamos para o funcionamento interno do processador ARM na sessão "Arquitetura ARM". A sessão abordou o modelo de fluxo de dados do processador ARM. Seguiu-se a sessão "Conjunto de Instruções ARM". Uma interface poke and learn para a instrução ARM chamada armbox foi usada para demonstrar o conjunto de instruções ARM. O projeto armbox está hospedado em https://github.com/zilogic-systems/armbox
Dia 1, Tarde: Assembleia ARM e Linkers
À tarde, iniciamos com a sessão “Assembleia ARM”. Programas simples, foram montados e testados no Qemu. Esses exercícios apresentaram ao público várias diretrizes do assembler.
Passamos então para a próxima sessão, que discutiu o papel dos linkers. A capacidade dos scripts do vinculador de controlar o vinculador foi discutida a seguir. Scripts de linker simples foram desenvolvidos para colocar dados em RAM e código em Flash. E o código de inicialização para copiar o código do Flash para a RAM também foi discutido.
Dia 2: Inicialização C e Biblioteca C
O primeiro dia focou no uso de scripts de linker em nível de montagem e
código de inicialização. No segundo dia, discutimos o script do vinculador
requisitos para código C e código de inicialização. O código de inicialização para configurar
a pilha, inicializou o
.bss e copie o
discutido. Em seguida, discutimos sobre o uso do C
biblioteca. Habilitando especificamente
discutido. Um driver UART simples foi escrito para enviar os dados
através da porta serial.
Muitos presentes apreciaram a estrutura geral e o fluxo do workshop. Algumas pessoas tinham expectativas muito diferentes do workshop, por exemplo, algumas esperavam inicialização de microcontrolador/microprocessador de baixo nível. Mas espero que haja algo para eles retirarem do evento.
Aqui estão algumas citações dos comentários postados na página Explara.
Gostaríamos de agradecer a todos os participantes e organizações participantes, por todo o entusiasmo. Voltaremos com oficinas mais meticulosamente feitas à mão. Fique ligado, você pode se inscrever em nossa página de consultas para receber notificações sobre os próximos workshops.