超棒的嵌入式学习资源汇总

编程入门 行业动态 更新时间:2024-10-13 02:16:27

超棒的<a href=https://www.elefans.com/category/jswz/34/1770281.html style=嵌入式学习资源汇总"/>

超棒的嵌入式学习资源汇总

超棒的嵌入式学习资源汇总

精选嵌入式学习资源汇总

文章目录

  • 超棒的嵌入式学习资源汇总
    • 面试问题
    • 嵌入式软件技能
    • 常见问题
    • 单片机编程
      • 裸机编程
      • MSP430
      • TM4C123
      • MSP432
      • STM32
      • STM32F7
      • STM8
      • ESP8266
    • Raspberry
    • Beaglebone
    • Linux内核和驱动开发
    • 编译
    • 实时操作系统
    • 汽车工业
    • 操作系统
    • WindowCE
    • 编译器
    • Bootloader
    • Makefile
    • Peripheral
      • Memory Protection Unit
      • USB
    • Others
    • Embedded GUI Development
    • Machine Learning & AI on MCU
    • Utilities
    • Tips & tricks
  • 技术博客
    • 嵌入式常见问题
    • 想要找到更多同类资源吗
    • 相关书籍

面试问题

  • 嵌入式面试问题
  • 各大面试问题集锦
  • 编程-面试-大学 - 要想成为一名软件工程师,这是一个完整的计算机科学与技术专业培养计划。

嵌入式软件技能

  • 成为一名有竞争力的嵌入式软件工程师所需的技能和知识。
  • 如何成为低级程序语言程序员
  • 程序员能力矩阵

常见问题

  • Integer size in C on 32-bit and 64-bit system
  • TeraTerm - TTL command reference
  • TeraTerm Scripts
  • Linker Command File Primer
  • The C build process
  • Building Bare-Metal ARM Systems with GNU
  • ELF – Executable and Linkable Format
  • Toolchains
  • What is an application binary interface (ABI)?
  • ARM Cortex M4 Blink Example (Linker Script)
  • A Sample Linker Script
  • Linking and Loading
  • Embedded Software _ Getting started
  • How to convert from an armlink scatter file to a GNU ld linker script
  • Using the GNU Linker

单片机编程

裸机编程

  • 最简单的ARM裸机编程 (table of content)
  • 裸机编程指南 - 这是一份对初学者的详细指导

MSP430

  • MSP430-GCC
  • CS4101: 嵌入式系统简介 - 这套课程围绕实验室设计,使用TI MSP430 LaunchPad和Arduino Uno 来探讨基础I/O接口、定时和时钟、中断处理、串行通信、嵌入式操作系统、同步等概念。
  • msp430-template - 一套MSP430固件模板。
  • MSP430 reference

TM4C123

  • EmbeddedSystems.Playground
  • Macros in TivaWare
  • Analog to Digital Conversion, Data Acquisition and Control
  • Embedded Systems - Shape The World
  • HowTo: Develop on the TI Tiva LaunchPad using Linux
  • Linux command line build system to generate binaries for TM4C123 (ARM Cortex M4)
  • The complete tutorial for Stellaris LaunchPad development with GNU/Linux (I)
  • Getting Started with the TI Stellaris LaunchPad on Linux
  • Embedded Systems with TM4C123 @Valvano
  • Create FreeRTOS Demo Project using the GCC Compiler
  • Serial bootloader on TM4C12x Microcontroller
  • Tivaware bootloader
  • Diagnosing Common Development Problems and Tips & Info for TM4C Devices
  • FreeRTOS-GCC-tm4c123glx - A port of FreeRTOS to the Texas Instruments Tiva TM4C123GLX Launchpad.
  • Stellaris_TM4C123G_GCC_Template - Texas Instruments template project for the TM4C123 series using GNU toolchain.
  • tm4c-gcc - TM4C123 GCC project template.
  • tivaapps - Example hello-world apps for Texas Instruments TI-RTOS for Tiva C using a Linux host
  • Drivers and examples - Drivers for internal peripherals and external modules for Tiva C, examples of FreeRTOS features under development/FreeRTOS

