随着嵌入式系统的应用范围越来越广,越来越多的开发者开始关注嵌入式系统的开发。嵌入式系统作为一种特殊的计算机系统,在处理器、存储器、接口等方面都有其自身的特点,因此在开发嵌入式系统时需要选择一种特定的开发工具。Cubemx作为一款十分优秀的嵌入式开发工具,拥有操作简便、功能强大等众多优点,在Linux平台上也可以非常方便地进行应用。本文将对如何在Linux平台下使用Cubemx进行快速嵌入式开发进行详细的介绍。
一、Cubemx的功能介绍
Cubemx是一款由意法半导体公司开发的用于嵌入式系统开发的工具,它的主要作用是通过可视化配置的方式,帮助开发者正确快速地生成代码,省去了手动编写软件代码的步骤,大大提高了开发效率。Cubemx可以支持大量的嵌入式STM32芯片平台,它包括了对芯片的驱动库、RTOS支持、绑定器支持、调试支持等多种功能。
Cubemx能够方便地创建嵌入式工程,实现底层驱动和应用程序的快速开发。在使用Cubemx时可以进行软件和硬件的配置,支持多种的芯片设计和外围设备的操作。通过Cubemx工具,可以简化嵌入式开发的流程,从而提高开发效率。
二、Cubemx的安装
在Linux下使用Cubemx还需要先进行安装。需要从意法半导体公司的官网上下载Cubemx的安装包。在官网下载后,将Cubemx的安装包解压到本地硬盘的某个文件夹中。然后,根据操作系统的不同,可以选择将其添加到PATH环境变量中,以便在终端中快速启动。
三、Cubemx的使用
接下来,我们将介绍如何使用Cubemx进行嵌入式开发。
1.新建工程
打开Cubemx工具,选择File -> New Project。然后选择你需要的芯片,选择生成代码的文件夹路径,自动生成并打开一个新的工程。
2.Cube中的主界面和功能区
打开Cubemx的主界面后,我们可以看到移植平台、CLK设置器、GPIO设置器等功能块。选择你需要的功能块,然后在属性列表中进行相应的配置即可。
3.生成初始化代码
在配置完成之后,点击工程左上角的生成按钮(Generate code),将自动生成一份初始化代码。这些代码包括GPIO初始化、clock初始化、中断初始化等等,可以大大简化我们的开发过程。生成的代码将存放在工程目录的一个新的文件夹中。
4.代码导出
点击右上角的Project Manager图标,在“File Operations”标签页下,选择“Export”选项,将代码生成为一个独立的文件,供其他编程环境使用。
通过以上几个步骤,我们就可以使用Cubemx进行快速嵌入式开发了。特别是在Linux平台下,我们可以充分利用Cubemx的强大功能和优势,大大提高开发效率,为我们的嵌入式开发带来了无限的便利。
相关问题拓展阅读:
- 为什么cubemx只支持7级优先级
为什么cubemx只支持7级优先级
1.新建工程
打开STM32cubeMX软件,点击New Project。选择对应开板MCU(STM32F103ZET6)。
选择工程后进入工程界面,如下图所示。
2. 配置外设。
RCC设置,选择HSE(外部高速时钟)为Crystal/Ceramic Resonator(晶振/陶瓷谐振器)
GPIO口功能选择,PF6,PF7,PF8,PF9为LED1-LED4.找到对应管脚设置为GPIO_Output模式。(黄色引脚为该功能的GPIO已被用作其他功能,可以忽略。绿色表示管脚已使用雹厅)
3. 时钟配置
时钟配置采用图形配置,直观简单。各个外设时钟一目了然。STM32更高时钟为72M,此处只有在HCLK处输入72,软件即可自动配置。(RCC选择外部高速时钟)。
4.功能外设配置
在配置框我们可以看到有几个区域,分别对应的功能设置如下
Multimedia(多媒体):音频视频、LCD
Control(控制):定时器
Analog(模拟):DAC、ADC
Connectivity(通讯连接):串口、SPI 、I2C、USB、ETH
SYStem(系统):DMA(直接存储器存取)、GPIO、NVIC、RCC、看门狗
middlewares(中间件): FreeRTOS、FATFS、LwIP、USB
此工程中DMA没用的不用配置,NVIC(嵌套中断向量控制器(Nested Vectored Interrupt Controller))配置中断优先级。RCC不用配置。
GPIO Pin Level (管脚状态):低电平
GPIO mode (管脚模式 ):推挽输出
Maximum output speed (更大输出速度):低速
User Label (用户标签):LED1
更改用户标签,管脚配置图会显示管脚的标签。
4. 功耗计算
这个根据配置的外设计算功耗,不用理会。
5. 生成工程报告
点击Project –>Generate Reports或者点击快捷图标生成报告。系统会提示先创建一个工程项目。点击Yes设置工程。
输入工程名,选择工程路径(注意不要出现中文,否则可能出错)。工具链/IDE选择MDK-ARM V5。最后面可以设置堆栈大小,此处默认不作修改。
在Code Generator中找到Generated files框,勾选Generated periphera initialization as a pair of ‘.c/.h’ files per IP。外设初始化为独立的C文件和头文件。
点击生成报告,工程目录下会生成txt文件和pdf文件,里面记录了我们刚才的设置。
6. 生成工程代码
点击Project –>Generate Code或者点击快捷图标生成工程代码。
点击Open Project打开工程。到此就配置好工程外设初始化。
点击Build按钮,Build Optput信息框会输出没有错误没有警告。
6. 添加应用程序
在gpio.c文件中可以看到LED管脚的初始化函数。
在stm32f1xx_hal_gpio.h头文件中可以看到GPIO的操作函数。
在main函数中的while循环中添加LED流水灯效果的应用程序。
重新编译程序,点击下载到Open103Z-C开发板。如果提示错误,可以点击图标对Option for Target 的Dubug选答肆扒项进行修改。(图上选的是ST-LINK)
点击Settings->Flash Download勾选 Reset and Run选项。这样程序下载后自动启动运行,不用再按一下复位或者重新上电才能运行。
程序下载到Open103Z-C开发板。可以看到LED1~LED4依次被点亮,实现流水灯的效果。
总结:STM32Cube提供了固件库,用户可直接调用固件库函数来开发,并且可以很好的实现STM32-MCU全系列的代码一致性。同时STM32CubeMX工具提供的可视化引脚、外设、时钟等配置功能,可以帮助快速完成工清昌程的建立、初始化。大大降低了开发者的工作量。
后续我们会结合微雪Open746I-C开发板,通过STM32cubeMX系列教程讲解如何学习STM32F7系列的片上外设。通过STM32F7系列的学习,可以让各位更快的掌握其他系列的使用方法。
附上出处链接:
关于linux cubemx的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。