我最近切换到使用 PlatformIO 使用以下工作流程为 STM32 进行开发:
- 使用 CubeMX 实用程序创建一个 .ioc 文件
stm32pio
从命令行实用程序中的 .ioc 文件生成源代码和 PlatformIO 配置- 使用适用于 VSCode (Mac) 的 PlatformIO 插件进行编辑、构建和调试
总的来说,这非常有效。但是,我以前在 ST 的 CubeMX IDE 中使用 CubeMX 代码生成,它将一个 .s 文件放在定义 NVIC 的源目录中(据我所知),以及用于异常/中断的默认函数没有明确定义(即,由其默认的弱实现处理的那些。)我看不出这是在新工作流中定义的位置。这是作为构建过程的一部分动态生成的吗?
我问的原因是(除了希望更好地理解整个过程),我想为 EXTI0 编写一个中断处理程序,但将其作为软件中断触发,而不是为其分配引脚。如果那是不可能的,那么整个问题可能就没有实际意义了。