|
我实现了一种快速方法能够自动将STM32CubeMX工程导入到Eclipse,该方法基于GNU ARM插件。 我实现了一个最基本的python脚本,可以将使用SW4STM32工具链的STM32CubeMX工程转换成使用GNU ARM插件生成的工程。该脚本可以从我的github账户下载。让我们来看看它是如何工作的。 首先,我们需要使用GNU ARM插件生成一个新的Eclipse工程。转到File->New->C Project,然后选择Hello World ARM Cortex-M C/C++ project。可以使用你想要的工程名称。点击“Next”。这里,我们假设使用“test1”作为Eclipse的工程名称。
下一步,我们需要配置使用的微控制器。例如。对于STM32F4,需要选择Cortex-M4内核,而对于STM32F0,需要选择Cortex-M0内核。时钟配置、Flash大小以及RAM参数取决于使用的MCU。对于STM32F401RE,你可以使用和下图相同的值。设置其他的选项,如下所示:
如果你使用的是Nucleo,这张从我的书中摘录下来的表格显示了所有Nucleo板的正确的值。
在接下来的步骤不更改所有的参数,直到最后一步:Vendor CMSIS name。如果你使用的是基于STM32F4的板子,那么将DEVICE改成stm32f4xx,如果基于F1的板子,则改成stm32f1xx,等等。请一定使用这个型号,否则脚本根本不起作用。
点击“Next”。在接下来的步骤,可以使用默认参数。一段时间后,Eclipse会为你生成一个新的工程。现在,在Project Explorer视图中的工程上点击,然后点击“Close Project”项。 现在,使用CubeMX工具,根据需要配置MCU。完成后,点击Project->Generate code菜单。在Project Settings对话框输入你想要的项目名称,然后选择存储该工程的输出目录。在这里。我们假设CubeMX的工程名称是“mymcu”。选择SW4STM32作为工具链(IDE)(这个是很重要的,千万不要跳过此步骤),并生成代码。 最后,通过使用我做的工具,你可以轻松地在终端提示栏输入以下命令: - $ python cubemximporter.py <path-to-eclipse-workspace>/test5 <path-to-cubemx-out>/mymcu
复制代码完成后,在Eclipse中打开“test1”工程。在工程名上点击鼠标右键,选择“Refresh”(这将强制扫描源代码的树,因为当Eclipse工程关闭时,它已经发生改变了)。完成。 不要忘记更新mem.ld文件,将FLASH起始地址从0x00000000修改到0x08000000。 |