MSP432

  • Real-Time Bluetooth Networks - UTAustinX - Learn the design fundamentals of a real-time operating system (RTOS) and how to build a Bluetooth network in this hands-on project-based course.

STM32

  • STM32 bootloader
  • Tests to program STM32 Nucleo in C with GCC ARM embedded toolchain and libopencm3
  • A demo project of FreeRTOS running on a STM32F4 Discovery board.
  • DFU Bootloader for STM32 chips
  • Customizable Bootloader for STM32 microcontrollers.
  • Lightweight USB device Stack for STM32 microcontrollers
  • STM32 programming with Embedded GNU Compiler
  • A tiny portable 3D graphics lib for micro controllers (Oled display)
  • Getting started with the STM32F4-Discovery board using the EmBitz IDE
  • libopencm3 and FreeRTOS projects using the STM32F103C8T6 MCU
  • A template for builting STM23F0 ARM projects with GCC
  • Open source flash program for STM32 using the ST serial bootloader
  • stm32-hid-bootloader - Driverless USB HID bootloader and flashing tool for STM32F10X devices
  • stm32l1xx-template - A template for building firmware for the STM32L1xx.
  • STM32F103C8 Examples
  • stm32f103 - Bare metal programming on a generic STM32F103c8 board
  • stm32_samples
  • stm32f4de example code
  • stm32f4xx with Rust at the HAL - A series of tutorials for building STM32F4xx applications with Rust.
  • stm32-rf-scanner - STM32 and nRF24L01+ based 2.4GHz RF scanner
  • stm32-dc-dc - STM32 based DC-DC converter
  • rustlink - small set of Rust tools to program STM32 devices

STM32F7

  • STM32F7 Series
  • STM32 eLinux
  • STM32F7 os.mbed

STM8

  • stm8-bare-min - Tiny peripheral library for STM8S
  • stm8-bootloader - Serial bootloader for STM8S microcontrollers
  • stm8-multi-tasker - STM8-Multi-Tasker - Preemptive/Cooperative Round Robin Scheduler for STM8
  • Wolk STM8 stuff
  • STM8S001J3_tiny_board - A tiny dev board for STM8S001J3 MCU designed in KiCad.

ESP8266

  • 开源的ESP8266引导程序
  • An esp8266 rom creation tool
  • Wi-FI ESP8266 learning journey
  • Wi-FI ESP32 learning journey
  • Sming - ESP8266/ESP32 IoT Framework

Raspberry

  • 树莓派裸机编程 及 相关链接
  • 树莓派上的ChibiOS/RT系统
  • 基于ARM的树莓派裸机编程实例
  • 树莓派3裸机编程教程
  • Open Projects: Raspberry, Beaglebone BSP
  • 献给树莓派的一套实时操作系统
  • A port of FreeRTOS to the raspberry pi
  • FreeRTOS Sucessfully Ported
  • Exploring AArch64 assembler - Raspberry
  • A bootloader for the Raspberry Pi using the ethernet device
  • Bare Metal Raspberry Pi
  • Bare Metal Programming in C
  • Baking Pi – Operating Systems Development
  • Search for ‘Raspberry’ topic on Github
  • elinux: Raspberry Pi Programming or elinux: RPi Hub
  • Stanford CS104e - An Experimental Course on Operating Systems
  • Computer Systems
  • Build a Debian-based ARM64 system for Raspberry Pi 3
  • Learning operating system development using Linux kernel and Raspberry Pi
  • A port of FreeRTOS to the raspberry pi 2B. With USB+Ethernet+TCP/IP.
  • 64-bit Tiano Core UEFI for the Raspberry Pi 3
  • CXCORE-RaspberryPi3-ubuntu-18.04-aarch64
  • Sample source: Baremetal source code for Raspberry
  • Sample source: NarcOS - A bare metal ultralight kernel for Raspberry Pi 3
  • Sample source: FreeRTOS v9.0.0 port for Raspberry Pi 1
  • Sample source: A bare-metal experiments with the RaspberryPi
  • 「BareMetalで遊ぶ Raspberry Pi」のプログラムです。
  • UEFI for RaspberryPi2 and RaspberryPi3 based on Linaro EDK2
  • ARM-episodes & ARM exploitation for IoT
  • ARM shellcode and exploit development - BSidesMunich 2018
  • 64 bit Bare Metal Programming on RPI-3
  • Raspberry Pi 3 Bare Metal
  • Assembly code for Raspberry Pi
  • A public Baremetal Raspberry Pi code
  • Raspberry-Pi Bare Metal Tutorial
  • uCOS-II on Raspberry Pi
  • Porting uCOSII to the raspberry pi A+/B+/2B
  • Bare-metal examples
  • Bare-metal lab
  • Exploring Raspberry Pi: Interfacing to the Real World with Embedded Linux {book}
  • Exploring Raspberry Pi: Interfacing to the Real World with Embedded Linux {website}

