⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bsp.t

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻 T
字号:
@c@c  COPYRIGHT (c) 1988-1999.@c  On-Line Applications Research Corporation (OAR).@c  All rights reserved.@c@c  $Id: bsp.t,v 1.1 2003/01/24 13:57:31 joel Exp $@c@chapter Board Support Packages@section IntroductionAn RTEMS Board Support Package (BSP) must be designedto support a particular processor and target board combination.This chapter presents a discussion of XXX specific BSPissues.   For more information on developing a BSP, refer to thechapter titled Board Support Packages in the RTEMSApplications User's Guide.@section System ResetAn RTEMS based application is initiated orre-initiated when the XXX processor is reset.  When theXXX is reset, the processor performs the following actions:@itemize @bullet@item The tracing bits of the status register are cleared todisable tracing.@item The supervisor interrupt state is entered by setting thesupervisor (S) bit and clearing the master/interrupt (M) bit ofthe status register.@item The interrupt mask of the status register is set tolevel 7 to effectively disable all maskable interrupts.@item The vector base register (VBR) is set to zero.@item The cache control register (CACR) is set to zero todisable and freeze the processor cache.@item The interrupt stack pointer (ISP) is set to the valuestored at vector 0 (bytes 0-3) of the exception vector table(EVT).@item The program counter (PC) is set to the value stored atvector 1 (bytes 4-7) of the EVT.@item The processor begins execution at the address stored inthe PC.@end itemize@section Processor InitializationThe address of the application's initialization codeshould be stored in the first vector of the EVT which will allowthe immediate vectoring to the application code.  If theapplication requires that the VBR be some value besides zero,then it should be set to the required value at this point.  Alltasks share the same XXX's VBR value.  Because interruptsare enabled automatically by RTEMS as part of the initializeexecutive directive, the VBR MUST be set before this directiveis invoked to insure correct interrupt vectoring.  If processorcaching is to be utilized, then it should be enabled during thereset application initialization code.In addition to the requirements described in theBoard Support Packages chapter of the Applications User'sManual for the reset code which is executed before the call toinitialize executive, the XXX version has the followingspecific requirements:@itemize @bullet@item Must leave the S bit of the status register set so thatthe XXX remains in the supervisor state.@item Must set the M bit of the status register to remove theXXX from the interrupt state.@item Must set the master stack pointer (MSP) such that aminimum stack size of MINIMUM_STACK_SIZE bytes is provided forthe initialize executive directive.@item Must initialize the XXX's vector table.@end itemizeNote that the BSP is not responsible for allocatingor installing the interrupt stack.  RTEMS does thisautomatically as part of initialization.  If the BSP does notinstall an interrupt stack and -- for whatever reason -- aninterrupt occurs before initialize_executive is invoked, thenthe results are unpredictable.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -