您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术开发RTEMS实时系统的板级支持包 正文
开发RTEMS实时系统的板级支持包

开发RTEMS实时系统的板级支持包

点击数:7612 次   录入时间:03-04 11:51:14   整理:http://www.55dianzi.com   嵌入式系统-技术
    ①声明和定义常量和全局变量。
    /*关于时钟设备的常量参数*/
    volatile rtems_unsigned32 CLOCk_driver_ticks;
    extern int CLOCK_SPEED;
    extern rtems_unsigned32 CPU_SPARC_CLICKS_PER_TICK;
    /*定义时钟驱动程序入口数据结构并初始化*/
    #define CLOCK_DRIVER_TABLE_ENTRY{Clock_initialize,NULL,NULL,NULL,NULL,Clock_contr01}
    ②获取接口参数。
    rtems_device_major_number
    rtems_clock_major=~O;
    rtems_device_minor_number
    rtems_clock_minor
    ③提供接口函数。
    /*时钟驱动程序初始化入口*/
    rtems_device_driver Clock_initialize()  {
    /*安装时钟中断向量,设置时钟计数器和标度器的预设值;保存时钟设备接口参数,以备系统使用*/   };
    /*时钟滴答中断处理程序*/
    rtems_isr Clock_isr()  {
    /*时钟设备的计数器和标度器设值为周期运行模式*/   };
    /*时钟设备控制入口*/

    nems—devicELDriver Clock_control()
    {
    //设置时钟滴答中断处理方式
    };
    /*关闭时钟设备*/
    void Clock_exit()
    {
    //屏蔽时钟滴答,停止时钟计数
    };
    ④启动时钟设备。
3.3 修改链接器命令脚本
    链接器命令脚本为链接器提供链接的规则,对链接过程进行显式地控制.修改链接器脚本,配置系统可用内存区域和定义可执行映像各个程序段在内存中的位置,如加载程序时代码段(.text)从RAM地址。开始放置.
    /*缺省值,可以修改*/
    _PR()M_SIZE=2M;
    _RAM_SIZE=4M;
    _RAM_START_0x02000000;
    _PROM-START=0x00000000;
    /*最终可执行程序段的内存位置*/
    SECTI()NS
    { .txt :
    { text_start=.;
    *(.text)
    .=ALIGN(16);
    }>RAM


4 建立RTEMS可执行映像
    BSP开发完成之后,与RTEMS的其他代码,如CPU依赖层、超核、API以及标准应用程序模块等,经由交叉编译工具编译连接之后,生成可以加载到目标机的RTEMS执行映像,如图3所示。

结 语
    BSP的开发对于嵌入式系统的移植具有重要意义.本文以SPARC体系微处理器ERC32为例,讨论了RTEMS BSP的功能及其开发过程.实践证明,在BSP的开发过程中,①选择一个适当的BSP模板,②深刻理解模板BSP中的相关概念。这两点相当重要。因为,选择一个相近的BSP模板可大大减少工作量和复杂度.缩短移植周期;而深刻理解相关概念有助于根据具体目标硬件环境对模板BSP进行正确修改,达到预期目的。



上一页  [1] [2] 


本文关键字:开发  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术

《开发RTEMS实时系统的板级支持包》相关文章>>>