打印
[APM32F4]

【APM32F411测评】使用STM32 Cube全家桶开发APM32F4

[复制链接]
2006|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Peixu|  楼主 | 2023-9-25 21:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Peixu 于 2023-9-25 21:40 编辑

#申请原创#@21小跑堂
APM32F411是最近新推出的一款通用MCU,与同类型STM32F411 pintopin兼容,SDK兼容,无缝衔接,可以把PCB中的STM32直接替换掉,如图下所示。

那么就在想硬件上可以做到pintopin兼容,那么软件上开发是否也能做到兼容呢?
下面就来使用STM32 Cube全家桶做实验,使用到的开发软件有STM32CubeMX、STM32CubeIDE、STM32CubeProgrammer以及ST在VSCODE的官方扩展“STM32 VS Code Extension”。
一、使用STM32CubeMX初始化配置代码
1、选择芯片型号,创建工程

2、选择水晶/陶瓷谐振器作为外部高速时钟源

3、系统模式与配置的Debug选择SerialWire

4、修改主频为100MHz

5、配置2个LED,这里使用了PE5和PE6

6、IDE选择STM32CubeIDE,然后添加“GENERATECODE”生成代码

二、使用STM32CubeIDE编写代码
1、用STM32 CubeIDE打开由STM32 CubeMX生成的工程,写个简单的闪烁灯程序

2、点击 后编译
3、点击菜单栏->Run->Run Configurations..,配置调试器,我这里用的是ST-LINK
4、运行如下

三、使用STM32CubeProgrammer编写代码,这里使用ST-LINK进行连接,成功建立连接并可正常读取数据。

四、使用ST在VSCODE的官方扩展“STM32 VS Code Extension”
1、导入之前创建的CudeIDE工程,在此之前请安装好C和Cmake的扩展

2、如果提示“Could not find an STM32CubeIDE installation.”,在gcc-arm-none-eabi.cmake中修改“TOOLCHAIN_DIRECTORIES”变量

3、编译

4、打开JLinkGDBServer工具,选择目标设备,GDBport默认是2331的,估计是我防火墙的问题,这里我偷下懒,直接用888端口,发现能用,就不修改防火墙啦,配置如下:

5、可以发现GDBServer正在等待连接了,说明J-LINK正常运行,TCP端口888处于监听状态,正等待GDB的连接

6、修改在VSCODE的launch.json文件
"miDebuggerPath": "D:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/arm-none-eabi-gdb.exe",
"miDebuggerServerAddress": "localhost:888",
// "debugServerPath": "D:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.stlink-gdb-server.win32_2.1.0.202305091550/tools/bin/ST-LINK_gdbserver.exe",
// "debugServerArgs": "--stm32cubeprogrammer-path ${command:vscode-embedded.st.cubeprogrammer} --swd --port-number 3333",

miDebuggerPath是调试程序(如 gdb)的路径,miDebuggerServerAddress是要连接到调试程序服务器地址,因为GDBServer已经被打开了,所以注释掉debugServerPath和debugServerArgs
7、后来发现每次调试都要打开SEGGER J-LINK GDB Server,很不方便,经过一番折腾后,再次修改launch.json,J-Link GDB Server CL是 GDB Server 的仅命令行版本,这样VSCODE自动帮我们打开gdbserver,省去了繁琐的操作。
"miDebuggerPath": "D:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.11.3.rel1.win32_1.1.0.202305231506/tools/bin/arm-none-eabi-gdb.exe",
"miDebuggerServerAddress": "localhost:888",
"debugServerPath": "D:/ST/STM32CubeIDE_1.13.1/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.jlink.win32_2.2.0.202305091550/tools/bin/JLinkGDBServerCL.exe",
"debugServerArgs": "-port 888 -s -device STM32F411VE -endian little -speed 4000 -if swd -vd",
// "serverStarted": "Waiting for connection on port .*\\.\\.\\.",
8、运行调试

总的来说,STM32CubeProgrammer、STM32CubeMX、STM32CubeIDE以及STM32在VSCODE的官方扩展“STM32 VS Code Extension”都可以用于APM32开发。



使用特权

评论回复
评论
forgot 2023-10-12 11:47 回复TA
赞,来学习一下! 
沙发
chenjun89| | 2023-10-17 07:53 | 只看该作者
能够完全兼容吗?

使用特权

评论回复
评论
MAA256 2023-10-31 08:47 回复TA
这就要看极海的地址与对应STM32的地址一样不 
板凳
zhjb1| | 2024-4-26 15:43 | 只看该作者
学习了,谢谢

使用特权

评论回复
地板
丙丁先生| | 2024-5-1 17:01 | 只看该作者
Keil多小啊!

使用特权

评论回复
5
丙丁先生| | 2024-5-1 17:02 | 只看该作者
j link 多贵啊!

使用特权

评论回复
6
丙丁先生| | 2024-5-1 17:03 | 只看该作者
j link 多贵啊!

使用特权

评论回复
7
stb988| | 2024-5-8 10:06 | 只看该作者
我试了,Keil连接不上啊!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

48

帖子

0

粉丝