前言

已然AI时代已经来临,AI生成代码,泛阅项目,回答问题等等能力对嵌入式开发都有极大的效率提升,so,我们在cursor里把开发环境搭建起来,此搭建并非彼搭建,其实仅仅就是为了更方便的利用cursor的能力,比如编码能力,理解大规模上下文的能力,回答问题的能力,泛阅项目概要的能力
那么我们讲的直白一点就是让代码不爆红,ctrl+点击可以跳转,即可,仅仅这两项能力就够了。而编译,设置等能力还是交给mdk,正常编码的情况下可能是keil和cursor要同时打开,keil用于编译,下载,cursor用于编码,下面我们进入正题

必要插件安装

clangd,把它看作vscode里的c++插件,它可以让我们能跳转定义,包含头文件路径,代码补全(几乎用不上,因为我们已经使用AI写了),安装完成以后呢,我们就自动具备这些能力了
在这里插入图片描述

插件配置

在根目录下创建compile_commands.json的文件夹,里面的内容填入自己对应的路径即可,或者直接让cursor生成,就把我博客里的复制给cursor,然后让他模仿这个配置,生成以后重启clangd服务,具体怎么重启都可以问AI

[
  {
    "directory": "E:/Project/P1/F103_CREATE",
    "command": "arm-none-eabi-gcc -xc -std=c11 --target=arm-none-eabi -mcpu=cortex-m3 -mthumb -c -I./Core/Inc -I./Core/Src -I./Drivers/STM32F1xx_HAL_Driver/Inc -I./Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I./Drivers/STM32F1xx_HAL_Driver/Src -I./Drivers/CMSIS/Device/ST/STM32F1xx/Include -I./Drivers/CMSIS/Include -DUSE_HAL_DRIVER -DSTM32F103xE -DHAL_UART_MODULE_ENABLED -DHAL_DMA_MODULE_ENABLED -DHAL_SPI_MODULE_ENABLED -DHAL_GPIO_MODULE_ENABLED -DHAL_CORTEX_MODULE_ENABLED -DHAL_FLASH_MODULE_ENABLED -DHAL_EXTI_MODULE_ENABLED -DHAL_PWR_MODULE_ENABLED -DHAL_RCC_MODULE_ENABLED -ffunction-sections -fdata-sections -fno-strict-aliasing -fno-common -fmessage-length=0 -Wno-unknown-attributes -Wno-pragma-pack -o main.o Core/Src/main.c",
    "file": "Core/Src/main.c"
  },
  {
    "directory": "E:/Project/P1/F103_CREATE",
    "command": "arm-none-eabi-gcc -xc -std=c11 --target=arm-none-eabi -mcpu=cortex-m3 -mthumb -c -I./Core/Inc -I./Core/Src -I./Drivers/STM32F1xx_HAL_Driver/Inc -I./Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I./Drivers/STM32F1xx_HAL_Driver/Src -I./Drivers/CMSIS/Device/ST/STM32F1xx/Include -I./Drivers/CMSIS/Include -DUSE_HAL_DRIVER -DSTM32F103xE -DHAL_UART_MODULE_ENABLED -DHAL_DMA_MODULE_ENABLED -DHAL_SPI_MODULE_ENABLED -DHAL_GPIO_MODULE_ENABLED -DHAL_CORTEX_MODULE_ENABLED -DHAL_FLASH_MODULE_ENABLED -DHAL_EXTI_MODULE_ENABLED -DHAL_PWR_MODULE_ENABLED -DHAL_RCC_MODULE_ENABLED -ffunction-sections -fdata-sections -fno-strict-aliasing -fno-common -fmessage-length=0 -Wno-unknown-attributes -Wno-pragma-pack -o usart.o Core/Src/usart.c",
    "file": "Core/Src/usart.c"
  },
  {
    "directory": "E:/Project/P1/F103_CREATE",
    "command": "arm-none-eabi-gcc -xc -std=c11 --target=arm-none-eabi -mcpu=cortex-m3 -mthumb -c -I./Core/Inc -I./Core/Src -I./Drivers/STM32F1xx_HAL_Driver/Inc -I./Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I./Drivers/STM32F1xx_HAL_Driver/Src -I./Drivers/CMSIS/Device/ST/STM32F1xx/Include -I./Drivers/CMSIS/Include -DUSE_HAL_DRIVER -DSTM32F103xE -DHAL_UART_MODULE_ENABLED -DHAL_DMA_MODULE_ENABLED -DHAL_SPI_MODULE_ENABLED -DHAL_GPIO_MODULE_ENABLED -DHAL_CORTEX_MODULE_ENABLED -DHAL_FLASH_MODULE_ENABLED -DHAL_EXTI_MODULE_ENABLED -DHAL_PWR_MODULE_ENABLED -DHAL_RCC_MODULE_ENABLED -ffunction-sections -fdata-sections -fno-strict-aliasing -fno-common -fmessage-length=0 -Wno-unknown-attributes -Wno-pragma-pack -o max7219.o Core/Src/max7219.c",
    "file": "Core/Src/max7219.c"
  }
]


打开项目

结合上文,我们使用stm32cubeMX生成了项目,我们直接使用cursor打开文件夹即可,然后就可以使用对话框让cursor做任何你能想得到的事情,包括理解整个项目,操作本地文件。

在这里插入图片描述

编译,下载

编译和下载我们还是使用keil来做
在这里插入图片描述

最后我们就可以使用cursor的AI能力了

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