社区导航

 
查看: 5143|回复: 6

[原创] [STM32CubeMX]OS环境下安装STM32CubeMX+简单串口例程

[复制链接]

4164

TA的帖子

9

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

测评达人

发表于 2016-6-20 05:42:37 | 显示全部楼层 |阅读模式
本帖最后由 huaiqiao 于 2016-6-20 10:47 编辑

      好像STM32CubeMX在4.12后还是哪个版本以后就支持了OS X和Linux。想想windows的也用过,不知道其他两个系统下,这个STM32CubeMX到底感觉咋样呢?虽然实际中使用标准外设库多一些,但是这个STM32CubeMX还是需要慢慢熟悉的。
这几天朋友刚好过来,他带着mac pro,正好用他的机子来安装OS版的STM32CubeMX。同时也想看看OS下这个的界面,想一睹为快。所以就经过朋友的同意,在OS的系统下,安装STM32CubeMX,来带大家装装字母A与字母C之间的那个字母。

一、安装
1、安装首先要去ST官网下载STM32CubeMX的压缩包,并放在OS下进行解压。解压完成,文件如下:

解压.png

2、在安装os版的STM32CubeMX之前,首先还是需要像windows一样安装JAVA的虚拟环境。

JAVA虚拟环境链接

我安装的是如下红色方框中的这个版本:

JAVA安装环境.png

安装的过程在这里跳过

3、安装STM32CubeMX OS版的文件。将第1步中的文件名为”SetupSTM32CubeMX-4_14_0_macos”的文件直接拖入终端。
     然后就会出现如下的界面:

安装1.png
stm32CubeMX安装.png
屏幕快照 2016-05-28 00.44.25.png

4、一路NEXT,直到安装完成。

屏幕快照 2016-05-28 00.44.39.png
屏幕快照 2016-05-28 00.44.50.png
屏幕快照 2016-05-28 00.45.00.png
屏幕快照 2016-05-28 00.45.40.png

5、安装Libraryies,根据不同的系列,安装自己想要的Libraryies。这个的安装跟windows的一致(可以在线下载安装,也可以
     导入离线的已经下载好的安装包)

安装 Libraryies.png


二、使用
      计划还是使用OS版本的STM32CubeMX来体验一下。手里有个Nucelo--32(STM32F042K6)的板子,用它来实现一个简单的uart1例程。

1、查看datasheet,看uart1对应哪个GPIO。查看后,发现是PA9(TX),PA10(RX)
datasheet1 串口1.png

2、查看原理图中PA9和PA10 是否有接其他外设,以免影响我这个uart1的例程。发现PA9和PA10直接由插针引出。

串口1原理图.png

3、利用STM32CubeMX新建工程:

新建工程1.png

新建工程2.png

因为这个板子没有外部晶振,所以使用HSI。使用UART1(PA9和PA10)
新建工程3.png

使用HSI经过倍频至48Mhz,从而产生48Mhz的系统时钟。
新建工程4.png

UART1的配置:
新建工程5.png

GPIO的设置(不用再去设)
新建工程7.png


因为不知道OS系统上有什么IDE(至少没有os的iar和keil吧)可以编译这个STM32CubeMX产生的工程。所以先生成MDK5的工程。将工程文件目录拷贝到windows下,利用keil5进行处理。
新建工程8.png

4、在MDK5中添加相应的用户代码,并编译下载到板子。
     a、添加打印相关的代码:
  1. #pragma import(__use_no_semihosting)            
  2.             
  3. struct __FILE
  4. {
  5.         int handle;
  6.         /* Whatever you require here. If the only file you are using is */
  7.         /* standard output using printf() for debugging, no file handling */
  8.         /* is required. */
  9. };
  10. /* FILE is typedef’ d in stdio.h. */
  11. FILE __stdout;      

  12. void _sys_exit(int x)
  13. {
  14.         x = x;
  15. }

  16. int fputc(int ch, FILE *f)
  17. {      
  18.         while((USART1->ISR&0X40)==0);  
  19.         USART1->TDR = (uint8_t) ch;      
  20.         return ch;
  21. }
复制代码
      b、在main函数的while循环中,添加用户代码(打印系统时钟,打印一串字符)
  1. while (1)
  2.   {
  3.     uint32_t SysClk;
  4.   /* USER CODE END WHILE */

  5.   /* USER CODE BEGIN 3 */
  6.     SysClk = HAL_RCC_GetSysClockFreq();
  7.     printf("System Clock is :%d\r\n",SysClk);
  8.     HAL_UART_Transmit(&huart1,"This is  uart example for stm32cbueMX of IOS\r\n",sizeof("This is  uart example for stm32cbueMX of IOS \r\n"),1000);
  9.     HAL_Delay(1000);     
  10.   }
