MCU嵌入式开发-硬件和开发语言选择

这篇具有很好参考价值的文章主要介绍了MCU嵌入式开发-硬件和开发语言选择。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引入 RTOS的考虑因素

主要考虑以下方面来决定是否需要RTOS支持:

  • 需要实现高响应时的多任务处理能力
  • 需要实现实时性能要求高的任务
  • 需要完成多个复杂的并发任务

NanoFramework

具备满足工控系统实时性要求的各项功能特性。通过它提供的硬件库、线程支持、中断支持等,可以完全控制微控制器的各个外设,实现复杂的实时控制逻辑。当然,与传统的 C/C++ 开发相比,由于MANAGED代码的运行时开销,NanoFramework 的实时性表现可能略差。但对大多数工控应用来说,已经可以接受。但对于某些硬实时性要求极高的系统,Native C/C++ 开发仍可能更加合适。

NanoFramework 自身是一个运行时(Runtime),它不依赖任何RTOS。NanoFramework 本身不需要RTOS支持,但可以与主流RTOS集成,实现多任务支持, 对于需要RTOS支持的项目,NanoFramework 提供以下两种方式:

  • 使用NanoCLR,它集成了FreeRTOS,可以提供RTOS任务调度支持。
  • 使用外部RTOS,通过RTOS的HAL API与NanoFramework集成。NanoFramework支持与 FreeRTOS、MQX等主流RTOS集成。

主要考虑以下方面来决定是否需要RTOS支持:

  • 需要实现高响应时的多任务处理能力
  • 需要实现实时性能要求高的任务
  • 需要完成多个复杂的并发任务

NanoFramework 官方支持的固件镜像:

  • ChibiOS for STM32 targets,
  • FreeRTOS for NXP
  • TI-RTOS for TI targets

NanoFramework 支持的硬件包括:

  • STM32系列
  • ESP32
  • nRF51/52系列
  • Mbed NXP LPC
  • MCU的Arduino开发板等

NanoFramework 工具和教程:

https://www.cnblogs.com/MysticBoy/p/13159648.htmlhttps://www.cnblogs.com/MysticBoy/p/13153333.htmlhttps://github.com/nanoframework/nanoframework.github.io/blob/pages-source/content/architecture/index.mdhttps://www.cnblogs.com/hejiale010426/p/15798425.htmlhttps://www.cnblogs.com/hejiale010426/p/15848574.htmlhttps://blog.csdn.net/sD7O95O/article/details/128517317https://blog.csdn.net/sD7O95O/article/details/131179223https://blog.csdn.net/sD7O95O/article/details/125630690https://docs.nanoframework.net/content/building/build-stm32.htmlhttps://www.hackster.io/nanoframework

MicroPython

MicroPython 优点:

  • 通过 MicroPython 实现硬件底层的访问和控制,不需要了解底层寄存器、数据手册、厂家的库函数等,即可轻松控制硬件。
  • 外设与常用功能都有相应的模块,降低开发难度,使开发和移植变得容易和快速。
  • 通过 MicroPython 提供的库和函数,开发者可以快速控制 LED、液晶、舵机、多种传感器、SD、UART、I2C 等,实现各种功能,而不用再去研究底层硬件模块的使用方法,翻看寄存器手册。这样不但降低了开发难度,而且减少了重复开发工作,可以加快开发速度,提高开发效率。以前需要较高水平的嵌入式工程师花费数天甚至数周才能完成的功能,现在普通的嵌入式开发者用几个小时就能实现类似的功能。
  • MicroPython 代码更加简洁, 对于需要编写大量代码的项目有利。

MicroPython 适合场景:

MicroPython 比较适合工业过程控制, 使用它做工业控制系统可以降低初始和运行成本。
但对于运动控制这类精度要求较高和实时性要求较高的系统来讲, MicroPython 局限性比较明显.

  • 缺少对多线程的原生支持, 一般运动系统需要高效的多线程实现.
  • 无法实现很高的时钟频率, 而运动控制系统需要很高的测量和控制频率.
  • 运行效率较低, 而运动控制系统需要有高效的执行速度, 实时性要求较高.
  • 缺少专业的运动控制算法库.
  • 无法完全控制硬件, 而运动控制需要完全控制硬件实现PWM和ADC功能.

支持的固件

从 MicroPython 官网可以看到有非常多的板子支持,比较有名的有 stm32, esp8266, esp32, rp2040 等Https://micropython.org/download/
MicroPython兼容的类库可以在 pypi.org 官网搜索

Raspberry Pico 工具

套件购买: https://i-item.jd.com/10051366266823.html#crumb-wrap , https://i-item.jd.com/10051366266821.html#crumb-wrap
微雪有Raspberry Pico 专用的插线板
软件模拟器: https://wokwi.com/projects/new/pi-pico
微雪网站的快速入门教程: https://www.waveshare.net/wiki/Raspberry_Pi_Pico
目前全网最详细的树莓派 Pico入门指南! https://zhuanlan.zhihu.com/p/359823300

