User ManualTable of ContentsUser’s Manual Organization11General Information13Objective of MR308 Development14Relationship between TRON Specification and MR30816MR308 Features17Introduction to MR30819Concept of Real-time OS20Why Real-time OS is Necessary20Operating Principles of Real-time OS23Service Call26Service Call Processing27Task Designation in Service call28Task29Task Status29Task Priority and Ready Queue33Task Priority and Waiting Queue34Task Control Block(TCB)35System States37Task Context and Non-task Context37Dispatch Enabled/Disabled States38CPU Locked/Unlocked States39Dispatch Disabled and CPU Locked States39MR308 Kernel Structure40Module Structure40Module Overview41Task Management Function42Synchronization functions attached to task44Synchronization and Communication Function (Semaphore)47Synchronization and Communication Function (Eventflag)49Synchronization and Communication Function (Data Queue)51Synchronization and Communication Function (Mailbox)52Memory pool Management Function54Fixed-size Memory pool Management Function54Variable-size Memory Pool Management Function55Time Management Function57Cyclic Handler Function59Alarm Handler Function60System Status Management Function61Interrupt Management Function62System Configuration Management Function63Extended Function (Short Data Queue)63Extended Function (Reset Function)64Service calls That Can Be Issued from Task and Handler65Applications Development Procedure Overview69Overview70Development Procedure Example72Applications Program Coding72Configuration File Preparation74Configurator Execution75System generation75Writing ROM75Detailed Applications77Program Coding Procedure in C Language78Task Description Procedure78Writing a Kernel (OS Dependent) Interrupt Handler80Writing Non-kernel (OS-independent ) Interrupt Handler81Writing Cyclic Handler/Alarm Handler82Program Coding Procedure in Assembly Language83Writing Task83Writing Kernel(OS-dependent) Interrupt Handler85Writing Non-kernel(OS-independent) Interrupt Handler86Writing Cyclic Handler/Alarm Handler87The Use of INT Instruction88The Use of registers of bank88Regarding Interrupts89Types of Interrupt Handlers89The Use of Non-maskable Interrupt89Controlling Interrupts90Regarding Delay Dispatching92Regarding Initially Activated Task93Modifying MR308 Startup Program94C Language Startup Program (crt0mr.a30)95Memory Allocation100Section Allocation of start.a30101Section Allocation of crt0mr.a30102Using in M16C/70 Series104Using Configurator105Configuration File Creation Procedure106Configuration File Data Entry Format106Operator107Direction of computation107Configuration File Definition Items109[( System Definition Procedure )]109[( System Clock Definition Procedure )]111[( Definition respective maximum numbers of items )]112[( Task definition )]114[( Eventflag definition )]116[( Semaphore definition )]117[(Data queue definition )]118[( Short data queue definition )]119[( Mailbox definition )]120[( Fixed-size memory pool definition )]121[( Variable-size memory pool definition )]122[( Cyclic handler definition )]123[( Alarm handler definition )]125[( Interrupt vector definition )]126Configuration File Example129Configurator Execution Procedures133Configurator Overview133Setting Configurator Environment135Configurator Start Procedure136makefile generate Function137Precautions on Executing Configurator138Configurator Error Indications and Remedies139Error messages139Warning messages141Other messages141Editing makefile142About an error when you execute make143Application Creation Guide145Processing Procedures for System Calls from Handlers146System Calls from a Handler That Caused an Interrupt during147System Calls from a Handler That Caused an Interrupt during148System Calls from a Handler That Caused an Interrupt during149Stacks150System Stack and User Stack150Sample Program Description151Overview of Sample Program152Program Source Listing153Configuration File154Separate ROMs155How to Form Separate ROMs156Size: 771 KBPages: 162Language: EnglishOpen manual