当前位置:   article > 正文

在Mac中开发STM32单片机_mac stm32

mac stm32

想要在Mac下开发32单片机,又不想装虚拟机的同学可以看看

使用工具:CLion(JetBrains家族一员)、STM32CubeMX(配置芯片,生成初始化代码,工程架构)、OpenOCD、ARM toolchain(编译器)
开发板我使用的是正点原子的STM32F103ZET6战舰V3

一、下载CLion

https://www.jetbrains.com/clion/
(一、二下载过程中可以先去下载三、四)

二、下载STM32CubeMX

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

进入首选项
在这里插入图片描述
正常来说会自动配置好,不行就重启下CLion,还不行就自己找路径配
然后两个都点击Test都点击下,都正常就可以

五、创建工程

选择创建STM32CubeMX工程和名称
在这里插入图片描述
然后进入工程可以看到一个.ioc文件
在这里插入图片描述
点击右边的Open with STM32CubeMX,会自动打开STM32CubeMX

六、到STM32CubeMX配置芯片信息

在这里插入图片描述
这里默认使用的是STM32F030F4Px 要改成自己使用的型号,点红框框后弹出下面的图
在这里插入图片描述
选择好型号后,点击开始工程,进行下面的配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里1的工程名需要和CLion创建的工程名一致
2的路径也需要和CLoin工程的路径保持一致
3也有说选择SW4STM32的,但是我试了会编译失败,换成这个就行。
然后点击4,生成代码,弹框选择yes,覆盖。
然后选择Close就好了

七、回到CLion完成工程创建

回到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);

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

然后在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 */
  }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

用STlink连接开发板,点击右上角的小三角形下载。

大功告成~~~~~~~~~~~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/984474
推荐阅读
相关标签
  

闽ICP备14008679号