Beaglebone

  • BeagleBone Black I2C References
  • Learning BeagleBone Python Programming
  • Simple implementation of an OS for the BeagleBoard C4 with ARMv7 A8 processor.
  • Various projects that utilize low level hardware instructions to interface with leds, speaker output and joystick input.
  • Windows Embedded Compact BSP for TI’s Beaglebone
  • BBB-BareMetal- Works on the beaglebone black (bare metal)
  • Running a Baremetal Beaglebone Black & Part 2
  • Bare Metal on the BeagleBone (Black and Green) & link1 + Link2
  • A tutorial on bare-metal [OS] development on the Texas Instruments BeagleBoard.
  • bare metal c project for beaglebone, ti sitara am335x
  • Bare Metal Applications on OSD335x using U-Boot
  • bbb-asm-demo - Extremely tiny baremetal application for BeagleBone Black
  • Beaglebone - Getting started with JTAG and CCS
  • BeagleBoardJTAG
  • beaglebone_samples
  • FreeRTOS for BeagleBone Black

Linux内核和驱动开发

  • Linux inside - A little bit about a linux kernel
  • Writing device drivers in Linux
  • YOLINUX Tutorials
  • Linux driver programming
  • Free training materials and conference presentations
  • eBook: Linux Drivers or Slides: Linux Drivers
  • c-periphery - A C library for peripheral I/O (GPIO, SPI, I2C, MMIO, Serial) in Linux.
  • OpenEmbedded,
  • Linux driver practices
  • Linux Kernel Exploitation - A bunch of links related to Linux kernel exploitation
  • Linux Kernel Module Cheat
  • Start linux kernel module development!
  • Minimal Linux Live - a tiny educational Linux distribution
  • low-level programming university #linux-kernel-and-device-driver

编译

  • GCC-Inline-Assembly-HOWTO
  • Assembly programming

