嵌入式知识总汇

本文全面概述了嵌入式工程师所需的核心硬件组件、控制器类型、处理器、微控制器、MPU、FPGA、电源管理等知识,并详细介绍了各种传感器、执行器、通信协议及软件编程技术。涵盖了从基础硬件到高级软件开发的完整流程,旨在为嵌入式领域的开发者提供一站式解决方案。

https://github.com/phodal/eks

嵌入式知识总汇

PS: 初稿,欢迎提供意见和建议

  • 嵌入式工程师
    • 硬件核心(Hardware Core)
      • Controller(控制器)
        • CPU
          • AMD x86 x64
          • Intel x86 x64
        • MCU
          • MCS-51
          • HCS12
          • AVR XMEGA
          • ESP
          • Coldfire
          • ARM
          • STM32
          • FreeScale K60 K40
          • PIC32 PIC12/14/16
          • TM4C123 TM4C129X
          • Stellaris lm4f120
          • CC3200
          • Renesas R-Car Boards
          • MIPS Creator CI20
        • MPU
        • SOC
          • OMAP
          • BCM2835(Raspberry Pi A+、B、B+)
          • BCM2836(Raspberry Pi 2B)
        • CPLD
          • Altera EPM7128S
          • Lattice LC4128V
          • Xilinx XC9500
        • FPGA
          • Altera Cyclone
          • Lattice MachXO2 MachXO3
        • PowerPC
          • MPC505、821、850、860、8240、8245
          • QUICC ⅡMPC826
          • QUICC Ⅲ MPC8560
        • DSC
          • TMS320F28x
          • MC56 F83x
        • MIPS
      • Actuator(执行器)
        • 直流电机
          • 有刷直流电机
          • 无刷直流电机
        • 交流电机
          • 单相电机
          • 三相电机
        • 步进电机
        • 直线电机
        • 舵机
        • 伺服电机
      • Sensor(传感器)
        • RIP(人体红外)
        • Temperature(温度)
        • humidity sensor(湿度传感器)
        • geomagnetic sensor(地磁传感器)
        • acceleration transducer(加速度传感器)
        • optoelectronic switch (光电开关)
        • pneumatic sensor (气流传感器)
        • current sensor (电流传感器)
        • soil sensor (土壤传感器)
        • llumination sensor (光照传感器)
        • laser sensor (激光传感器)
        • Motion(运动)
        • 电压传感器
        • three-axis gyroscope(三轴陀螺仪)
        • Camera 感光元件(图像传感器)
        • baroceptor(气压传感器)
        • gas sensor(气敏传感器)
        • Dust concentration sensor(粉尘浓度传感器)PM2.5
        • Water level sensor(水位传感器)
        • Pulse sensor(脉搏传感器)
        • EEG sensor(脑皮质电位传感器)
        • Flex Sensor (弯曲传感器)
        • Atmospheric Pressure Sensor (气压传感器)
    • Electronic Component(电子元件)
      • 电容
      • 保护装置
      • 端子与连接器
      • 电线
      • 开关
        • Switch
        • Keypad
        • Relay
      • 电阻
        • Thermistor (热敏电阻)
        • Varistor(压敏电阻)
        • Photosensitive resistance(光敏电阻)
      • 电磁感应装置
      • network
        • 电阻排
      • 忆阻器
      • 压电装置、晶体谐振器
      • 电源
      • 二极管
      • 晶体管
    • MCU/CPU/DSP/SOC peripherals
      • ADC / DAC
      • RTC
      • Timer / Watchdog Timer (定时器)
      • Flash / NAND Flash
      • ROM / EEPROM
      • RAM
        • SDRAM
        • DDR1 DDR2 DDR3 DDR4
      • Cache
      • PWM
      • I/O / GPIO
      • UART
      • Modem
      • DTMF
      • CAN
      • SPI
      • I2C
      • IEEE
      • CRC
      • Interrupt (中断)
    • Communication(通信)
      • 硬件间无线通信
        • Bluetooth
        • Xbee / Zigbee
        • Z-Wave
        • 6LoWPAN
        • NFC
        • Wifi
        • Radio
        • IR (红外)
        • 802.11
        • Sub-GHZ 1Ghz以下RF
      • 硬件通信
        • UART
        • I2C
        • RS232C/RS485
        • HDLC
        • SPI/SCI/SI
        • CAN
        • USB
        • FireWire
        • 1-wire
      • 网络协议
        • HTTP
        • CoAP
        • MQTT
        • XMPP
        • WebSocket
        • UDP
        • TCP
    • 软件编程
      • Common
        • ISR
        • Driver
        • DMA
        • I2C
      • OS
        • uCOS
        • Contiki
        • TinyOS
        • VXWorks
        • FreeRTOS
        • mbed OS
        • emOS
        • Salvo
        • MQX
        • RIOT
        • rt-thread
        • Linux
          • uCLinux
          • openWRT
        • Windows
          • Windows CE
          • Windows 10 IoT Core
      • non-OS
        • LwIP
    • 电路
      • 基础
        • 焊电路
        • 模拟电路
        • 数字电路
      • PCB设计
        • 设计工具
          • EAGLE
          • Cadence
          • Protel
          • Altium
          • Mentor
          • Kicad
          • gEAD
          • ZUKEN
          • PADS
          • FreePCB
          • Fritzing
          • PCBmodE
        • 布线/布线
      • 电路仿真
        • 原理仿真软件
          • Multisim
          • Proteus
          • Pspice
        • 信号仿真软件
          • ADS
          • HFSS
          • HyperLynx
          • Sigrity
          • MATLAB

