嵌入式软件开发学习Ⅰ:学习路线与初步软件安装

一、嵌入式软件开发背景知识

参考资料:我在ARM板上写的第一个驱动程序

搞嵌入式有两个方向,即偏底层的硬件+稍上层的软件
一个是嵌入式硬件开发(微控制单元——Microcontroller Unit——MCU;MCU方向);另一个是嵌入式软件开发(Linux方向)。其中MCU方向基本是裸机开发和RTOS开发。而Linux开发方向又分为驱动开发和应用开发,其中应用开发相比于驱动开发来说简单一些,因为搞驱动你要和Linux内核打交道。而我们普通的单片机开发就是应用开发,和Linux开发没多大区别,单片机你去调别人写好的库,Linux应用你也是调别人的驱动程序

很多人学习的路线是:单片机到RTOS,再到Linux,这个路线其实是非常好,循序渐进。因为你学了单片机,所以你对RTOS的学习会很容易理解,单片机+RTOS在市面上也可以找到一个很好的工作。因为你学了RTOS,你会发现Linux驱动开发其实和RT-Thread的驱动程序非常像,其实RT-Thread驱动大概率可能是仿Linux驱动而写的。所以如果你现在在学RT-Thread,那么你后面去搞Linux驱动也是非常容易上手。

除了Linux系统,嵌入式开发还常用一些其他的操作系统比如RTOS、FreeRTOS、RTT等小型操作系统。

二、嵌入式软件开发学习路线

笔者制作的学习路线

三、STM32初步学习相关软件

3.1 需要下载的软件以及教程

需要下载如下的三个软件:

1、Source Insight

Source Insight 4.0安装教程(PS:附安装包及卸载重新安装等注意事项)

2、keil5

keil5安装教程

3、CubeMX

(实测可用)STM32 CubeMx安装教程

经过笔者亲身操作,在移动硬盘上下载了以上三个软件(主要是后续学习中还需要使用虚拟机,占用空间较大,所以将这些软件统一安装在一个移动硬盘中),按照教程一步一步走即可。注意在安装以上的软件中可能需要关闭杀毒软件(避免破解的过程被电脑拦截),或者在运行时使用“以管理者身份运行”。

3.2 下载软件的作用与对比

1、Source Insight

  • Source Insight是一个源代码阅读和导航工具,它提供了强大的代码浏览、查找和编辑功能。通过解析源代码文件,它可以构建代码的层次结构,并提供一系列导航功能,如跳转到定义、查看引用、查找符号等。同时,它还支持自动完成、语法高亮、代码折叠等功能,帮助开发人员更高效地阅读和修改源代码。

  • Source Insight支持多种编程语言,包括C、C++、C#、Java、Python等,可以轻松处理大型项目和复杂的代码库。它还提供了强大的搜索功能,可以快速定位关键字、函数、变量等。此外,Source Insight还支持项目管理、版本控制集成以及与外部工具的交互等功能,使得开发过程更加便捷和高效。

  • 总的来说,Source Insight是一款功能强大的源代码阅读和导航工具,适用于开发人员在日常开发中对源代码进行浏览、分析和编辑。

2、keil5

  • Keil 5是一款嵌入式开发工具,由Keil Software(现在是ARM公司的一部分)开发和维护。它是一款集成开发环境(IDE),专门用于编译、调试和程序下载嵌入式系统所需的软件。

  • Keil 5主要针对ARM架构的微控制器开发,包括Cortex-M系列和Cortex-R系列等。它支持多种编程语言,如C、C++和汇编语言,并提供了丰富的开发工具和功能,如代码编辑器、编译器、调试器、仿真器等。

  • 通过Keil 5,开发人员可以创建项目、编写代码并进行编译和调试。它提供了直观的用户界面和丰富的调试功能,使得开发人员能够方便地查看变量的值、执行代码、跟踪程序流程等。此外,Keil 5还支持与硬件设备的连接,可以通过仿真器或调试器与目标系统进行通信,并将程序下载到目标设备上进行测试和调试。

  • 总的来说,Keil 5是一款专门用于嵌入式系统开发的集成开发环境(IDE),提供了编译、调试和程序下载等功能,适用于ARM架构的微控制器开发。

3、CubeMX

  • CubeMX(CubeMX是一个Cube配置工具,可用于基于ARM Cortex-M微控制器的嵌入式应用程序开发。它由STMicroelectronics开发和维护。

  • CubeMX的主要目标是简化和加速嵌入式系统的开发过程。它提供了一个图形化界面,使开发人员可以轻松地配置微控制器的引脚、时钟、外设等参数。通过选择和配置不同的功能模块,如GPIO、UART、SPI、I2C等,开发人员可以快速生成初始化代码和配置文件。

  • CubeMX还提供了一些高级功能,如中断和DMA的配置、时序图的生成、时钟配置的优化等。它还支持导出代码到各种开发环境,如Keil、IAR、STM32CubeIDE等,方便进一步的应用程序开发和调试。

  • 总的来说,CubeMX是一个强大的嵌入式开发工具,可用于基于ARM Cortex-M微控制器的应用程序开发。它提供了图形化界面,简化了微控制器的配置过程,并生成相应的初始化代码和配置文件,加速了开发过程。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值