欢迎来到天天文库
浏览记录
ID:36329833
大小:1.01 MB
页数:45页
时间:2019-05-09
《rtos(程序员-开发环境)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1RTOS编程培训2课程目的掌握RGOS线程调度的基本原理熟练应用IPC进行多线程开发掌握RGOS的中断和定时器管理机制掌握RGOS内存管理的正确使用方法学会搭建RGOS的编程环境,掌握基本的嵌入式开发和调试技能3考核方式笔试(闭卷)60%上机40%编程练习上机调试4课程内容开发环境与调试方法系统调度、中断与线程间通信多线程开发常见问题、定时器与内存管理5学习指导RGOS的一些基本概念注意理解和区分理解并掌握各种机制的应用场合对开发过程中的约束和注意事项要牢记接口只要在要用的时候会用即可参考资料OperatingS
2、ystemConceptsAbrahamSilberschatzPeterBaerGalvin,GregGagneJohnWiley&sons,Inc.《操作系统概念》高等教育出版社Real-TimeConceptsForEmbeddedSystemsQingLi,CarolineYaoCMPBooks《嵌入式系统的实时概念》北京航空航天大学出版社http://svn.ruijie.net/platform/howto/index.htmlhttp://svn.ruijie.net/platform/api/ind
3、ex.html7开发环境开发基本流程子系统常用调试方法开发环境host主机平台X86+Windows/LinuxTarget目标平台PPC/MIPS/ARM9交叉编译在A平台上编译生成B平台运行的程序交叉编译器为什么要交叉编译?目标平台缺乏编译环境目标平台未建立目标平台不支持直接主机编译(资源限制)10编译链接环境Cygwin下载地址:ftp://user@192.168.5.142/#应用软件#/编译工具类/Cygwin-20050107.rar安装方式略交叉编译器PPC:ftp://user@192.168.5
4、.142/#应用软件#/编译工具类/gcc-compile/gcc3.4.4-ppc-eabi/其他:需要时再找安装方式:解压缩到cygwin的根目录下将交叉编译器的bin目录添加到系统环境变量“path”中11启动引导方式交换机:三级引导Boot->Ctrl->Main路由器:二级引导Bootloader->Main为什么需要多级引导?Boot:功能最简单,负责初始化最基本的运行环境。仅能使用串口进行对外交互。Ctrl/Bootloader:相对Boot增加了网口驱动,文件系统等功能。Main:功能最丰富,包括了
5、各种上传应用协议等等。12代码结构根目录kernelarchdriverincludetargetppcmipspcii2carchdriverprojectmpc82xxsibytes57r36mainbootctrls57buildconfr36archkerneldrivertarget存放配置结果存放编译链接产生的中间文件和最终文件源代码文件ProgramProject编译工程13开发环境开发基本流程子系统常用调试方法14开发基本流程第一步:编写源代码(略)第二步:编写源码相关的配置文件(包括makefil
6、e文件)第三步:进行工程配置第四步:编译第五步:将编译生成的程序载入到目标板上第六步:运行程序15基础知识:几种重要的文件类型主config.in文件位置:./scripts/作用:生成配置结果文件(.config)以及头文件(autoconf.h)主makefile文件位置:根目录下作用:根据配置结果文件确定需要编译哪些子目录,并将这些子目录的.o文件链接成最终的目标文件16基础知识:几种重要的文件类型config.in文件位置:各个模块所在目录作用:对当前模块进行配置,以支持模块的卸载和添加makefile文件
7、位置:各个源文件所在目录作用:根据配置确定该目录下的哪些源文件和子目录需要被编译以上两个文件统称为该模块的配置文件17基础知识:几种重要的文件类型Rules.make位置:根目录下作用:确定编译的依赖规则,并根据配置文件逐层递归遍历每个目录下的各个子目录,编译生成对应的.o文件18如何进行配置和编译例子:S57主程序的配置(Program:main;Project:s57)1.进入/project/main/s57/目录2.执行./makesconfig命令3.根据提示进行配置4.执行./makes命令进行编译19
8、第二步:编写配置文件配置项的命名必须以“CONFIG_”开头。建议是“CONFIG_[模块名]_变量名”的格式配置项的定义define_boolbooldefine_intintdefine_stringstringdefine_hexhex20第二步:编写配置文件配置项定义例子:hex'Thealloclimitsofpacketbuffer'CONFIG
此文档下载收益归作者所有