实时操作系统

  • List of open source real-time operating systems
  • ROS
  • FreeRTOS
  • FreeRTOS - Explaination
  • FreeRTOS API Reference Documentation
  • How to Write a Small RTOS
  • RTOS From Scrach
  • mini-arm-os & qemu with a stm32 or here - Build a minimal multi-tasking OS kernel for ARM Cortex-M series from scratch
  • Writing a simple operating system from scratch
  • Free real-time operating system (RTOS) designed for deeply embedded applications
  • MPSoC FreeRTOS Development
  • Atomthreads: Open Source RTOS
  • High performance motor control
  • MINIX3: Open source RTOS
  • 30 Days make OS --> YOS @Yannik
  • Community: OSDEV, reddit/osdev
  • Real-time System Group
  • object-oriented C++ RTOS for microcontrollers
  • RT-Thread is an open source IoT operating system from China.
  • How to create an OS from scratch
  • Sample Source: TetrOS is a small feature rich Tetris clone which is written in Assembly.
  • Sample Source: RTOS for microcontrollers
  • Sample Source: A Powerful embedded RTOS for ARM Cortex M microcontrollers
  • Sample Source: An embedded operating system for ARM Cortex-M based microcontrollers
  • Sample Source: rnk is a RTOS targeting ARM architecture.
  • Sample Source: RTOS-From-Scratch
  • Sample Source: Embeded OS for PIC32MX270F256B
  • How I ended up writing a new real-time kernel
  • Sample Source: TNeo - a well-formed and carefully tested preemptive real-time kernel for 16- and 32-bits MCUs
  • yaos is an embedded operating system for Internet of Things(IoT) devices, specifically for a single-core processor without MMU virtualization.
  • RT-Thread for Raspberry Pi 2B
  • tock - A secure embedded operating system for Cortex-M based microcontrollers.
  • AliOS-Things - AliOS Things released by Alibaba is an open-source implementation of operating system (OS) for Internet of Things (IoT).
  • CoRTOS & CoRTOS Simple Cooperative RTOS - An open source minimalist RTOS.
  • µOS++ Reference
  • TNKernel - a compact and very fast real-time kernel for the embedded 32/16/8 bits microprocessors.
  • Femto OS - a very concise portable real time - preemptive operating system (RTOS) for embedded microcontrollers with minimal ram and flash, say 2KB … 16KB flash and 128 … 1024 bytes ram.

汽车工业

  • Sample Source: Trampoline is a static RTOS for small embedded systems. & labs
  • Sample source: An integration an example AUTOSAR project which every part in AUTOSAR (OS, RTE, BSW, MCAL) are collected from different open source.
  • automotive software(OSEK & AUTOSAR) - Because I am not powerful so I decided to develop tiny but smart part of automotive software based on open source, and create a general AUTOSAR & Automotive Software study environment.

操作系统

  • ucLinux: The Embedded Linux/Microcontroller project is a port of Linux to systems without a Memory Management Unit (MMU).
  • Tizen
  • Bootstrap yourself to write an OS from scratch. A book for self-learner.
  • Kernel 101 – Let’s write a Kernel
  • The little book about OS development
  • TetrOS - Tetris that fits into the boot sector.
  • Writing a Simple Operating System from Scratch
  • JamesM’s kernel development tutorials
  • Bare Bones - a simple kernel for 32-bit x86 and boot it.
  • Operating System Development Series
  • 7 Steps to Writing a Simple Cooperative Scheduler
  • A simple OS kernel for research, teaching, and fun
  • Operating Systems C Term 2018

WindowCE

  • GuruCE Blog
  • Windows CE Base Team Blog
  • DevWinCE blog
  • Windows Embedded Compact BSP for Raspberry Pi
  • Windows Embedded Board Support Package for BeagleBone

编译器

  • ARM Compiler - armasm User Guide

Bootloader

  • Writing a boot loader in Assembly and C
  • Writing a Bootloader Part 3
  • A bootloader for ARM Cortex-M based microcontrollers
  • OpenBLT - an open source and portable bootloader for microcontrollers.
  • ARMv7M ELF loader
  • Writing a Bootloader Part 1
  • can-bootloader - The bootloader used to flash our CAN-connected boards
  • Bootloaders 101
  • Understand boot process: link1, link2, link3
  • Keywords: hello world bootloader, writing a bootloader from scratch, how to write a bootloader in assembly, …

Makefile

  • Managing projects with GNU Make
  • GCC and Make

Peripheral

Memory Protection Unit

  • Building Hardware Components for Memory Protection of Applications on a Tiny Processor
  • KeyStone Architecture: Memory Protection Unit (MPU)

USB

  • tinyusb - An open source USB stack for a variety of Embedded Systems.

