赞
踩
想要在Mac下开发32单片机,又不想装虚拟机的同学可以看看
使用工具:CLion(JetBrains家族一员)、STM32CubeMX(配置芯片,生成初始化代码,工程架构)、OpenOCD、ARM toolchain(编译器)
开发板我使用的是正点原子的STM32F103ZET6战舰V3
https://www.jetbrains.com/clion/
(一、二下载过程中可以先去下载三、四)
https://www.st.com/en/development-tools/stm32cubemx.html#get-software
访问不了或者下载很慢就用手机热点
这里需要邮箱验证一下
然后打开压缩包(打不开是因为没有解压缩zip的软件,直接去App Store下一个免费的就行了,如FileZilla Pro)
是无法直接执行安装的,需要用命令去安装
【sudo java -jar XXXX/SetupSTM32CubeMX-6.0.1.exe】
记得路径换成自己的
然后一路next就好了
下载直接使用homebrew (未安装的请看)
OpenOCD:
【brew install open-ocd】
ARM toolchain:
【brew tap ArmMbed/homebrew-formulae】
【brew install arm-none-eabi-gcc】
执行后,测试下是否安装成功
【arm-none-eabi-gcc -v】
有信息输出就代表成功了
进入首选项
正常来说会自动配置好,不行就重启下CLion,还不行就自己找路径配
然后两个都点击Test都点击下,都正常就可以
选择创建STM32CubeMX工程和名称
然后进入工程可以看到一个.ioc文件
点击右边的Open with STM32CubeMX,会自动打开STM32CubeMX
这里默认使用的是STM32F030F4Px 要改成自己使用的型号,点红框框后弹出下面的图
选择好型号后,点击开始工程,进行下面的配置
这里1的工程名需要和CLion创建的工程名一致
2的路径也需要和CLoin工程的路径保持一致
3也有说选择SW4STM32的,但是我试了会编译失败,换成这个就行。
然后点击4,生成代码,弹框选择yes,覆盖。
然后选择Close就好了
回到CLion会弹出开发板配置框框
没有也没关系,在这里可以找到
选择好对应的开发板(不知道的话就选类似的就好了,例如我直接选F103的)
点击复制到工程并使用,然后点击应用
工程就出现了下面的配置文件
因为正点原子使用的是STlink V2 所以把-1去掉,变成V2就好了
然后点击右上角的小锤子编译下,能通过就好了
如果编译失败,出现下面的情况
就把工程删了,老方法重新创建一下就好了。。。。。我找了好久的原因,也不知道为什么会这样。有知道的可以评论回答下。。。。。
接下来就可以编写程序了,刚好这里的GPB5引脚接了一个LED灯,这里就写的跑马灯Demo
先在初始化GPIO里把 GPB5始能
static void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_SET); /*Configure GPIO pin : LED_Pin */ GPIO_InitStruct.Pin = GPIO_PIN_5; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); }
然后在main函数的while(1)里写跑马灯程序
while (1)
{
/* USER CODE END WHILE */
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,RESET);
HAL_Delay(100);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,SET);
HAL_Delay(100);
/* USER CODE BEGIN 3 */
}
用STlink连接开发板,点击右上角的小三角形下载。
大功告成~~~~~~~~~~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。