【AI编程实践】STM32软件开发的AI环境配置指南:LED闪烁初体验

        现在AI编程这么火,不拿来开发嵌软也太可惜了。笔者最近刚好有个2学分的实践课,要自己做项目,这不,机会就来了。笔者特意记录下来其过程,以供大家学习和参考。使用:VSCode+Copilot+EIDE+STM32CubeMX,单片机用最经典的stm32f103c8t6+STLink。

1.安装所需环境

        下载EIDE,可能会弹出安装net6,安装即可。

        下载Cortex-Debug,用于调试。

        访问Arm GNU Toolchain Downloads – Arm Developer下载arm-gnu-toolchain-14.2.rel1-mingw-w64-x86_64-arm-none-eabi(按自己的操作系统来,我是win11)。

2.配置EIDE

        点击左侧工具栏。

        点击打开插件设置。

        前面三个分别填写,keil安装目录下的ARMCC文件夹路径、ARMCLANG文件路径,以及刚刚安装的文件路径,参考图片。

        下拉找到 EIDE.ARM.Option: Axf To Elf,打勾。

        点击安装实用工具,会弹出窗口。

        安装图片中打钩的工具,直接点击就可以安装了。如果使用JLink还需要安装JLink(v6.90),我一般习惯用stlink。

3.工程开发

        我需要做的课设,题目是基于香橙派与STM32的智能视觉追踪与避障小车,将由我个人完成。stm32的功能非常简单,就是usart与香橙派通信,i2c与已经嵌入相应程序的stc8通信,然后一堆gpio控制杂七八啦的东西。其实完全没必要有这块stm32,但为了显得高级,骗点分数,还是加上了。老师已提供车模底盘和参考例程,但是纯python。我打算用此课设,练习如何使用ai编写嵌入式。

        首先建立一个CubeMX工程,配置好相关引脚。

        正常保存为keil文件。

        点击导入项目。

        选择MDK,ARM,导入你的keil文件,.uvprojx。(没想到iar也行,C51也可以。)

        导入后,可以在如下目录下找到main文件。

        找到烧录配置选项,点击

        换成stlink。

        点击编译

        可以看到,现在工程已经编译成功了。

        点击下载

选项,将stm32用stlink连接电脑,烧录成功。下面用ai写代码即可。

        为了方便,可以把../Core加入文件夹里。

4.利用AI编写代码

        打开copilot,新版vscode自带,没有的话去扩展下载,直接输入提示词即可。注意需要选择COPILOT编辑。

        输入提示词,可以看到,AI已经写完了代码。注意AI写的代码的位置,需要正确保存在core\inc与core\src,这一步可能需要手动来完成。

        附上AI写的代码,可以看到还是相当标准的。

#ifndef __LED_H
#define __LED_H

#include "main.h"

/* LED控制函数原型 */
void LED_Init(void);
void LED_Toggle(void);
void LED_On(void);
void LED_Off(void);

#endif /* __LED_H */
#include "led.h"

/**
 * @brief  初始化LED
 * @retval None
 */
void LED_Init(void)
{
    /* LED初始化在GPIO_Init中已完成,此处无需额外操作 */
}

/**
 * @brief  切换LED状态
 * @retval None
 */
void LED_Toggle(void)
{
    HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
}

/**
 * @brief  打开LED
 * @retval None
 */
void LED_On(void)
{
    HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET); // 假设低电平点亮
}

/**
 * @brief  关闭LED
 * @retval None
 */
void LED_Off(void)
{
    HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET); // 假设高电平熄灭
}

        编译,烧录即可。

5.调试

        右键主工程,选择openocd。

        按照自己使用的设备来配置。

        新建后可以在调试按钮这里找到,选择后运行,就可以进入debug界面。

        能轻松地监视变量,查看堆栈,逐步运行,打断点,个人感觉比keil好用不少。

        AI写的代码一次成,没有任何问题。

作者:菜菜why

物联沃分享整理
物联沃-IOTWORD物联网 » 【AI编程实践】STM32软件开发的AI环境配置指南:LED闪烁初体验

发表回复