ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

RTX笔记1 - 创建RTX5工程

2021-10-01 23:35:39  阅读:241  来源: 互联网

标签:优先级 中断 CMSIS RTX5 笔记 内核 RTX


  创建RTX5项目工程比较简单,RTX5源码已经内置在keil安装目录下。下面一步一步创建工程。

  1.Create a new project,选择一个器件,在Manage Run-TIme Environment 窗口选择 CMSIS::CORE and CMSIS::RTOS2 (API)::Keil RTX5,可以选择添加LIB库到工程,也可以选择将Source源码添加到工程。如果选中RTX5之后,下方输出栏提示需要其他的组件,可以点击Resolve一键处理,自动添加需要的组件到工程中。

  2.在RTX_Config.h中配置RTX5。注意:全局动态内存大小是RTX所能使用的内存大小,不能超过所选器件的RAM大小,不然编译不通过。

 

 

  3.Cortex-M的中断使用

  在Cortex-M处理器中,RTX5使用下面三个中断。

HandlerPriorityInterrupt/Exception
SysTick lowest Kernel system timer interrupt to generate periodic timer ticks
PendSV lowest PendSV (request for system-level service) when calling certain RTX functions from Handler mode
SVC lowest+1 Supervisor Call used to enter the RTOS kernel from Thread mode

  其他设备中断用户可以正常使用,对于 Cortex-M3/M4/M7 /M23/M33/M35P 处理器,RTX内核不会关闭中断

Usage of interrupt priority grouping

  • 中断优先级分组应该在调用osKernelStart()函数之前使用CMSIS-Core函数NVIC_SetPriorityGrouping进行配置。RTX内核使用优先级组的值来设置SysTick和PendSV中断的优先级
  • RTX内核为上表中列出的中断/异常设置优先级,并使用最低的两个优先级级别。
  • 不要改变RTX内核使用的优先级。如果无法避免,请确保SysTick/PendSV的抢占优先级低于SVC。
  • 允许的优先级组值为0 ~ 6。优先级组值7将导致RTX失败,因为只有一个优先级级别可用。
  • 主堆栈用于运行RTX功能。因此,需要为RTX内核执行配置足够的堆栈。

Code Example

osKernelInitialize();                            // initialize RTX
NVIC_SetPriorityGrouping (3);                    // setup priority grouping
tread_id = osThreadNew(tread_func, NULL, NULL);  // create some threads
osKernelStart ();                                // start RTX kernel

 RTX5教程:RTX教程已内置在keil安装目录中,../Keil_v5/ARM/Pack/ARM/CMSIS/5.8.0/CMSIS/Documentation/RTOS2/html/rtx5_impl.html

标签:优先级,中断,CMSIS,RTX5,笔记,内核,RTX
来源: https://www.cnblogs.com/ivan0512/p/15360095.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有