复制代码

5、使用OS的终端,运行简单的命令(这个命令是参考网上的),使终端打印出信息。(当然也可以用windows的串口调试助手,用终端就是想装装X)
    a、安装OS版的驱动(因为使用的是PL2303的usb转TTL的串口线)

    PL2303驱动.png
   b、查看驱动是否安装成功:

    驱动安装成功.png

  c、实物连接:

   硬件接线图.png

  d、运行终端命令:
  1. cd /dev
  2. ls tty.*
  3. screen /dev/tty.usbserial 115200
复制代码
终端2.png

(如果这个命令报错,重新插拔USB转TTL的串口线即可)

终端打印的信息如下:

终端打印信息.png

总体来说,OS版的STM32CubeMX除了安装跟Windows有点区别之外,好像其他暂时没有发现与windows有啥区别。




此帖出自stm32/stm8论坛

评分

1

查看全部评分



回复

使用道具 举报

7962

TA的帖子

128

TA的资源

管理员

Rank: 13Rank: 13Rank: 13Rank: 13

发表于 2016-6-20 10:21:31 | 显示全部楼层
谢谢楼主的试水教程,不过把你朋友的电脑当小白鼠,果然是真友情。。哈哈哈。。期待楼主更多的大作。

点评

呵呵呵,就是稍稍好奇一些OS下这个软件到底咋样?”我不入地狱,谁人地狱”。O(∩_∩)O~~  详情 回复 发表于 2016-6-20 10:37


回复

使用道具 举报

4164

TA的帖子

9

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

测评达人

 楼主| 发表于 2016-6-20 10:37:54 | 显示全部楼层
okhxyyo 发表于 2016-6-20 10:21
谢谢楼主的试水教程,不过把你朋友的电脑当小白鼠,果然是真友情。。哈哈哈。。期待楼主更多的大 ...

呵呵呵,就是稍稍好奇一些OS下这个软件到底咋样?”我不入地狱,谁人地狱”。O(∩_∩)O~~


回复

使用道具 举报

738

TA的帖子

2

TA的资源

版主

Rank: 6Rank: 6

发表于 2016-7-16 09:26:49 来自手机 | 显示全部楼层
这个cubemx有意思,代码生成器,不错,之前还想自己写一个简单的代码生成的软件的,一直懒没写完。。。

点评

以前103的时候,有个公司写过,后来那个公司的那个软件不能用了。  详情 回复 发表于 2016-7-16 19:37


回复

使用道具 举报

4164

TA的帖子

9

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

测评达人

 楼主| 发表于 2016-7-16 19:37:52 | 显示全部楼层
汤权 发表于 2016-7-16 09:26
这个cubemx有意思,代码生成器,不错,之前还想自己写一个简单的代码生成的软件的,一直懒没写完。。。

以前103的时候,有个公司写过,后来那个公司的那个软件不能用了。

点评

工具还是非常好的,较少工作量有不容易错,好东西。  详情 回复 发表于 2016-7-17 15:22


回复

使用道具 举报

738

TA的帖子

2

TA的资源

版主

Rank: 6Rank: 6

发表于 2016-7-17 15:22:46 | 显示全部楼层
huaiqiao 发表于 2016-7-16 19:37
以前103的时候,有个公司写过,后来那个公司的那个软件不能用了。

工具还是非常好的,较少工作量有不容易错,好东西。

点评

嗯嗯,但是目前我还是以标准外设库为主,后面要打算也好好深入的搞搞HAL的库 了。  详情 回复 发表于 2016-7-17 23:08
亚里士缺德


回复

使用道具 举报

4164

TA的帖子

9

TA的资源

五彩晶圆(高级)

Rank: 9Rank: 9Rank: 9

测评达人

 楼主| 发表于 2016-7-17 23:08:03 | 显示全部楼层
汤权 发表于 2016-7-17 15:22
工具还是非常好的,较少工作量有不容易错,好东西。

嗯嗯,但是目前我还是以标准外设库为主,后面要打算也好好深入的搞搞HAL的库 了。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2018-8-15 17:31 , Processed in 0.205680 second(s), 19 queries , Gzip On, Redis On.

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