不需要移植,在keil上打个勾就让stm32跑起操作系统

        初识keil5,不得不说自动化配置的强大,建个新工程基本不需要各种粘贴复制文件夹,以前一直担心直接拷贝模板工程会同时拷贝很多垃圾文件,现在就完全不需要担心了。keil5的使用这里不赘述,这次的主题主要是仅仅使用keil软件就让STM32跑起操作系统,不需要所谓的移植。说起让MCU跑操作系统,总让新手望而生畏,让高手觉得没必要,浪费资源,其实如果给MCU添加操作系统就像添加一个GPIO外设一样简单,并且耗用资源极低,那么我想大家都很乐意享受RTOS带来的便利,清晰的思路。所幸,ARM公司意识到这点,正在keil5上做这个工作,相信ARM如果能坚持长期投入,会有越来越多的人关注。下面就借鉴ARM公司官方文档《CMSIS-RTOS教程》中的 一个小例子来感受下这种使用RTOS的便利性。大笑


1、用keil新建工程。


在弹出的对话框里设置工程路径和名称,这里不赘述。


2、然后选择器件类型,这里选择STM32F103RB。如下图所示:



3、下面关键的一步来了,在选择完器件后RTE管理器就会弹出来,展开CMSIS, RTOS:


然后勾选keil RTX选项,这样你就用上了操作系统了,很简单,很随意大笑


不过这时候在RTE 管理器的下方会显示一个警告:


警告说缺少启动文件,不要紧张,有个粗暴的办法,点击下面的reslove按钮,轻松解决,可以看到RTE对话框都变成绿色,点击OK按钮:


RTOS就这样作为CMSIS的一个组件轻松添加到工程里面了:


上图绿色菱形的图标表示CMSIS的组件,带把钥匙的很显然表示只读不可编辑的。

RTOS添加完了,下面开始讲怎么跑起来。


4、添加main.c文件。


在弹出的对话框中选择最后一项 user code template ,右边栏展开CMSIS,选择第一项‘main function',点击Add,如下:



5、添加线程thread.c文件。

稍微有点RTOS基础或者用VC++写过上位机的话应该对线程的概念并不陌生。每个线程执行一个任务,是使用OS的核心。


到此为止我们已经添加了两个源文件:main.c 和 thread.c。



6、双击打开thread.c文件。

在该文件中可以看到两个函数,Init_Thread()用来初始化线程,void Thread()就用来完成你所要执行的任务。有了操作系统,我们只需要专注于任务的编写,什么时候执行,怎么调用资源就交给操作系统了,听起来是不是很轻松。



7、再次打开main.c。只需要添加两行代码。


8、编译工程。

编译完工程,整个准备工作就算完成了,下面就让我们看看期待已久RTOS的运行效果。


9、使用keil仿真前配置。

右击target 1,选择属性,如下图:


切换到debugger 标签页,配置内容如下图红框内所示:(DARMSTM.DLL    -pSTM32F103RB) 


点击ok,关闭对话框。


10、开始仿真。点击kei软件任务栏debug按钮,进入debug仿真模式。

打开system and thread viewer窗口:



11、全速运行!


可以看到RTOS中有3个线程在运行,是不是很直观大笑



  • 20
    点赞
  • 123
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值