RTX笔记11 - RTX V5 Configura

System Configuration

  RTX笔记11 - RTX V5 Configura

  OS_DYNAMIC_MEM_SIZE:全局动态内存大小,默认值32768,要根据所使用的控制器型号进行具体设置,不能超过控制器的RAM大小。

  OS_TICK_FREQ:内核滴答时钟频率,默认1000Hz,建议采用默认值。如果采用更快的处理器,可考虑设置更快的频率。

  OS_ROBIN_ENABLE:轮询调度使能控制,默认使能,强烈建议开启这个功能。

  OS_ROBIN_TIMEOUT:轮询调度时每个线程执行的 tick 时间,默认5 ticks。

  OS_ISR_FIFO_QUEUE:ISR FIFO 队列大小,默认值16,中断中调用的系统函数发出的请求会被放入这个队列,被处理后移除队列。根据实际情况进行设置。

  OS_OBJ_MEM_USAGE:对象内存使用计数器使能控制。

  Thread Configuration

RTX笔记11 - RTX V5 Configura

  OS_THREAD_OBJ_MEM:特定于对象的内存分配使能控制,默认不开启。CMSIS-RTOS具有栈溢出检测功能,调试期间如果使能了这个选项,在发生栈溢出的时候,内核会调用 RTX_Config.c中的osRtxErrorNotify()函数。

 

  OS_THREAD_NUM:定义采用特定于对象的内存分配方法的最大线程数目。

  OS_THREAD_DEF_STACK_NUM:定义采用特定于对象的内存分配方法的默认线程栈大小。

  OS_THREAD_USER_STACK_SIZE:使用用户提供的堆栈大小的用户线程的总堆栈大小。

  OS_STACK_SIZE:默认线程堆栈大小,默认值3072,根据实际需求定义。

  OS_IDLE_THREAD_STACK_SIZE:空闲任务堆栈大小。

  OS_IDLE_THREAD_TZ_MOD_ID:空闲线程 TrustZone 上下文管理标识符。

  OS_STACK_CHECK:栈溢出检测使能控制。

  OS_STACK_WATERMARK:用水印模式初始化线程堆栈,以分析堆栈使用情况。可以在运行时监视最大堆栈内存使用情况,如果使能了“堆栈使用水位”选项,一个模板(0xCC)将写入每个堆栈空间。在运行时,此水印用于计算内存的最大使用量。在Arm Keil MDK中,这个数字是会显示在View - Watch Window - RTX RTOS window中。

  OS_PRIVILEGE_MODE:线程执行的模式,<0=> 非特权模式,如果您正在编写一个安全关键或安全应用程序,那么可以使用“非特权模式”来防止线程访问关键处理器寄存器,从而限制运行时错误或试图入侵;<1=> 特权模式,能够完全访问处理器的所有功能。默认特权模式。

  System Timer Configuration

  CMSIS-RTOS使用的默认定时器是Cortex-M SysTick定时器,它在几乎所有的Cortex-M处理器上都存在。SysTick定时器的输入通常是CPU时钟。也可以通过重载内核计时器函数来使用不同的计时器。

上一篇:code space memory overlap错误


下一篇:RTX笔记9 - 消息队列Message Queue