网站系统搭建管理咨询公司怎么找客户
2026/2/21 0:35:22 网站建设 项目流程
网站系统搭建,管理咨询公司怎么找客户,wordpress生成,百度快照优化seohttps://github.com/STMicroelectronics/stm32-mw-cmsis-rtos-tx CMSIS-RTOS v2#xff08;简称 CMSIS-RTOS2#xff09;为基于 Arm Cortex 处理器的设备提供了通用的实时操作系统接口。它为需要实时操作系统功能的软件组件提供了标准化 API#xff0c;从而为用户和软件行业…https://github.com/STMicroelectronics/stm32-mw-cmsis-rtos-txCMSIS-RTOS v2简称 CMSIS-RTOS2为基于 Arm Cortex 处理器的设备提供了通用的实时操作系统接口。它为需要实时操作系统功能的软件组件提供了标准化 API从而为用户和软件行业带来显著优势CMSIS-RTOS2 提供了许多应用所需的基础功能。1、统一的 CMSIS-RTOS2 功能集降低了学习成本简化了软件组件的共享流程。2、基于 CMSIS-RTOS2 的中间件组件可兼容不同实时操作系统适配更便捷。3、标准化的 CMSIS-RTOS2 项目模板可随开源可用的 CMSIS-RTOS2 实现一同分发。本 CMSIS-RTOS v2 封装层基于 ThreadX 实时操作系统的 API对 CMSIS-RTOS v2 接口进行了实现。当前版本支持的功能如下CMSIS-RTOS v2 设计内核初始化与启动在 ThreadX RTOS 中仅通过一个接口tx_kernel_enter启动内核。该函数将执行以下步骤_tx_initialize_low_level调用底层初始化函数处理所有处理器相关的初始化事务。_tx_initialize_high_level调用高层初始化函数初始化所有 ThreadX 组件及应用程序的初始化函数。tx_application_define调用应用程序提供的初始化函数并将首个可用内存地址传递给它。_tx_thread_schedule进入调度循环开始执行线程。对于 ARM CMSIS 方案必须将内核初始化与内核启动分离以便用户在此期间创建线程、定时器、信号量等。为此我们将 CMSIS-RTOS2 封装层设计如下osKernelInitialize通过调用 _tx_initialize_kernel_setup 函数完成底层和高层的初始化。osKernelGetState将调用应用程序提供的初始化函数来启动内核。动态内存管理CMSIS-RTOS v2 的 API如 osThreadNew使用户在实现应用程序时可以选择传递已声明或在应用层分配的块内存及栈地址由底层封装层或 RTOS分配内存。动态内存分配方案的总体思路是使用两个 ThreadX BytePoolHeapBytePool用于线程、定时器、互斥锁、信号量、事件标志和消息队列对象的块内存分配。StackBytePool用于线程和消息队列的栈内存分配。为此我们添加了以下三个内部函数MemInit 创建 HeapBytePool 和 StackBytePoolMemAlloc 为对象块或栈分配所需内存MemFree 释放对象块或栈的内存注意事项HeapBytePool 和 StackBytePool 的大小由用户通过宏定义 RTOS2_BYTE_POOL_HEAP_SIZE 和 RTOS2_BYTE_POOL_STACK_SIZE 分别指定。HeapBytePool 和 StackBytePool 的最小大小由 ThreadX 宏定义 TX_BYTE_POOL_MIN 决定。HeapBytePool 和 StackBytePool 从 ThreadX 变量 _tx_initialize_unused_memory 定义的第一个空闲内存区域中分配。静态内存管理CMSIS-RTOS v2 使用户在实现应用程序时能够静态分配内存。实际上静态缓冲区将基于用户定义的 RTOS2_BYTE_POOL_HEAP_SIZE 和 RTOS2_BYTE_POOL_STACK_SIZE 进行创建和分配。HeapBytePool 和 StackBytePool 的最小大小由 ThreadX 宏定义 TX_BYTE_POOL_MIN 决定。部分截图

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询