OTHERS

  1. Idea came from Qiu Juntao(ps:《JavaScript核心概念及实践》、《轻量级Web应用开发》、《3周3Web设计》、《Fun with underscore.js》的作者).

  2. Thanks To JacksonTian & 前端技能汇总

内容贡献者

感谢以下的内容贡献者们,结果由git-summary生成

project  : eks
repo age : 8 days
active   : 5 days
commits  : 26
files    : 1
authors  :
  22  Fengda HUANG  86.7%
   3  WangXB        10.0%
   1  yangquan      3.3%

嵌入式领域包含众多方面的知识点,以下从硬件、软件、开发工具等方面进行汇总: ### 硬件基础 - **数字电路**:了解数字逻辑、门电路、组合逻辑电路和时序逻辑电路等知识,能够进行简单的电路设计和分析。例如,设计一个简单的计数器电路,需要掌握触发器、时钟信号等概念。 - **模拟电路**:包括基本的电子元件(电阻、电容、电感等)的特性,以及放大电路、滤波电路等的原理和设计。在设计音频放大器时,就需要运用模拟电路的知识。 - **单片机原理**:熟悉常见单片机(如 51 单片机、STM32 等)的架构、引脚功能、寄存器配置等。以 STM32 为例,要掌握其 GPIO 口的使用、定时器的配置等。 ```c // 以 STM32 点亮 LED 为例 #include "stm32f10x.h" int main(void) { GPIO_InitTypeDef GPIO_InitStructure; // 使能 GPIOC 时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); // 配置 PC13 为推挽输出 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOC, &GPIO_InitStructure); while (1) { // 点亮 LED GPIO_ResetBits(GPIOC, GPIO_Pin_13); } } ``` ### 操作系统 - **实时操作系统(RTOS)**:了解 RTOS 的基本概念,如任务调度、任务间通信、中断管理等。常见的 RTOS 有 FreeRTOS、uC/OS 等。 ```c // FreeRTOS 创建任务示例 #include "FreeRTOS.h" #include "task.h" void vTaskFunction( void *pvParameters ) { for( ;; ) { // 任务代码 } } int main( void ) { xTaskCreate( vTaskFunction, "Task", 1000, NULL, 1, NULL ); vTaskStartScheduler(); for( ;; ); } ``` - **Linux 操作系统**:掌握 Linux 的基本操作、文件系统、进程管理等。在嵌入式 Linux 开发中,还需要了解内核裁剪、驱动开发等知识。 ### 编程语言 - **C 语言**:嵌入式开发中最常用的语言,需要掌握其基本语法、指针、结构体、文件操作等。 ```c // C 语言实现冒泡排序 #include <stdio.h> void bubble_sort(int arr[], int n) { int i, j, temp; for (i = 0; i < n - 1; i++) { for (j = 0; j < n - i - 1; j++) { if (arr[j] > arr[j + 1]) { temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } int main() { int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]); bubble_sort(arr, n); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } return 0; } ``` - **汇编语言**:了解汇编语言的基本指令集,能够进行简单的汇编程序编写,用于对硬件的底层操作。 ### 通信协议 - **UART**:通用异步收发传输器,是一种常见的串行通信协议,用于设备之间的通信。 - **SPI**:串行外设接口,具有高速、全双工的特点,常用于连接外部设备,如 Flash 芯片、传感器等。 - **I2C**:两线式串行总线,用于连接低速设备,如 EEPROM、传感器等。 ### 开发工具 - **编译器**:如 GCC、Keil 等,用于将源代码编译成可执行文件。 - **调试工具**:JTAG、SWD 等调试接口,以及相应的调试器,用于程序的调试和硬件的测试。 ### 驱动开发 - **字符设备驱动**:掌握字符设备驱动的开发流程,包括设备的注册、文件操作函数的实现等。 - **块设备驱动**:了解块设备驱动的特点和开发方法,如硬盘、SD 卡等设备的驱动开发。 ### 算法与数据结构 - **排序算法**:如冒泡排序、快速排序、插入排序等。 - **数据结构**:掌握链表、栈、队列、树等基本数据结构的实现和应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值