天南地北客
发表于: 2015-11-20 16:51:46 | 显示全部楼层

stm32cubemx-eclipse-cpp-640x330.jpg

我实现了一种快速方法能够自动将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的工程名称。

Schermata-2015-06-04-alle-08.11.57.png

下一步,我们需要配置使用的微控制器。例如。对于STM32F4,需要选择Cortex-M4内核,而对于STM32F0,需要选择Cortex-M0内核。时钟配置、Flash大小以及RAM参数取决于使用的MCU。对于STM32F401RE,你可以使用和下图相同的值。设置其他的选项,如下所示

Schermata-2015-06-04-alle-08.14.12.png

如果你使用的是Nucleo,这张从我的书中摘录下来的表格显示了所有Nucleo板的正确的值。

ch4-table-nucleo-specs-1024x735.png

在接下来的步骤不更改所有的参数,直到最后一步:Vendor CMSIS name。如果你使用的是基于STM32F4的板子,那么将DEVICE改成stm32f4xx,如果基于F1的板子,则改成stm32f1xx,等等。请一定使用这个型号,否则脚本根本不起作用。

Schermata-2015-06-04-alle-08.24.02.png

点击“Next”。在接下来的步骤,可以使用默认参数。一段时间后,Eclipse会为你生成一个新的工程。现在,在Project Explorer视图中的工程上点击,然后点击“Close Project”项。

现在,使用CubeMX工具,根据需要配置MCU。完成后,点击Project->Generate code菜单。在Project Settings对话框输入你想要的项目名称,然后选择存储该工程的输出目录。在这里。我们假设CubeMX的工程名称是“mymcu”。选择SW4STM32作为工具链(IDE)(这个是很重要的,千万不要跳过此步骤),并生成代码。

最后,通过使用我做的工具,你可以轻松地在终端提示栏输入以下命令:

  1. $ python cubemximporter.py <path-to-eclipse-workspace>/test5 <path-to-cubemx-out>/mymcu
复制代码

完成后,在Eclipse中打开“test1”工程。在工程名上点击鼠标右键,选择“Refresh”(这将强制扫描源代码的树,因为当Eclipse工程关闭时,它已经发生改变了)。完成。

不要忘记更新mem.ld文件,将FLASH起始地址从0x00000000修改到0x08000000。

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 37 | 回复: 55



手机版|

GMT+8, 2024-4-18 09:23 , Processed in 0.133937 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表