You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
227 lines
9.9 KiB
227 lines
9.9 KiB
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
<package schemaVersion="1.2" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="PACK.xsd">
|
|
<vendor>Hitex</vendor>
|
|
<name>CMSIS_RTOS_Tutorial</name>
|
|
<description>An Introduction to using CMSIS RTOS for Cortex-M Microcontrollers</description>
|
|
<url>http://www.keil.com/pack/</url>
|
|
<supportContact>tmartin@hitex.co.uk</supportContact>
|
|
<!-- optional license file -->
|
|
|
|
<license>License\License.txt</license>
|
|
|
|
|
|
<releases>
|
|
<release version="1.1.0">
|
|
Updated to work with SM32F1xx pack 2.0.0
|
|
</release>
|
|
<release version="1.0.3">
|
|
First Release
|
|
</release>
|
|
</releases>
|
|
|
|
<keywords>
|
|
<!-- keywords for indexing -->
|
|
<keyword>insert_keyword_for_search_engines</keyword>
|
|
</keywords>
|
|
|
|
<boards>
|
|
<board vendor="Hitex" name="CMSIS_RTOS_Tutorial" revision="V1.1.0" >
|
|
<description>Simulation examples for CMSIS RTOS Tutorial</description>
|
|
<mountedDevice deviceIndex="0" Dvendor="STMicroelectronics:13" Dname="STM32F103RB"/>
|
|
<book category="manual" name="Documentation\CMSIS_RTOS_Tutorial.pdf" title="CMSIS RTOS Tutorial"/>
|
|
</board>
|
|
</boards>
|
|
|
|
<examples>
|
|
<example name="Ex 1 First project" folder="Examples\Exercise 1 First Project " doc="Abstract.txt" version="1.0">
|
|
<description>Creating a first CMSIS RTOS Project</description>
|
|
<board vendor="Hitex" name="CMSIS_RTOS_Tutorial"/>
|
|
<project>
|
|
<environment name="uv" load="CMSISrtxFirstProject.uvprojx"/>
|
|
</project>
|
|
<attributes>
|
|
<component Cclass="CMSIS" Cgroup="CORE"/>
|
|
<component Cclass="Device" Cgroup="Startup"/>
|
|
</attributes>
|
|
</example>
|
|
<example name="Ex 2 and 3 Threads" folder="Examples\Exercise 2 and 3 Creating and Managing Threads" doc="Abstract.txt" version="1.0">
|
|
<description>Creating Threads and managing Thread priority</description>
|
|
<board vendor="Hitex" name="CMSIS_RTOS_Tutorial"/>
|
|
<project>
|
|
<environment name="uv" load="CMSISrtxThreads.uvprojx"/>
|
|
</project>
|
|
<attributes>
|
|
<component Cclass="CMSIS" Cgroup="CORE"/>
|
|
<component Cclass="Device" Cgroup="Startup"/>
|
|
</attributes>
|
|
</example>
|
|
<example name="Ex 4 Multiple Instances" folder="Examples\Exercise 4 Multiple Thread Instances" doc="Abstract.txt" version="1.0">
|
|
<description>Creating and Managing threads</description>
|
|
<board vendor="Hitex" name="CMSIS_RTOS_Tutorial"/>
|
|
<project>
|
|
<environment name="uv" load="CMSISrtxMultipleInstance.uvprojx"/>
|
|
</project>
|
|
<attributes>
|
|
<component Cclass="CMSIS" Cgroup="CORE"/>
|
|
<component Cclass="Device" Cgroup="Startup"/>
|
|
</attributes>
|
|
</example>
|
|
<example name="Ex 5 Time Management" folder="Examples\Exercise 5 Time Management" doc="Abstract.txt" version="1.0">
|
|
<description>How to use the osDelay function for time delays</description>
|
|
<board vendor="Hitex" name="CMSIS_RTOS_Tutorial"/>
|
|
<project>
|
|
<environment name="uv" load="CMSISrtxTimeManagement.uvprojx"/>
|
|
</project>
|
|
<attributes>
|
|
<component Cclass="CMSIS" Cgroup="CORE"/>
|
|
<component Cclass="Device" Cgroup="Startup"/>
|
|
</attributes>
|
|
</example>
|
|
<example name="Ex 6 Virtual Timers" folder="Examples\Exercise 6 Virtual Timer" doc="Abstract.txt" version="1.0">
|
|
<description>Creating virtual timers for periodic code execution</description>
|
|
<board vendor="Hitex" name="CMSIS_RTOS_Tutorial"/>
|
|
<project>
|
|
<environment name="uv" load="CMSISrtxTimer.uvprojx"/>
|
|
</project>
|
|
<attributes>
|
|
<component Cclass="CMSIS" Cgroup="CORE"/>
|
|
<component Cclass="Device" Cgroup="Startup"/>
|
|
</attributes>
|
|
</example>
|
|
<example name="Ex 7 Idle Thread" folder="Examples\Exercise 7 Idle Thread" doc="Abstract.txt" version="1.0">
|
|
<description>Creating and Managing threads</description>
|
|
<board vendor="Hitex" name="CMSIS_RTOS_Tutorial"/>
|
|
<project>
|
|
<environment name="uv" load="CMSISrtxIdle.uvprojx"/>
|
|
</project>
|
|
<attributes>
|
|
<component Cclass="CMSIS" Cgroup="CORE"/>
|
|
<component Cclass="Device" Cgroup="Startup"/>
|
|
</attributes>
|
|
</example>
|
|
<example name="Ex 8 Signals" folder="Examples\Exercise 8 Signals" doc="Abstract.txt" version="1.0">
|
|
<description>Using Signals to trigger activity between Threads</description>
|
|
<board vendor="Hitex" name="CMSIS_RTOS_Tutorial"/>
|
|
<project>
|
|
<environment name="uv" load="CMSISrtxSignals.uvprojx"/>
|
|
</project>
|
|
<attributes>
|
|
<component Cclass="CMSIS" Cgroup="CORE"/>
|
|
<component Cclass="Device" Cgroup="Startup"/>
|
|
</attributes>
|
|
</example>
|
|
<example name="Ex 9 Interrupt Signal" folder="Examples\Exercise 9 Interrupt Signal" doc="Abstract.txt" version="1.0">
|
|
<description>Using signals to trigger threads from an Interrupt Service Routine</description>
|
|
<board vendor="Hitex" name="CMSIS_RTOS_Tutorial"/>
|
|
<project>
|
|
<environment name="uv" load="CMSISrtxInterruptSignal.uvprojx"/>
|
|
</project>
|
|
<attributes>
|
|
<component Cclass="CMSIS" Cgroup="CORE"/>
|
|
<component Cclass="Device" Cgroup="Startup"/>
|
|
</attributes>
|
|
</example>
|
|
<example name="Ex 10 Supervisor Call" folder="Examples\Exercise 10 Interrupt_SVC" doc="Abstract.txt" version="1.0">
|
|
<description>Using a Supervisor call to access the CPU priviliged operating mode</description>
|
|
<board vendor="Hitex" name="CMSIS_RTOS_Tutorial"/>
|
|
<project>
|
|
<environment name="uv" load="CMSISrtxInterruptSVC.uvprojx"/>
|
|
</project>
|
|
<attributes>
|
|
<component Cclass="CMSIS" Cgroup="CORE"/>
|
|
<component Cclass="Device" Cgroup="Startup"/>
|
|
</attributes>
|
|
</example>
|
|
<example name="Ex 11 Semaphore Signaling" folder="Examples\Exercise 11 Semaphore Signalling" doc="Abstract.txt" version="1.0">
|
|
<description>Creating and using a Semaphore for simple signalling between Threads</description>
|
|
<board vendor="Hitex" name="CMSIS_RTOS_Tutorial"/>
|
|
<project>
|
|
<environment name="uv" load="CMSISrtxSemaphore.uvprojx"/>
|
|
</project>
|
|
<attributes>
|
|
<component Cclass="CMSIS" Cgroup="CORE"/>
|
|
<component Cclass="Device" Cgroup="Startup"/>
|
|
</attributes>
|
|
</example>
|
|
<example name="Ex 12 Multiplex" folder="Examples\Exercise 12 Multiplex" doc="Abstract.txt" version="1.0">
|
|
<description>Using semaphores to create a thread multiplex</description>
|
|
<board vendor="Hitex" name="CMSIS_RTOS_Tutorial"/>
|
|
<project>
|
|
<environment name="uv" load="CMSISrtxSemaphoreMultiplex.uvprojx"/>
|
|
</project>
|
|
<attributes>
|
|
<component Cclass="CMSIS" Cgroup="CORE"/>
|
|
<component Cclass="Device" Cgroup="Startup"/>
|
|
</attributes>
|
|
</example>
|
|
<example name="Ex 13 Rendezvous" folder="Examples\Exercise 13 Rendezvous" doc="Abstract.txt" version="1.0">
|
|
<description>Using two semaphores to synchronize two threads at a rendezvous point</description>
|
|
<board vendor="Hitex" name="CMSIS_RTOS_Tutorial"/>
|
|
<project>
|
|
<environment name="uv" load="CMSISrtxSemaphoreRendezvous.uvprojx"/>
|
|
</project>
|
|
<attributes>
|
|
<component Cclass="CMSIS" Cgroup="CORE"/>
|
|
<component Cclass="Device" Cgroup="Startup"/>
|
|
</attributes>
|
|
</example>
|
|
<example name="Ex 14 Barrier " folder="Examples\Exercise 14 Barrier" doc="Abstract.txt" version="1.0">
|
|
<description>Using semaphores to create an execution barrier for multiple Threads</description>
|
|
<board vendor="Hitex" name="CMSIS_RTOS_Tutorial"/>
|
|
<project>
|
|
<environment name="uv" load="CMSISrtxSemaphoreBarrier.uvprojx"/>
|
|
</project>
|
|
<attributes>
|
|
<component Cclass="CMSIS" Cgroup="CORE"/>
|
|
<component Cclass="Device" Cgroup="Startup"/>
|
|
</attributes>
|
|
</example>
|
|
<example name="Ex 15 Mutex " folder="Examples\Exercise 15 Mutex" doc="Abstract.txt" version="1.0">
|
|
<description>Using a Mutex to control Thread access to a periperal resource</description>
|
|
<board vendor="Hitex" name="CMSIS_RTOS_Tutorial"/>
|
|
<project>
|
|
<environment name="uv" load="CMSISrtxMutex.uvprojx"/>
|
|
</project>
|
|
<attributes>
|
|
<component Cclass="CMSIS" Cgroup="CORE"/>
|
|
<component Cclass="Device" Cgroup="Startup"/>
|
|
</attributes>
|
|
</example>
|
|
<example name="Ex 16 Message Queue " folder="Examples\Exercise 16 Message Queue" doc="Abstract.txt" version="1.0">
|
|
<description>How to create a message queue to send data between two threads </description>
|
|
<board vendor="Hitex" name="CMSIS_RTOS_Tutorial"/>
|
|
<project>
|
|
<environment name="uv" load="CMSISrtxMessageQueue.uvprojx"/>
|
|
</project>
|
|
<attributes>
|
|
<component Cclass="CMSIS" Cgroup="CORE"/>
|
|
<component Cclass="Device" Cgroup="Startup"/>
|
|
</attributes>
|
|
</example>
|
|
<example name="Ex 17 Memory Pool " folder="Examples\Exercise 17 MemoryPool" doc="Abstract.txt" version="1.0">
|
|
<description>Creating a memory pool of formatted buffers </description>
|
|
<board vendor="Hitex" name="CMSIS_RTOS_Tutorial"/>
|
|
<project>
|
|
<environment name="uv" load="CMSISrtxMemoryPool.uvprojx"/>
|
|
</project>
|
|
<attributes>
|
|
<component Cclass="CMSIS" Cgroup="CORE"/>
|
|
<component Cclass="Device" Cgroup="Startup"/>
|
|
</attributes>
|
|
</example>
|
|
<example name="Ex 18 Mail Box " folder="Examples\Exercise 18 Mailbox" doc="Abstract.txt" version="1.0">
|
|
<description>Creating a zero copy mailbox system to send blocks of data between threads</description>
|
|
<board vendor="Hitex" name="CMSIS_RTOS_Tutorial"/>
|
|
<project>
|
|
<environment name="uv" load="CMSISrtxMailbox.uvprojx"/>
|
|
</project>
|
|
<attributes>
|
|
<component Cclass="CMSIS" Cgroup="CORE"/>
|
|
<component Cclass="Device" Cgroup="Startup"/>
|
|
</attributes>
|
|
</example>
|
|
|
|
</examples>
|
|
</package>
|