2446|4

1万

帖子

15

资源

版主

【NUCLEO-L4R5ZI评测】——4,利用CubeMX跑一下FreeRtos点灯程序 [复制链接]


很高兴按照我的评测计划,评测到第四贴了。
这个是我自己发挥的贴子,我想跑一下FreeRtos。现在CubeMX生成FreeRtos程序已经很方便了。所以利用这次机会在这里跑一下。

首先,我打开了我以前安装的CubeMX,我已经从ST网站下了L4的CUBE库。我就从本地安装。

在CubeMX的HELP,安装PATCH,下边的从本地安装

freertos1.jpg

安装完了什么也没有,也就是说L4是空的,我就奇了怪了,明明装进去了。
我这个不死心加不痛快,我又花血本从网上装,就点L4最新的库,直接就安装了。
缺点是时间有点长。
freertos2.jpg

等安装完了,我又开始找L4,还是没有。。。。。。
我有点鸡眼了。怎么就装不上了。
我把CubeMX删掉,从ST网站下个最新版本的。这回同上回有点不一样了:
freertos3.jpg
可以看出有许多更新的东东,我就按装吧,可是死慢啊,我就让它自己下,自已先去干别的了。

等了好长时间。我看下最后一个,我就停了它,反正我需要的已经下来了。

我再一次打开CUBEMX,这回同我以前版本,根本就不一样了。

选择新建工程。弹出如下画面:
freertos5.jpg
菜单第二项为BOARD,就是开发板我就从开发板选,正好我评估的板子一定是官方的板子。
freertos6.jpg
出现弹出窗口问是否是管脚按开发板的默认定义,还糊涂个北自然选择YES。
freertos7.jpg
然后弹出如下图画面:可以看出开发板的管脚都已经定义好了
freertos4.jpg

嘿嘿!都做好了,我就不用做了,然而失误就在这里。
默认的是外部晶振,而本板根本就不带外部晶振。
只有一个X2
freertos14.jpg
freertos13.jpg
默认的如下图所示:
freertos8.jpg
我使用内部16MHZ晶振:
freertos9.jpg

然后在FreeRtos那块选使能:
freertos10.jpg

若有错误,可以用推荐的晶振:反正在晶振这块没有红色提示就算过关
freertos11.jpg
最后生成代码:
freertos12.jpg

然后,用MDK5直接打开:
在主程序里已经有FreeRtos的启动代码:
  1. /* definition and creation of defaultTask */
  2.   osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 128);
  3.   defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);

  4.   /* USER CODE BEGIN RTOS_THREADS */
  5.   /* add threads, ... */
  6.   /* USER CODE END RTOS_THREADS */

  7.   /* USER CODE BEGIN RTOS_QUEUES */
  8.   /* add queues, ... */
  9.   /* USER CODE END RTOS_QUEUES */


  10.   /* Start scheduler */
  11.   osKernelStart();
复制代码


我们做的是在后边的 StartDefaultTask函数里边,加个任务:
  1. /* StartDefaultTask function */
  2. void StartDefaultTask(void const * argument)
  3. {

  4.   /* USER CODE BEGIN 5 */
  5.          osThreadDef(LED_Thread, testled, osPriorityNormal, 0, configMINIMAL_STACK_SIZE);
  6.   osThreadCreate (osThread(LED_Thread), NULL);
  7.   /* Infinite loop */
  8.        
  9.   for(;;)
  10.   {
  11.     osDelay(1);
  12.   }
  13.   /* USER CODE END 5 */
  14. }
复制代码


然后在main前面添个任务的函数: testled

  1. /* USER CODE END PFP */
  2. void testled(void const * argument)
  3. {
  4.     for(;;)
  5.                          {         
  6.              HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_14|GPIO_PIN_7);
  7.              osDelay(500);
  8.        }                                 
  9. }
复制代码




传一下main因为就改这个文件了:
main.c (15.74 KB, 下载次数: 1)
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr

回复

9803

帖子

21

资源

版主

新版CubeMX选择开发板都带图片了?

点评

恩,很诱人  详情 回复 发表于 2018-1-26 10:17

回复

120

帖子

1

资源

一粒金砂(中级)

感谢分享,有图很详细。

回复

1万

帖子

15

资源

版主

littleshrimp 发表于 2018-1-26 07:58
新版CubeMX选择开发板都带图片了?

恩,很诱人
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr

回复

1万

帖子

15

资源

版主

ID.LODA 发表于 2018-1-26 09:25
感谢分享,有图很详细。

个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr

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

查找数据手册?

EEWorld Datasheet 技术支持

最新文章 更多>>
    关闭
    站长推荐上一条 1/7 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表