گروه فنی مهندسی آرکام

پروژه های دانشجویی ، آموزش ، مشاوره ، فروش آثار

گروه فنی مهندسی آرکام

پروژه های دانشجویی ، آموزش ، مشاوره ، فروش آثار

گروه فنی مهندسی آرکام

گرداننده و نگارنده : محمد نوری

البرز ، کرج ، گلشهر

09125623558
Nouri.Iut@Gmail.Com

جهت حمایت از این وبلاگ، ما را به یک فنجان چای داغ مهمان کنید.
6273-8111-1003-9762

دنبال کنندگان ۳ نفر
این وبلاگ را دنبال کنید

تبلیغات

آخرین نظرات

پیوندها

CMSIS-RTOS (CMSIS-RTOS RTX) Example Program

 

#include "cmsis_os.h"

/* Renamed main() function */

void app_main (void const *argument) {

  // contents of old "main"

}

osThreadDef(app_main, osPriorityNormal, 1, 0);

int main (void) {

  // System Initialization

  SystemCoreClockUpdate();

  // ...

  osKernelInitialize();

  // initialize peripherals here

  /* Create the API v1 thread */

  osThreadCreate(osThread(app_main), NULL);

  osKernelStart();

  for (;;);

}

/*----------------------------------------------------------------------------

*---------------------------------------------------------------------------*/

#include "cmsis_os2.h"

void app_main (void *argument) {

  // ...

  for (;;) {}

}

int main (void) {

  // System Initialization

  SystemCoreClockUpdate();

  // ...

  osKernelInitialize();                 // Initialize CMSIS-RTOS

  // initialize peripherals here

  /* Create the API v2 thread */

  osThreadNew(app_main, NULL, NULL);    // Create thread with default settings

  osKernelStart();                      // Start thread execution

  for (;;) {}

}

 

CMSIS-RTOS (CMSIS-RTOS RTX) is based on the RTX kernel and is part of the CMSIS software pack...

 

Migrate RTX to CMSIS-RTOSv1

- Replace RTX_Conf.c with RTX_Conf_CM.c.

 

General Differences Between RTX and CMSIS-RTOS RTX 

 

RTX

CMSIS-RTOS RTX

Time slice

RTX is using kernel ticks as the standard unit for measuring periods

CMSIS-RTOS fully relies on milliseconds as this provides a fully qualified timing base without knowing the configuration of a tick

Response time

-no change-

Memory requirements

Code < 4KBytes / User Timer: 8 Bytes

Code < 5KBytes / User Timer: 20 Bytes

Terminology

Tasks / Events

Threads / Signals

Delivery

Integrated in MDK4 releases

Part of CMSIS software pack

System Tasks

Init task created by user

Main runs as first system task / 1 dedicated task for user timers

Priorities

Up to 250 numerical task priorities

Up to 7 named thread priorities

 

Migrate CMSIS-RTOSv1 to CMSIS-RTOSv2

 

RTX5 supplies both API layers: CMSIS-RTOS v1 & CMSIS-RTOS v2...

 

CMSIS-RTOS v2 provides multiple API interfaces:

- CMSIS-RTOS2 is the new C function API that supports dynamic object

- CMSIS-RTOS C API v1 is a C function API that is backward compatible with CMSIS-RTOS v1.

- CMSIS-RTOS C++ API is a C++ class function API

 

All CMSIS-RTOS C API v1 functions that are implemented in the cmsis_os.h header file.

All CMSIS-RTOS C API v2 functions that are implemented in the cmsis_os2.h header file.

 

Include "cmsis_os2.h" in all modules where access to API v2 functions is required.

#include "cmsis_os.h"                   // ARM::CMSIS:RTOS:Keil RTX5

#include "cmsis_os2.h"                  // ARM::CMSIS:RTOS2:Keil RTX5

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی