ReWorks嵌入式应用开发培训讲座BSP开发.ppt
《ReWorks嵌入式应用开发培训讲座BSP开发.ppt》由会员分享,可在线阅读,更多相关《ReWorks嵌入式应用开发培训讲座BSP开发.ppt(47页珍藏版)》请在三一办公上搜索。
1、中国电子科技集团公司第三十二研究所自主可控计算研究院,ReWorks嵌入式应用开发,ReWorks BSP开发,1.ReWorks实时操作系统概述,4.ReWorks BSP实例分析,2,培训大纲,5.ReWorks核心功能介绍,2.ReDe开发环境介绍,3.ReWorks BSP开发,8.ReWorks设备驱动开发,6.ReWorks核心功能实例分析与实验,7.ReWorks扩展功能介绍,9.ReWorks实例分析与实验,3,目录,BSP简介:BSP的定义、功能及开发方式。,ReWorks BSP的结构:BSP的组成结果及模块定义。,1,2,4,ReWorks BSP的集成与测试:详述将Re
2、Works BSP集成到ReDe开发环境中构造应用对BSP测试。,ReWorks BSP的开发:详述X86平台下ReWorks BSP的开发。,3,4,BSP的定义,BSP(Board Support Packet板级支持包)是介于底层硬件和上层软件之间的底层软件开发包,主要功能为屏蔽硬件,提供操作系统的驱动及硬件驱动。,是嵌入式操作系统的一个特有概念。相当PC机中的BIOS+驱动,5,BSP的功能,系统重启(reboot)轮询打印(printk)I/O访问其它自定义接口,BSP的主要功能包括上电时硬件的初始化,为操作系统访问硬件提供接口支持,为应用访问硬件提供接口支持。,中断管理MMU管理系
3、统时钟实时时钟异常处理,初始化,CPU寄存器初始化目标板硬件初始化堆栈初始化,操作系统支持,应用支持,6,BSP在嵌入式系统中的位置,7,BSP开发流程,结合合适的参考BSP或BSP模板代码准备开发调试环境(仿真器、仿真软件)修改编写ReWorks预初始化代码加载串口驱动(为使用串口调试)一旦内核激活后,连接系统中断使能系统时钟配置CACHE&MMU完成BSP需要支持的其他特性测试、文档,8,BSP目标,BSP目标,BSP目标,9,BSP开发方式,在开发系统的最小系统时,通常使用仿真器来开发。常用的仿真器是JTEG仿真器,例如Trace32。,使用仿真器,一般在已经有了成熟模板的情况下,可以使
4、用点灯的方法来调试程序,通过在不同的程序段加入点灯程序,可以观察程序的运行情况。,使用点灯的方法,使用串口轮询输出的方式调试程序,可以观察程序的运行情况。,使用串口轮询打印,方式一,方式二,方式三,在BSP开发较成熟时,可使用串口调试工具,例如ReDe系统调试工具调试。,使用串口交叉调试工具,方式四,10,目录,BSP简介:BSP的定义、功能及开发方式。,ReWorks BSP的结构:BSP的组成结果及模块定义。,1,2,4,ReWorks BSP的集成与测试:详述将ReWorks BSP集成到ReDe开发环境中构造应用对BSP测试。,ReWorks BSP的开发:详述X86平台下ReWork
5、s BSP的开发。,3,11,ReWorks BSP组成结构,ReWorks BSP主要包括,系统引导模块BSP初始化模块可编程中断控制器模块系统时钟模块实时时钟模块MMU和CACHE配置模块其它应用模块(热重启与轮询输出),12,ReWorks BSP模版,BSP的开发模版,ReWorks BSP定义了开发模版,需实现如下七个接口,BSP初始化接口可编程中断控制器模块接口系统时钟模块接口MMU和CACHE配置模块接口实时时钟模块接口轮询打印接口热重启接口,13,ReWorks BSP模版,void bsp_module_init(void);,BSP初始化入口在ReWorks核心启动入口c_
6、main中调用。BSP初始化入口主要完成了基本硬件的初始化、注册目标板中断数量、初始化轮询打印模块等。,接口语法,接口说明,BSP初始化接口,14,ReWorks BSP模版,int pic_hw_init(void);int pic_int_ack(int interrupt_pending);int pic_int_enable(u32 irq);int pic_int_disable(u32 irq);,可编程中断控制器接口操作包括两部分接口:硬件初始化接口和中断操作接口;硬件初始化接口在BSP初始化接口的硬件初始化接口中调用;中断操作接口在CSP中断模块中对中断进行处理时调用。与可编程
7、中断控制器硬件交互,向ReWorks中断框架提供中断响应、中断使能和中断屏蔽等主要操作。,接口语法,接口说明,可编程中断控制器模块接口,15,ReWorks BSP模版,int clock_module_init(void);void arch_clock_start(void);int arch_clock_ack(void);void arch_clock_off(void);u32 arch_clock_rate_set(int ticks_per_second);,系统时钟模块为ReWorks所必需的模块;该模块主要实现时钟中断功能。系统时钟模块在ReWorks核心初始化过程中调用。时
8、钟模块操作接口对可编程定时器进行操作。时钟模块接口分为两部分:时钟初始化接口和时钟操作接口。时钟初始化接口clock_module_init在ReWorks启动函数c_main中调用;时钟模块操作接口主要包括:时钟启动接口、时钟中断响应接口、时钟速率设置接口等。,接口语法,接口说明,系统时钟模块接口,16,ReWorks BSP模版,void mmu_config(void);void cache_module_init(CACHE_MODE inst,CACHE_MODE data);void cache_enable(CACHE_TYPE cache);void cache_disable
9、(CACHE_TYPE cache);,MMU配置模块用于完成系统内存配置。MMU模块通过调用ReWorks的MMU配置项增加接口mmu_config_item_add完成。MMU配置接口在ReDe集成开发环境勾选MMU模块后调用。CACHE配置模块用于完成系统高速缓存配置。CACHE配置接口在ReDe集成开发环境勾选MMU模块后调用。,接口语法,接口说明,MMU配置模块接口,17,ReWorks BSP模版,void rtc_module_init(void);int rtc_read(struct tm*the_tm);int rtc_write(struct tm*the_tm);,实时
10、时钟一般作为单独的ReDe集成开发环境“资源组件”的形式发布,由用户通过“勾选”该“资源组件”将实时时钟添加至ReWorks中。实时时钟操作接口主要包括两个部分:实时时钟模块初始化接口和实时时钟读写操作接口。,接口语法,接口说明,实时时钟模块接口,18,ReWorks BSP模版,void printk_debug_outchar(char c);void printk_debug_hw_init(void);,printk调试输出模块主要包括两个接口:字符输出接口和硬件初始化接口;硬件初始化接口printk_debug_hw_init统一在BSP模块初始化接口bsp_module_init中
11、调用完成初始化字符输出接口printk_debug_outchar在BSP模块初始化接口中通过printk_init接口注册到printk模块。编程人员通过printk输出打印信息时,调用该字符输出接口进行字符输出。,接口语法,接口说明,轮询打印接口,19,ReWorks BSP模版,void reboot(void);,reboot接口的实现与处理器体系结构相关。reboot重启动接口用于重新启动系统,即完成软硬件的复位操作,接口语法,接口说明,热重启接口,20,ReWorks启动流程,ReWorks嵌入式实时操作系统的入口为start.s中的函数start启动后,完成操作系统运行环境初始化
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ReWorks 嵌入式 应用 开发 培训 讲座 BSP

链接地址:https://www.31ppt.com/p-2972944.html