Incrível embebido
Uma lista com curadoria de recursos incorporados impressionantes.
Tabela de conteúdo
- Incrível embebido
- Entrevista
- Habilidade de software incorporada
- Comum
- Programação MCU
- Programação nua-metal (não precisa de MCU)
- MSP430
- TM4C123
- MSP432
- STM32
- STM32F7
- STM8
- ESP8266
- Framboesa
- Beaglebone
- Linux Kernel e Desenvolvimento do driver de dispositivo
- Conjunto
- Rtos
- Automotivo
- OS
- Windowce
- Compilador
- Bootloader
- Makefile
- Periférico
- Unidade de proteção de memória
- USB
- Outros
- Desenvolvimento da GUI incorporada
- Aprendizado de máquina e IA no MCU
- Utilitários
- Dicas e truques
- Blogs de tecnologia
- Faq_embedded
- Procurando por mais listas como esta?
- Livros
Entrevista
- Perguntas para entrevistas incorporadas
- Perguntas da entrevista Arquive pela empresa
- Coding Entrevista University - Um plano completo de estudo de ciência da computação para se tornar um engenheiro de software.
Habilidade de software incorporada
- 16 Habilidades essenciais para engenheiro incorporado
- Como ser programador de baixo nível
- Matriz de competência do programador
Comum
- Tamanho inteiro em C em sistema de 32 e 64 bits
- Teraterm - referência de comando ttl
- Teraterm Scripts
- Primer de arquivo de comando vinculador
- O processo de construção C
- Construindo sistemas de braço sem metal com GNU
- ELF - Formato executável e vinculado
- Cadeias de ferramentas
- O que é uma interface binária de aplicativo (ABI)?
- Exemplo de blink do córtex do ARM Cortex (script de ligação)
- Um script de amostra de vinculador
- Vincular e carregar
- Software incorporado _ Introdução
- Como converter de um arquivo de dispersão do Armlink para um script de ligante LD GNU
- Usando o ligante GNU
- Curso de programação de sistemas incorporados modernos - Aprenda com o básico para a prática de programação incorporada moderna.
Programação MCU
Programação nua-metal (não precisa de MCU)
- Programa mais simples de bare metal para braço (tabela de conteúdo)
- Guia de programação bare metal - um guia detalhado para iniciantes
- C ++ em tempo real-Código de metal nu em tempo real para o livro C ++ em tempo real.
MSP430
- MSP430-GCC
- CS4101: Introdução aos sistemas incorporados - o curso foi projetado em torno de laboratórios, usando o TI MSP430 Launchpad e o Arduino UNO para discutir conceitos como E/S básica, tempo e relógio, manuseio interrupto, comunicação serial, sistemas operacionais incorporados, sincronização, etc.
- MSP430 -TEMPLATE - Um modelo para firmware MSP430.
- Referência do MSP430
TM4C123
- Incorpedsystems.playground
- Macros em Tivaware
- Analógico à conversão digital, aquisição e controle de dados
- Sistemas incorporados - moldar o mundo
- Howto: desenvolva -se no Ti Tiva Launchpad usando Linux
- Sistema de construção da linha de comando Linux para gerar binários para TM4C123 (ARM Cortex M4)
- O tutorial completo para o desenvolvimento do Stellaris Launchpad com GNU/Linux (I)
- Introdução ao Ti Stellaris Launchpad no Linux
- Sistemas incorporados com tm4c123 @valvano
- Crie Projeto Demo Freertos usando o compilador GCC
- Setial Bootloader no microcontrolador TM4C12X
- TiVaware Bootloader
- Diagnosticando problemas comuns de desenvolvimento e dicas e informações para dispositivos TM4C
- FREERTOS-GCC-TM4C123GLX-Uma porta de Freertos para o Texas Instruments Tiva TM4C123GLX Launchpad.
- Stellaris_tm4c123g_gcc_template - Texas Instruments Model Project para a série TM4C123 usando a Chain de ferramentas GNU.
- TM4C -GCC - TM4C123 Modelo de projeto GCC.
- TivaApps-Exemplo de hello-mundo aplicativos para Texas Instruments Ti-rtos para Tiva C usando um host Linux
- Motoristas e exemplos - Drivers para periféricos internos e módulos externos para Tiva C, Exemplos de recursos de Freertos em Desenvolvimento/Freertos
MSP432
- Redes Bluetooth em tempo real-UTAUSTINX-Aprenda os fundamentos do design de um sistema operacional em tempo real (RTOs) e como construir uma rede Bluetooth neste curso prático baseado em projetos.
STM32
- STM32 Bootloader
- Testes para programar núcleos STM32 em C com GCC Arm incorporado Chain de ferramentas e libencm3
- Um projeto de demonstração de Freertos em uma placa de descoberta STM32F4.
- DFU Bootloader para chips STM32
- Carregador de inicialização personalizável para microcontroladores STM32.
- Pilha de dispositivos USB leve para microcontroladores STM32
- Programação STM32 com compilador GNU incorporado
- Um pequeno portátil 3D Graphics Lib for Micro Controllers (tela OLED)
- Introdução ao STM32F4-Discovery Board usando o embitz IDE
- Projetos Libopencm3 e Freertos usando o STM32F103C8T6 MCU
- Um modelo para BUILTING STM23F0 ARM Projects com GCC
- Programa Flash de código aberto para STM32 usando o ST serial Bootloader
- STM32-HID-BOOTLOADER-Ferramenta de inicialização HID sem driver sem driver para dispositivos STM32F10X
- STM32L1XX -TEMPLATE - Um modelo para criar firmware para o STM32L1XX.
- Exemplos STM32F103C8
- STM32F103 - Programação nua de metal em uma placa genérica STM32F103C8
- STM32_SAMPLES
- Código de exemplo STM32F4DE
- STM32F4XX com ferrugem no HAL - uma série de tutoriais para a construção de aplicativos STM32F4XX com ferrugem.
- STM32-RF-SCANNER-STM32 e NRF24L01+ Scanner RF baseado em 2,4 GHz
- STM32-DC-DC-Conversor DC-DC baseado em STM32
- RustLink - Pequeno conjunto de ferramentas de ferrugem para programar dispositivos STM32
STM32F7
- Série STM32F7
- STM32 Elinux
- STM32F7 OS.MBED
STM8
- STM8-BARE-MIN-Tiny Library Periférica para STM8s
- STM8 -BootLoader - Setial Bootloader para microcontroladores STM8S
- STM8-MULTI-TASKER-STM8-MULTI-TASKER-RONGULADOR ROUR ROUR
- WOLK STM8 Stuff
- STM8S001J3_TINY_BOARD - Uma pequena placa de dev para STM8S001J3 MCU projetada em Kicad.
ESP8266
- Um carregador de inicialização de código aberto para o ESP8266
- Uma ferramenta de criação de ROM ESP8266
- Jornada de Aprendizagem Wi-Fi Esp8266
- Jornada de aprendizado Wi-Fi ESP32
- SMING - ESP8266/ESP32 IoT Framework
Framboesa
- Raspberry Pi Bare Metal & Related Link
- Chibios/RT no Raspberry Pi
- Exemplos de bare metal à base de braço de framboesa
- Bare Metal Raspberry Pi 3 Tutoriais
- Projetos abertos: framboesa, beglebone bsp
- Um sistema operacional em tempo real no Raspberry Pi
- Um porto de Freertos para o Raspberry Pi
- Freertos portado com sucesso
- Explorando a AARCH64 Assembler - Raspberry
- Um carregador de inicialização para o Raspberry Pi usando o dispositivo Ethernet
- Framboesa pi bare metal
- Programação nua de metal em C
- Baking PI - Desenvolvimento de sistemas operacionais
- Pesquise o tópico 'Raspberry' no Github
- Elinux: Programação Raspberry Pi ou Elinux: RPI Hub
- Stanford CS104E - Um curso experimental sobre sistemas operacionais
- Sistemas de computador
- Construa um sistema ARM64 baseado em Debian para Raspberry Pi 3
- Aprendendo o desenvolvimento do sistema operacional usando o kernel Linux e Raspberry Pi
- Uma porta de Freertos para o Raspberry Pi 2b. Com USB+Ethernet+TCP/IP.
- UEFI Tiano Core de 64 bits para o Raspberry Pi 3
- CXCORE-RASPBERRAPI3-UBUNTU-18.04-AARCH64
- Amostra Fonte: Código -fonte Baremetal para Raspberry
- Amostra Fonte: Narcos - Um kernel ultraleve nua de metal para Raspberry Pi 3
- Fonte de amostra: Freertos v9.0.0 Porta para Raspberry Pi 1
- Fonte de amostra: um experimento de metal nu com o Raspberrypi
- 「Baremetal で遊ぶ Raspberry Pi 」のプログラムです。
- UEFI para RaspberryPi2 e RaspberryPi3 baseado em Linaro EDK2
- ARM-episódios e exploração de braço para a IoT
- Arm Shellcode e Desenvolvimento de Exploração - Bsidesmunich 2018
- Programação de 64 bits bare metal no rpi-3
- Raspberry Pi 3 Bare Metal
- Código de montagem para Raspberry Pi
- Um código de framboesa PI Public Baremetal Pi
- Tutorial de framboesa pi bare metal
- UCOS-II em Raspberry Pi
- Porta UCOSII para o Raspberry Pi A+/B+/2B
- Exemplos de metal nu
- Laboratório Bare-Metal
- Explorando Raspberry Pi: interface no mundo real com linux incorporado {book}
- Explorando o Raspberry Pi: interface no mundo real com o Linux incorporado {website}
Beaglebone
- BeagleBone Black I2C Referências
- Aprendendo a programação de Python BeagleBone
- Implementação simples de um sistema operacional para o Beagleboard C4 com o processador ARMV7 A8.
- Vários projetos que utilizam instruções de hardware de baixo nível para interagir com LEDs, saída do alto -falante e entrada de joystick.
- Windows incorporado compacto BSP para o BEAGLEBONE DE TI
- BBB-Baremetal- Works no BEAGLEBONE BLACK (BARE METAL)
- Executando um Baremetal Beaglebone Black & Part 2
- Bare Metal no BeagleBone (preto e verde) e link1 + link2
- Um tutorial sobre o desenvolvimento do Bare-Metal [OS] no Texas Instruments Beagleboard.
- Projeto C Bare Metal para BeagleBone, Ti Sitara AM335X
- Aplicações de metal nu no OSD335X usando U-Boot
- BBB-ASM-DEMO-APLICAÇÃO BAREMETAL EXTREMAM
- BeagleBone - Introdução ao JTAG e CCS
- Beagleboardjtag
- beaglebone_samples
- Freertos para Beaglebone Black
Linux Kernel e Desenvolvimento do driver de dispositivo
- Linux dentro - um pouco sobre um kernel Linux
- Escrevendo drivers de dispositivo em Linux
- Tutoriais do Yolinux
- Programação do driver Linux
- Materiais de treinamento gratuitos e apresentações de conferência
- Ebook: Linux Drivers ou Slides: Linux Drivers
- C -PERIPHERY - Biblioteca AC para E/S periférica (GPIO, SPI, I2C, MMIO, SERIAL) em Linux.
- OpenEmbedded,
- Práticas do driver Linux
- Exploração do kernel Linux - um monte de links relacionados à exploração do kernel Linux
- Truque do módulo do kernel Linux
- Inicie o desenvolvimento do módulo do kernel Linux!
- Linux Live mínimo - uma pequena distribuição educacional Linux
- Universidade de programação de baixo nível #linux-kernel-and-device-driver
- Projeto YOCTO - Crie sistemas baseados em Linux personalizados, independentemente da arquitetura de hardware.
- BuildRoot-Ferramenta simples, eficiente e fácil de usar para gerar sistemas Linux incorporados através da compilação cruzada.
Conjunto
- GCC-Inline-Montos-Howto
- Programação de montagem
Rtos
- Lista de sistemas operacionais em tempo real de código aberto
- Ros
- Freertos
- Freertos - Explicação
- Documentação de referência da API Freertos
- Como escrever um pequeno RTOS
- RTOs de Scrach
- Mini-Arm-OS & Qemu com um STM32 ou aqui-construa um kernel de sistema operacional multitarefa mínimo para a série ARM Cortex-M do zero
- Escrevendo um sistema operacional simples do zero
- Sistema operacional em tempo real gratuito (RTOs) projetado para aplicativos profundamente incorporados
- Desenvolvimento MPSoc Freertos
- Atomthreads: RTOs de código aberto
- Controle motor de alto desempenho
- Minix3: RTOS de código aberto
- 30 dias Make OS -> yos @yannik
- Comunidade: Osdev.org, Reddit/Osdev
- Grupo de sistemas em tempo real
- RTOs C ++ orientados a objetos para microcontroladores
- O RT-Thread é um sistema operacional IoT de código aberto da China.
- Como criar um sistema operacional do zero
- Fonte da amostra: o tetros é um pequeno clone rico em tetris que está escrito na montagem.
- Fonte de amostra: RTOs para microcontroladores
- Fonte de amostra: um poderoso RTOs incorporado para microcontroladores do córtex do ARM
- Fonte de amostra: um sistema operacional incorporado para microcontroladores baseados em córtex-m do ARM Cortex-M
- Fonte da amostra: o RNK é uma arquitetura de braço de direcionamento RTOS.
- Fonte de amostra: RTOS-From-Scratch
- Fonte de amostra: OS incorporado para PIC32MX270F256B
- Como acabei escrevendo um novo kernel em tempo real
- Amostra Fonte: Tneo-Um kernel em tempo real bem formado e cuidadosamente testado para MCUs de 16 e 32 bits
- O YAOS é um sistema operacional incorporado para dispositivos Internet das Coisas (IoT), especificamente para um processador de núcleo único sem virtualização da MMU.
- RT-Thread para Raspberry Pi 2b
- TOCK - Um sistema operacional incorporado seguro para microcontroladores baseados no Cortex -M.
- Alios-Things-Alios Things, lançado pelo Alibaba, é uma implementação de código aberto do sistema operacional (OS) para Internet of Things (IoT).
- RTOs cooperativas simples Cortos e Cortos - um RTOS minimalista de código aberto.
- referência µos ++
- TNKERNEL - Um kernel compacto e muito rápido em tempo real para os microprocessadores incorporados de 32/16/8 bits.
- FEMTO OS - Um sistema operacional portátil muito conciso - Sistema Operacional Preemptivo (RTOs) para microcontroladores incorporados com RAM mínima e flash, digamos 2kb .. Flash de 16kb e 128 .. 1024 Bytes RAM.
Automotivo
- Fonte da amostra: o trampolim é um RTOS estático para pequenos sistemas incorporados. & laboratórios
- Fonte de amostra: uma integração Um exemplo de projeto de AutoSAR que todas as peças do AutoSAR (OS, RTE, BSW, MCAL) são coletadas de diferentes código aberto.
- Software Automotivo (OSEK & AUTOSAR) - Porque não sou poderoso, então decidi desenvolver parte pequena, mas inteligente, do software automotivo com base em código aberto e criar um ambiente geral de estudo de software automotivo e automotivo.
OS
- UCLinux: O projeto Linux/Microcontrolador incorporado é uma porta de Linux para sistemas sem uma unidade de gerenciamento de memória (MMU).
- Tizen
- Bootstrap para escrever um sistema operacional do zero. Um livro para o auto-aprendizagem.
- Kernel 101 - Vamos escrever um kernel
- O pequeno livro sobre desenvolvimento do sistema operacional
- Tetros - tetris que se encaixa no setor de inicialização.
- Escrevendo um sistema operacional simples do zero
- Tutoriais de Desenvolvimento do Kernel de Jamesm
- Ossos nus - um kernel simples para x86 de 32 bits e inicialize -o.
- Série de desenvolvimento de sistemas operacionais
- 7 etapas para escrever um agendador cooperativo simples
- Um simples kernel do sistema operacional para pesquisa, ensino e diversão
- Sistemas operacionais C Termo 2018
Windowce
- Blog de gurruce
- Blog da equipe de base do Windows CE
- Devwince Blog
- Windows incorporado compacto BSP para Raspberry Pi
- Pacote de suporte à placa incorporado do Windows para BeagleBone
Compilador
- Compilador de braço - Guia do usuário do ARMASM
Bootloader
- Escrevendo um carregador de inicialização em montagem e C
- Escrevendo um carregador de inicialização Parte 3
- Um carregador de inicialização para microcontroladores baseados em braço córtex-m
- OpenBlt - Um código aberto e carregador de inicialização portátil para microcontroladores.
- Carregador de elfo ARMV7M
- Escrevendo um carregador de inicialização Parte 1
- Can-BootLoader-o carregador de inicialização usado para piscar nossas placas conectadas ao CAN
- Bootloaders 101
- Entenda o processo de inicialização: link1, link2, link3
- Palavras -chave: Hello World Bootloader , escrevendo um carregador de inicialização do zero , como escrever um carregador de inicialização na montagem , ...
Makefile
- Gerenciando projetos com GNU Make
- GCC e Make
Periférico
Unidade de proteção de memória
- Construindo componentes de hardware para proteção de memória de aplicativos em um pequeno processador
- Arquitetura Keystone: Unidade de Proteção à Memória (MPU)
USB
- TinyUSB - Uma pilha USB de código aberto para uma variedade de sistemas incorporados.
Outros
- Uma abordagem prática do filtro Kalman e como implementá -lo
- Programação do sistema incorporado: mergulhando no plano de estudos para investigação.
- Apresentações do ELC 2018
- ARM Edition: Sparky Arm Edition é uma versão Sparky criada para uma única placa mini computador Raspberrypi.
- O simulador Gem5 é um simulador sofisticado bem conhecido usado para pesquisa de sistemas de computador nos níveis de arquitetura e micro-arquitetura. A página principal está aqui.
- Distribuição do Android Lineageos
- A plataforma Nocan
- OS em tempo real em sistemas incorporados
- Esses projetos foram produzidos nas cinco semanas da ECE 4760 a cada ano.
- Biblioteca de backtrace de falhas avançadas para ARM Cortex-M Series MCU
- MCU-Starter-Projetos-Projetos iniciais simples para o desenvolvimento do MCU de metal nu.
- Dirtyjtag - firmware do adaptador JTAG para STM32F1
- Genérico_mcu_software_infrastructure - Forneça a infraestrutura de software necessária, o serviço e as macros para suportar algum conceito de abstrução de alto nível ou paradigma, como OOPC, FSM, delegado (orientado a eventos) e etc.
- Apollo - Uma plataforma de direção autônoma aberta.
- Um ambiente de desenvolvimento para o ARM TrustZone com suporte global de plataforma
- Uma biblioteca de modelos C ++ para aplicativos incorporados
- Reparação incorporada de C ++ STL -
basic_string , basic_ostream etc. Inclinou -se. Plataforma cruzada (incluindo AVR).
Desenvolvimento da GUI incorporada
- Assistente incorporado - GUI sofisticada para sua plataforma incorporada
- LVGL-Biblioteca gráfica para criar uma GUI incorporada com elementos gráficos fáceis de usar, belos efeitos visuais e pegada de baixa memória. Oferece anti-aliasing, opacidade e animações usando apenas um buffer de quadro.
Aprendizado de máquina e IA no MCU
- NNOM - Uma biblioteca de rede neural de nível superior para microcontroladores.
- nn4mp
- Biblioteca de Aprendizagem Incorporada (ELL)-Biblioteca da Microsoft para implantar modelos inteligentes aprendidos de máquina em plataformas com restrições de recursos e pequenos computadores de placa única.
- Qualcomm Processamento Neural SDK para as bibliotecas de IA para desenvolvedores executam modelos NN em plataformas móveis do Snapdragon, aproveitando a CPU, GPU e/ou DSP.
- CMSIS NN - Uma coleção de kernels de rede neural eficiente desenvolvidos para maximizar o desempenho e minimizar a pegada de memória das redes neurais nos núcleos do processador Cortex -M.
- Biblioteca de computação ARM - Conjunto de funções otimizadas para processamento de imagens, visão computacional e aprendizado de máquina.
- Utensor - AI Biblioteca de inferência com base no mbed (um RTOS para chipsets de braço) e tensorflow.
- INCEDEDAI - Uma biblioteca que fornece elementos de aplicativos IA para C ++.
- KANN - Uma biblioteca C leve para redes neurais artificiais.
- M2CGEN - Uma ferramenta da CLI que permite transpilar modelos clássicos de ML treinados em um código nativo de várias linguagens de programação com zero dependências, incluindo C.
Utilitários
- LM4Tools
- MSPDEBUG - Ferramenta de depuração para MSP430 MCUS
- Pycs - Ferramentas de depuração e rastreamento de rastreamento e rastreamento baseado em python
- NAIVESYSTEMS Analyze - Ferramenta de análise estática para segurança e conformidade de código
- Estúdio serial - Visualize, analise e transmita os dados da Internet gerados pelo seu projeto MCU
Dicas e truques
- Folhas de trapaceiros impressionantes
Folhas de truques impressionantes para o utilitário de desenvolvedores, como Git, Vim, Tmux, sublimetext, Markdown, Shell.
- Config Vim para ler o código -fonte do kernel Linux
- GNU GDB Debugger Command Cheat Sheet
Blogs de tecnologia
- O que um programador C deve saber sobre a memória
- O que todo programador deve saber sobre memória
- O que todo programador C deve saber sobre comportamento indefinido Parte 2
- Um guia para comportamento indefinido em C e C ++
- Takeaways de engenharia de software
- Newsletter semanal da INCEDSYS
Faq_embedded
- A seção de inicialização é removida (GCC, LD, AR, AS)
- O que são arquivos .axf?
Procurando por mais listas como esta?
- Awesome -C - Uma lista com curadoria de estruturas C impressionantes, bibliotecas e software.
- Uma lista com curadoria de tutoriais baseados em projetos em C
- Lista com curadoria de tutoriais baseados em projetos
- Lista com curadoria de listas incríveis
- Uma lista com curadoria de ferramentas, projetos, imagens e recursos de Raspberry Pi Awesome
- Lista com curadoria de carros autônomos e recursos de veículos autônomos
- Sistemas incríveis
- Sheets de chefes impressionantes-folhas de trapaceiros impressionantes para desenvolvedores, como Git, Vim, Tmux, texto sublime, Markdown, Shell.
- Awesome embebedded-Rust-Lista de recursos com curadoria para desenvolvimento incorporado e de baixo nível na linguagem de programação de ferrugem.
- theembeddednewtestamento.github.io
Livros
- Dominando o Raspberry Pi
- Moderno c