Others

  • A practical approach to Kalman filter and how to implement it
  • Embedded System programming: Diving into Syllabus for investigation.
  • ELC 2018 Presentations
  • ARM Edition: Sparky ARM Edition is a Sparky version created for a single board mini computer RaspberryPi.
  • The gem5 Simulator is a well-known sophisticated simulator used for computer system research at both architecture and micro-architecture levels. Main page is here.
  • LineageOS Android Distribution
  • The NoCAN platform
  • Realtime OS on Embedded Systems
  • These projects were produced in the five weeks of ECE 4760 each year.
  • Advanced fault backtrace library for ARM Cortex-M series MCU
  • mcu-starter-projects - Simple starter projects for bare-metal MCU development.
  • DirtyJTAG - JTAG adapter firmware for STM32F1
  • Generic_MCU_Software_Infrastructure - Provide necessary software infrastructure, service, macros to support some high level abstruct concept or paradigm, such as OOPC, FSM, delegate (event-driven) and etc.
  • apollo - An open autonomous driving platform.
    • A Development Environment for ARM TrustZone with GlobalPlatform Support

Embedded GUI Development

  • Embedded Wizard - Sophisticated GUI for Your Embedded Platform
  • lvgl - Graphics library to create an embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint. It offers anti-aliasing, opacity, and animations using only one frame buffer.

Machine Learning & AI on MCU

  • nnom - A higher-level Neural Network library for microcontrollers.
  • nn4mp
  • Embedded Learning Library (ELL) - Microsoft’s library to deploy intelligent machine-learned models onto resource constrained platforms and small single-board computers.
  • Qualcomm Neural Processing SDK for AI - Libraries to developers run NN models on Snapdragon mobile platforms taking advantage of the CPU, GPU and/or DSP.
  • CMSIS NN - A collection of efficient neural network kernels developed to maximize the performance and minimize the memory footprint of neural networks on Cortex-M processor cores.
  • ARM Compute Library - Set of optimized functions for image processing, computer vision, and machine learning.
  • uTensor - AI inference library based on mbed (an RTOS for ARM chipsets) and TensorFlow.
  • EmbededAI - A library that provides elements of AI to C++ applications.
  • kann - A lightweight C library for artificial neural networks.
  • m2cgen - A CLI tool which allows to transpile trained classic ML models into a native code of various programming languages with zero dependencies including C.

Utilities

  • lm4tools
  • mspdebug - Debugging tool for MSP430 MCUs
  • pycs - Python Based ARM CoreSight Debug and Trace Tools

Tips & tricks

  • Awesome Cheat Sheets

Awesome Cheat Sheets for Developer Utility, like Git, Vim , Tmux, SublimeText, Markdown, Shell.

  • Vim Config for Reading Linux Kernel Source Code
  • GNU GDB Debugger Command Cheat Sheet

技术博客

  • What a C programmer should know about memory
  • What Every Programmer Should Know About Memory
  • What Every C Programmer Should Know About Undefined Behavior part 2 part 3
  • A Guide to Undefined Behavior in C and C++
  • Software Engineering Takeaways
  • Embedsys weekly newsletter

嵌入式常见问题

  • Boot section is removed (gcc, ld, ar, as)
  • What are .axf files?

想要找到更多同类资源吗

  • awesome-c - A curated list of awesome C frameworks, libraries and software.
  • A curated list of project-based tutorials in C
  • Curated list of project-based tutorials
  • Curated list of awesome lists
  • A curated list of awesome Raspberry Pi tools, projects, images and resources
  • Curated List of Self-Driving Cars and Autonomous Vehicles Resources
  • awesome-embedded-systems
  • awesome-cheat-sheets - Awesome Cheat Sheets for Developer Utility, like Git, Vim, Tmux, Sublime Text, Markdown, Shell.
  • awesome-embedded-rust - Curated list of resources for Embedded and Low-level development in the Rust programming languague.
  • theEmbeddedNewTestament.github.io

相关书籍

  • Mastering the Raspberry Pi
  • Modern C

更多推荐

超棒的嵌入式学习资源汇总

本文发布于:2024-02-12 12:01:21,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1687709.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:嵌入式   资源

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!