MicroPython 教程:

https://docs.micropython.org/en/latest/esp32/tutorial/pwm.htmlhttps://randomnerdtutorials.com/getting-started-thonny-micropython-python-ide-esp32-esp8266/https://randomnerdtutorials.com/projects-esp32-esp8266-micropython/https://randomnerdtutorials.com/getting-started-thonny-micropython-python-ide-esp32-esp8266/

结论

作为一个爱好者, 没有时间和精力完成太底层的系统学习, 只能选用支持快速上手的技术, 所以, 我选择Raspberry Pico+MicroPython.文章来源地址https://www.toymoban.com/news/detail-518183.html

到了这里,关于MCU嵌入式开发-硬件和开发语言选择的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 单片机/嵌入式小白教程—硬件(三)51单片机最小系统

    目录 简介 51单片机器件原理图 复位电路 供电电路 晶振电路 下载电路 最小系统原理图  更加方便的51单片机 传统51单片机最小系统包含:复位电路、供电电路、晶振电路、下载电路   其中, 第9脚(RST)为复位引脚, 第40脚(VCC)第20脚(GND)为供电引脚, 第19脚(XTAL1)第

    2024年02月08日
    浏览(69)
  • 嵌入式毕设分享 基于单片机的GSM智能快递柜设计(源码+硬件+论文)

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年04月28日
    浏览(51)
  • 嵌入式开发:单片机嵌入式Linux学习路径

    SOC(System on a Chip)的本质区别在于架构和功能。低端SOC如基于Cortex-M架构的芯片,如STM32和NXP LPC1xxx系列,不具备MMU(Memory Management Unit),适用于轻量级实时操作系统如uCOS和FreeRTOS。高端SOC如基于Cortex-A架构的芯片,如三星、高通、飞卡、全志和瑞芯微等,具备MMU,支持虚拟内

    2024年02月15日
    浏览(53)
  • 对比纯软开与嵌入式硬件开发谁更好呢?

    你的纠结和犹豫是理解的,职业选择确实是一个重要的决策。我明白你在嵌入式和软件开发之间犹豫不决的原因。让我给你提供一些建议,帮助你做出更明智的决定。最近很多小伙伴找我,说想要一些嵌入式学习资料,然后我根据自己从业十年经验,熬夜搞了几个通宵,精心

    2024年02月08日
    浏览(35)
  • 单片机、ARM、嵌入式开发、Android 底层开发有什么关系?

    从我目前的见识来看: 单片机是个系统(比如:51、AVR、PLC...),其中包含了去除了输入输出之外的运算器、控制器、存储器,我们用程序可以非常直观的控制引脚电平的高低。最近很多小伙伴找我,说想要一些ARM的资料,然后我根据自己从业十年经验,熬夜搞了几个通宵,

    2024年02月02日
    浏览(65)
  • 使用GUI Guider工具在MCU上开发嵌入式GUI应用 (1) - GUI Guider简介及安装

    受限于每篇文章最多只能贴9张图的限制,这个教程被拆分成了多篇文章连载发布,完整目录结构如下图x所示。后续会发布完整教程的pdf文件,敬请期待。 图x 完整教程文档的目录 LVGL是一个开源免费(MIT许可)的嵌入式GUI组件(https://lvgl.io/),支持触摸屏操作,移植简单方

    2024年02月13日
    浏览(58)
  • 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU硬件那些事(2.3)- 串行NOR Flash下载算法(J-Link工具篇)

    https://www.cnblogs.com/henjay724/p/13770137.html 大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是 J-Link工具下i.MXRT的串行NOR Flash下载算法设计 。 在i.MXRT硬件那些事系列之《在串行NOR Flash XIP调试原理》一文中,痞子衡简单提了一下串行NOR Flash下载算法的概念,并

    2024年02月09日
    浏览(43)
  • 【嵌入式开发学习】__扒一扒单片机串口IAP原理

    目录 一、什么是IAP? 二、串口IAP实验 1. 实验说明 2. 工程说明 IAP工程: LED工程: 3. IAP源码说明  (1)主函数: (2)主菜单函数Main_Menu (3)下载程序功能函数SerialDownload  4、下载验证 (1)下载IAP程序  (2)通过IAP程序引导下载LED程序 (* ̄︶ ̄)创作不易!期待你们的 点

    2024年02月20日
    浏览(48)
  • 探索嵌入式开发领域:单片机、ARM、Android底层的紧密联系

    作为一个曾编写ARM教程和参与Android产品开发的专家,我发现单片机、ARM、嵌入式开发和Android底层开发之间存在紧密的联系。对于那些希望在嵌入式开发领域发展的人来说,了解这些领域的知识至关重要。为了帮助你更好地学习这些内容,我总结了一些嵌入式资料,你可以在

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包