【AI编程】用AI开发STM32软件(1):环境配置+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写的代码一次成,没有任何问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值