Skip to content

物联网协会嵌入式软件

作者:嵌入式软件小组🤖

1.成员:

  • 负责人👾:姜蘅洋
  • 小组成员👾:陶希雅

2.嵌入式软件介绍:

2.1 什么是嵌入式软件:

  • Wikipedia👻:
    • 嵌入式系统和一般的电脑不同,是设计执行在MCU上的系统,而且在执行过程中,资源有很多限制。
    • 嵌入式软件是特别设计执行在嵌入式系统中的软件。
  • 简单理解🤔:
    • 你可以认为车载导航地图就是嵌入式软件。

img

2.2 物联网协会的嵌入式软件都做什么:

  • STM32开发🚴:
    • STM32F10xSTM32F40xSTM32F42x均作为我们的开发芯片。
    • STM32是意法半导体(STMicroelectronics,简称ST)设计的一系列以ARM® Cortex®-M为核心的32位微控制器。
    • STM32作为通用MCU,市场面对的客户不仅是消费类,更多的是工业控制,通信类客户。
      • 在数据采集、电机控制、人机交互、网络连接、USB 通信等方面具有优势。
      • 常见的应用场景有:智能制造、医疗保健、智能家居、消费电子、可穿戴设备等等。
    • 随着STM32产品的不断丰富,提供更高性能、更安全、更易于连接的MCU产品,未来在物联网领域的应用也将不断丰富。
  • ESP32开发🐒:
    • ESP32是由乐鑫公司继ESP8266后推出的又一款集成WiFi/BLE功能的微控制器。
    • img
  • 传感器、电机等外设🐺:
    • 外设的开发是嵌入式软件中最重要的一环,使用MCU的目的就是驱动各种外设。
    • 熟练地对外设进行开发需要你熟悉各种硬件级通信协议、各种控制算法以及熟练的C/C++代码能力🦊。

img

  • GUI开发🐶:
    • 采用主流的Qt5以及近期火爆的Dear ImGui
    • GUI(Graphical User Interface,图形用户界面)是指采用图形方式显示的用户操作界面。
      • 小型的嵌入式系统不同于桌面级的Windows、Linux、也不同于移动终端上的Android、IOS。
      • 小型嵌入式系统的GUI通常可能是定制的,要显示的内容比较有限,也没有复杂、丰富的应用。
      • 小型嵌入式系统的硬件平台通常是MCU,显示时没有GPU、3D渲染等硬件单元,也无法运行大型操作系统,桌面级和移动端的成熟GUI无法与其适配,也无法在这类系统上运行。

img

3.开发环境:

  • Keil MDK🐱:
    • Keil MDK是一款上世纪的STM32集成开发环境,由于比较古老(但又对STM32支持度极高),因此使用Keil MDK对代码进行编译。
  • STM32CubeMX🐈:
    • STM32CubeMX是一种图形工具,通过分步过程可以非常轻松地配置STM32微控制器和微处理器,以及为Arm® Cortex®-M内核或面向Arm® Cortex®-A内核的特定Linux®设备树生成相应的初始化C代码。
    • 这个工具主要为我们配置STM32的时钟树代码Debug代码
  • VS Code🐯:
    • 开源、免费的好东西!
    • 面向工程的代码编辑器。
  • arm-none-eabi-gcc🐅:
    • 交叉编译链,代码编译后生成的bin文件支持arm架构
  • Arduino🐴:
    • 用来开发ESP32、Arduino开发板,简单便捷,对于一些小功能非常友好。
  • Qt5x🦁:
    • 用于开发GUI。
  • Google C++ Style/Embedded C Style🐒:
    • 基于Googel C++的代码规范,基于正点原子的嵌入式C代码规范。
  • Ubuntu22.04🐎:
    • 嵌入式开发必不可少的Linux系统,协会内部GUI的开发都基于Ubuntu22.04,可以省略繁琐的环境配置。

b743f1ee-jj-in-circle

4.开发语言:

  • C/C++

Released under the MIT License.