前言
今天又又又尝试了…还好最终下进去了程序…尽管过程一点都不完美…也足够欣喜一下的…
安装Java JDK / STM32CubeMX / HAL Firmware Package
先 下载STM32CubeMX, 下面的Get Software. 需要注册一个ST的帐号, 文件名en.stm32cubemx.zip, 下载完自动解压到当前文件夹, 有以下文件:
同时需要下载 Java JDK :
下载完成后, 先安装Java JDK.
从浏览器直接下载的程序很可能会弹出 macOS的安全警告, 系统偏好设置->安全性与隐私->仍要打开 就可以了.
然后我试着双击SetupSTM32CubeMX-4.23.0, 闪一下就没有反应了, 不要方:
SetupSTM32CubeMX-4.23.0右键->显示包内容->Contents->MacOs->双击SetupSTM32CubeMX-4_23_0_macos, 会弹出macOS的终端, 之后自动打开:
一步步往下装就好了, 最后有一个Generate an antomatic installation script, 点一下, 确定即可.
接下来安装HAL固件包, 打开STM32CubeMX->Help->Install New Libraries. 这里我安装了常用的F4, F2, F1, F0的固件包, 个装库的过程有时候是欢快的, 有时候却伴有中断的痛苦…
安装SW4STM32(OpenSTM32) / ARM Toolchain
下载OpenSTM32, 需要注册一个此网站的帐号, 文件名install_sw4stm32_macos_64bits-v2.3.run:
这个.run下载完后默认双击是不能运行的, 官方给出了解决办法:
打开macOS的终端, 切换到.run文件所在的目录输入命令:
chmod 755 install_sw4stm32_macos_64bits-v2.3.run
./install_sw4stm32_macos_64bits-v2.3.run
如下:
之后一步步安装就可以了, 中间有一个STLinkServer的选项, 勾上, 安装的时候终端界面可能会需要输入密码:
输入密码后, 安装也就基本完成了, 名字是SystemWorkbench.
打开装好的 SystemWorkbench, 先选择一个文件夹作为工作空间:
然后, 会自动安装ARM工具链:
参考这个链接来看STM32CubeMX与 System Workbench for STM32的配合使用:
Importing a STCubeMX generated project.
ST-Link V2驱动与工具安装
上个步骤我们下载了ST-Link的驱动, 实用程序->Ac6->stlinkserver->双击stlinkserver_install.sh(不能运行也可以双击st-stlink-server.1.0.6-1.pkg安装).
当然, 也可以去ST官网 下ST-Link驱动.
ST官方也提供了ST-Link的图形化下载工具STM32CubeProgrammer, 下载完成解压后双击 SetupSTM32CubeProgrammer-1.0.0.app 安装(需要系统偏好设置->安全性与隐私->仍要打开), 又是一个双击没反应的, 继续右键->显示包内容->Contents->MacOs->双击 SetupSTM32CubeProgrammer-1_0_0_macos. 结果安装出错, 卸载JDK9, 安装JDK8, 这次装成功了, 还是打不开… 希望这里有人成功.
既然STM32CubeProgrammer没有成功, 用命令行下也是可以的, 打开终端, 先安装HomeBrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装stlink工具:
brew install stlink
Hello World 之 Blink
我的STM32F103C8T6板子上PC13引脚接了LED, 就用这个完成Blink好了.
打开STM32CubeMX->New Project->选择STM32F103C8Tx.
Pinout选项卡
Configuration->Peripherals:
SYS->Debug->Serial Wire.
RCC->High Speed Clock(HSE)->Crystal/Ceramic Resonator.
PC13->GPIO_Output.
Clock Configuration选项卡
外部晶振8MHz, HCLK配置72MHz.
Configuration选项卡
GPIO->选中PC13->User Label填入LED0.
Project->Generate Code
Code Generator选项卡: 勾选Generate peri…
Project选项卡: Project Name填Blink, Project Location可以选择上面System Workbench for STM32的Workspace文件夹, Toolchain / IDE选择SW4STM32->OK.
然后点击OpenProject, 在USER CODE BEGIN 3下面填写:
HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);
HAL_Delay(1000);
然后选中Blink->右键->Run As(可以线Run Configuration配置)->Ac6 STM32 C/C++ Application:
会自动编译下载. 我这里没下成功, 留待慢慢排查, 关掉Eclipse, 这次通过终端下了:
切换到bin目录, 并下载程序: st-flash write Blink.bin 0x8000000
可以看到程序已经运行了.
2018-4-8更新: 直接在Eclipse中用ST-Link下载参考 STM32 STM32CubeMX Eclipse ST-Link Blink macOS
2020-01-19更新: STM32CubeIDE, ST官方亲儿子支持macOS了, 快去试试吧!
参考
STLINK参考了
https://my.oschina.net/purplespace/blog/1574806
留待解决
J-Link下载
单VS Code STM32开发
System Workbench for STM32直接用ST-LINK调试下载.