1、所谓综合一体的实训体系是指以提升学生的工程实践能力为目标,综合考虑学生在校期间所有的实训环节,实施多层次相结合、课内外相结合、校内外相结合的措施,使得各个实训环节形成相互衔接逐步深入的整体性有机体系。实施多层次相结合的实训方式,就是结合理论教学中选取的典型嵌入式系统工程项目,将其功能分解到实训的各个环节之中,使得嵌入式系统教学中所涉及的各种实验、实习、设计和训练在内容上相互衔接成为一体,学生可以由浅入深,逐步深入地完成嵌入式系统工程项目的开发实践。比如嵌入式系统项目“基于触摸屏的信息查询系统”,可以按图1.1所示分解为四个层次,即理论教学、课程实验、综合设计和毕业设计。其中,后三个层次涉及实践
2、教学,相互之间是逐步深入的,课程实验为后面两个环节奠定了基础;综合设计所设计的简易信息查询系统没有使用嵌入式操作系统,只是将相关课程实验综合在一起,完成从基础验证性实验到综合拓展性实验的跨越;毕业设计就是在综合设计的基础上引入嵌入式Linux操作系统,从而设计一个功能完善的信息查询系统,完成综合拓展性实验到研究创新性实验的跨越。图1.1 嵌入式系统项目实训分层实例综合设计及毕业设计等环节的嵌入式系统设计项目,需要以嵌入式系统理论教学为基础,必须将嵌入式系统项目渗透到理论教学之中,如图1.2所示,通过选取若干典型的嵌入式系统项目,将其按照课程教学大纲进行分解,提炼出每个项目所涵盖的知识点,形成相
3、应教学案例;另一方面,可对这些项目进行归纳,得到项目描述及项目需求。在实施教学的时候,可以先给学生介绍项目描述,使之对这些项目有总体认识,然后再结合教学案例,讲解相关知识点;在本课程结束之后,学生已掌握了课程的基础知识和基本技能;最后,学生可以根据项目需求,自己动手实现这些项目,从而将所学知识融会贯通,提升工程实践能力。图1.2 将嵌入式系统项目渗透到理论教学的方法本指导书便是遵循上述原则和方法,针对每一个综合设计的课题,给出了相应的项目描述、项目需求、理论知识点、基础实验,并针对无嵌入式操作系统、C/OS-操作系统,给出了一个完整的范例。1.3 项目设计的要求(1)项目设计采用分组合作的形式
4、实施,模拟公司项目研发的流程,每个学生担任项目组的不同角色,最大限度地接近真实情境,目的就是让学生深入了解公司项目研发的过程,培养团队合作的精神;(2)必须按照工程化开发流程,撰写相应的文档和代码,最后还必须通过课设答辩。课设成果包括设计文档、程序代码等。文档必须按照规定的格式撰写;(3)课设答辩必须撰写PPT,简要阐述所完成的主要工作,自我阐述时间控制在8分钟之内;自我阐述之后,还需回答指导教师所提的2-3个问题。(4)考核办法及评分比例:设计文档占30%,程序代码占30%,答辩占20%,考勤占20%。1.4 项目设计文档撰写要求及其规范1.4.1 文档撰写规范(1)版面要求A4纸打印,正文
5、中任何部分不得超出边框;页面设置:上、下、左2.5厘米,右2厘米;采用单倍行距,标准字符间距,西文、数字等符号采用times new roman字体;论文题目用小2号黑体字如:简易智能电风扇的设计或简易电子告示板的设计目录:用小4号宋体字;正文:小4号宋体字;参考文献:5号宋体字;图表字号:5号宋体字。(2)标题层次全部标题层次有条不紊,整齐清晰。章节号采用阿拉伯数字编号方法,第一级为1,2,3等,第二级为2.1,2.2,2.3等,第三级为2.1.1,2.1.1等,如此类推。各层标题均单独占行书写第一级标题(章)用3号黑体字,居中。第二级标题(节)用4号黑体字,居左顶格。第三级标题用小4号黑体
6、字,居左顶格。(3)页眉页脚页眉:奇数页书写“江西理工大学应用科学学院项目设计”,偶数页书写“姓名:设计题目”,均采用小5号宋体字。页脚:页码居中。(4)参考文献书写格式按国标GB7714-87。顺序为:序号.著者.文献题名.文献类型标识.出版地.出版者.出版年.起止页码。包括:设计用到的专业课、专业基础课课本,项目设计知道书,工具书,查阅、引用过的书籍、资料,电子文献等。(5)公式公式应居中书写,有编号,编号用圆括号包括后放在公式右边行末。(6)插图及表格每幅插图应有按章编号的序号和标题,标题用5号字置于插图的下方。每个表格应有按章编号的序号和标题,标题用5号字置于表格的上方。1.4.2 文
7、档内容要求(1)封面及评分表封面格式内容见下页例。要求封面后的第一页为评分表。(2)目录章节号采用阿拉伯数字编号方法,第一级为1,2,3等,第二级为2.1,2.2,2.3等,第三级为2.1.1,2.1.1等, 标题后应对应开始页码。(3)正文正文结构形式不做具体要求,内容可根据不同题目自行调整,但至少包括:A、设计题目B、对设计题目的分析C、按照工程化开发方法对设计课题展开论述,包括需求分析、系统设计(包括概要设计和详细设计)、编码、调试等。D、需求分析部分必须给出功能需求分析、性能需求分析、课题任务目标、输入输出的要求、数据需求、系统运行环境等内容。具体可以参考文档“软件需求说明书(GB85
8、6T88).doc”E、系统设计部分包括概要设计和详细设计两个部分。概要设计要根据需求划分任务模块,给出系统的软件构架图,设计数据接口(包括用户接口、外部接口、模块间接口),设计主要数据结构;详细设计要针对每个软件模块设计函数原型,定义入口参数及出口参数,采用流程图或伪代码的形式给出每个函数的流程图,分析模块之间的关系及限定条件等。具体可以参考文档“概要设计说明书(GB856788).doc”及文档“详细设计说明书(GB856788).doc”。F、编码部分不应将代码全部贴到正文中,而应将代码放到“6、附录”部分。在设计文档的正文中,可以给出函数之间的调用关系图,简要介绍编码中用到的关键技术等
9、。具体可以参考文档“模块编码说明书.doc”。G、调试及测试部分应论述所设计的调试及测试方案,调试及测试过程中遇到的问题,分析问题产生的原因,给出处理方法。具体可以参考文档“测试分析报告(GB856788).doc”。(4)总结设计说明书最后要给出设计总结,包括:对设计效果的分析、设计过程的心得体会、设计中发现的问题、关于项目设计的意见建议等。(5)参考文献(6)附录在附录中列出主要程序清单,流程图可保留在正文中。江西理工大学应用科学学院嵌入式系统综合项目开发专 业:班 级: 学 号:姓 名:设计题目: 年 月评分表姓 名班 级学 号项目名称指导教师评分项目满分分值得分设计文档(30分)文档格
10、式封面2页面布局4目录格式3图表质量页眉页脚文档内容内容完整性6内容逻辑性5内容正确性程序代码(30分)程序功能15编程规范7编程文档8答辩(20分)课题陈述问题答辩10是否超时考勤(20分)20总评成绩指导教师评语签名: 年 月 日教研室意见答辩记录表教师提问学生答辩情况记录成绩答辩小组教师签名第2章 ADS1.2及Mini2440开发板使用方法2.1 ADS1.2集成开发环境简介2.1.1 ADS简介ADS(ARM Developer Suite)是ARM公司推出的新一代ARM集成开发工具,用来取代ARM公司以前的开发工具SDT,它是一种快速而节省成本的完整软件开发解决方案。ADS可以支持
11、ARM7/9/10系列的CPU。ADS由以下6部分组成:1)代码生成工具代码生成工具由编译器、汇编器和链接工具集组成。ARM公司针对ARM系列的每一种结构都进行了专门的优化处理,这一点除了作为ARM结构的设计者ARM公司外,其它公司都无法办到。ARM公司宣称,其代码生成工具最终生成的可执行文件可以比用其它公司的工具套件生成的文件小20%。ADS提供ARM和Thumb的C/C+的编译器和汇编器。2)集成开发环境ADS集成了功能强大的CodeWarrior IDE集成开发环境,是一个直观、易用的环境,并集成所有的ARM开发工具,它包含有项目管理器、代码生成接口、语法敏感编辑器、源文件和类浏览器、源
12、代码版本控制接口以及文本搜索引擎等。3)调试器ADS中包含有AXD,ARMSD等调试器。AXD基于windows9X/NT,除了包括以前ARM调试器(ADW和ADU)的所有特性外,还增加以下新的特性:新型的GUI。改进的窗口管理。改进的数据显示、格式及编辑。完成集成的命令行接口。调试会话设置的驻留。使用AXD加上JTAG仿真器如MultiICE可实现目标系统的在线调试。4)指令集模拟器用户使用指令模拟器(ARMulator)无须任何硬件即可在PC机上完成一部分调试工作。ADS中的指令集模拟器对基于内核处理器的ARM和Thumb提供精确的模拟。用户可在硬件做好之前开发基准测试代码。5)ARM开发
13、包ARM开发包由一些底层的例程和库组成,可以帮助用户快速开发基于ARM的应用和操作系统。具体包括系统启动代码、串口驱动程序、时钟例程和中断处理程序等。6)ARM应用库ADS的ARM应用库完美和增强了SDT中的函数库,同时还包括一些相当有用的提供了源代码的例程。ADS对一些广泛使用的函数提供了源代码。这些函数不包含在标准的C/C+库中,可将这些库结合进应用程序中,从而降低开发难度。2.1.2 ADS系统配置在编译连接时,一个工程项目中可以包括多个生成目标(Target)。我们可以通过配置来生成不同的生成选项。在ADS中,通过CodeWarrior中的Debug Settings对话框来设置一个工
14、程项目的各生成目标的配置的。Debug Settings对话框如图2.1所示。图2.1 Debug Settings对话框从图中可以看出,Debug Settings对话框主要包括6个面板:生成目标基本设置(Target)、编程语言选项设置(Language Settings)、连接器选项设置(Linker)、编辑器选项设置(Editor)、调试器选项设置(Debugger)、其他选项设置(Miscellaneous)。在这里,我们讲述一下需要设定的选项的配置方法,其它的地方一般用默认配置。这里主要讲述编程语言选项设置(Language Settings)和连接器选项设置(Linker)的配置
15、。(1)编程语言选项设置(Language Settings)。编程语言选项设置如图2.2所示,用于设置ADS中语言处理工具的选项,包括汇编器的选项和编译器的选项,这些选项对于工程项目中的所有源文件都使用,不能单独设置某一个源文件的编译选项和汇编选项。如图2.3所示,汇编器(ARM Assembler)的设置主要包括6个选项卡,分别是Target、ATPCS、Options、Predefines、Listing Control、Extras选项卡。一般地,在编译连接之前,要根据实际的硬件情况,在Target选项卡里设置ARM体系结构版本号或处理器编号、系统中浮点部件的体系结构、字节顺序(内存模
16、式)和初始状态。其它的选项一般可以使用默认状态。(2)编程语言选项设置ADS支持两种编程语言(CC+),有两种状态(ARMTHUMB状态),所以,有4个编译器的选项设置:ARM C Compiler、ARM C+ Compiler、Thumb C Compiler、Thumb C+ Compiler编译器。各个编译器包括的选项卡都差不多,ARM C Compiler编译器的选项如图2.3所示,包括8个选项卡,分别是:Target and Source、ATPCS、Warnings、Errors、Debug/Optimization、Preprocessor、Code Generation和Ex
17、tras选项卡。一般在编译连接之前,要根据实际的硬件情况,在Target and Source选项卡里设置ARM体系结构版本号或处理器编号、系统中浮点部件的体系结构、字节顺序(内存模式)和编程语言类型。另外,在这里再介绍一下Debug/Optimization选项卡,它也体现了ADS在代码优化上的一些特色。它主要用于控制编译器对源程序的优化级别以及生成的目标程序中包含的调试信息的多少。如图2.4所示。图2.2 编程语言选项设置 图2.3 ARM C Compiler编译器的选项Debug Control选项组用于控制目标文件中的调试信息。选中复选框Enable debug table gene
18、ration,指示编译器在目标文件中包含DWARF2格式的调试信息表,他支持源码级的调试。如果不选中该复选框,生成的目标文件只有有限的调试信息。选中复选框Include preprocessor symbols,编译器在目标文件中包含预处理的符号。选中复选框Enable debug of inline function,编译器将用inline声明的函数处理为非嵌入的函数,这样可以在源码级调试该函数。Optimization level选项组提供了三个级别的调试。Optimization criterion选项组提供时间和空间两种优化准则。图2.4 Debug/Optimization选项卡(3
19、)连接器选项设置(Linker)。连接器选项设置如图2.5所示,用于设置于连接器相关的选项以及与fromELF工具相关的选项,如图2.6所示。ARM连接器相关的选项(ARM Linker)包括5个选项卡,分别是Output、Options、Layout、Listings和Extras选项卡。一般在编译连接前要设置一下Output选项卡,有时也要设置一下Layout选项卡,其它的一般可以使用默认设置。Output选项卡用来控制连接器进行连接操作的类型。ARM连接器可以有3种类型的连接操作。对于不同的连接操作,需要设置的连接器选项有所不同。Output选项卡如下图所示。其中Linktype选项组中
20、的单选按钮确定使用的连接方式。选择单选按钮Partial时,连接器执行部分连接操作。部分地连接生成ELF格式的目标文件。这些目标文件可以再作为进一步连接时的输入文件,也可以作为armar工具的输入文件。选择单选按钮Simple时,连接器根据连接器选项中指定的地址映射方式,生成简单的ELF格式的映像文件。这时,所生成的映像文件中地址映射关系比较简单,如果地址映射关系比较复杂需要设置使用Scattered连接方式。当选择单选按钮Scattered时,连接器根据Scatter格式的文件中指定的地址映射方式,生成地址映射关系比较复杂的ELF格式的映像文件。在学习的初期阶段,一般选用默认的Simple格
21、式,在该格式下,需要设置以下的连接器选项。RO Base文本框用于设置映像文件中RO属性输出段的加载时地址和运行时地址。地址必须是字节对齐的。如果没有指定地址值,则使用默认的地址值0x8000。RW Base文本框用于设置映像文件中包含RW属性和ZI属性输出段运行时域的起始地址。如果本选项与选项-split一起使用时,本选项将映像文件中的RW属性和ZI属性输出段的加载时地址和运行时地址都设置成文本框中的值。当选中Ropi复选框时,映像文件中的RO属性的加载时域和运行时域是位置无关的(PI Position Independent)。否则,相应的域被标记为绝对的。当选中Rwpi复选框时,映像文件
22、中的RW属性和ZI属性段的加载时域和运行时域是位置无关的(PI Position Independent)。当选中Split复选框时,将包含RW属性和RO属性的输出段的加载时域分割为两个加载时域。图2.5 连接器选项设置 图2.6 ARM fromELF选项fromELF工具可以将ARM连接器产生的ELF格式的映像文件转换成其它格式的文件。相关的选项如下所述。Output format下拉列表框用于选择目标文件的格式。他可能的取值有9种,分别是Executable AIF(可执行的AIF格式的映像文件)、Non executable AIF(非可执行的AIF格式的映像文件)、Plain bin
23、ary(BIN格式映像文件)、Intellec Hex(IHF格式映像文件)、Motorola 32 bit Hex(Motorola 32位S格式映像文件)、Intel 32 bit Hex(Intel 32位格式映像文件)、Verilog Hex(Verilog十六进制映像文件)、ELF格式映像文件和Text information(文本信息)。Output file name文本框用于设置fromELF工具的输出文件的名称。Text format flags选项组在当输出文件为文本信息时,用于控制文本信息内容的选项,包括8个复选项。选中复选框Verbose,连接器显示关于本次连接操作的详
24、细信息。其中包括目标文件以及CC+运行时库信息;选中复选框Disassemble code,连接器显示反汇编代码;选中复选框Print contents of data sections,连接器显示数据段信息;选中复选框Print debug table,连接器显示调试表信息;选中复选框Print relocation information,连接器显示重定位信息;选中复选框Print symbol table,连接器显示符号表;选中复选框Print string table,连接器显示字符串表;选中复选框Print object sizes,连接器显示目标文件的大小信息。以上讲述了在使用AD
25、S时,需要配置的地方的详细情况,在建立一个工程项目后,连接编译前,用户可以更深刻地体会这些设置。2.1.3 工程项目管理在ADS的CodeWarrior中是通过工程项目来组织用户的源文件、库文件、头文件以及其他的输入文件。一个工程项目至少有一个生成目标,每个生成目标定义了一组选项(也就是上一节讲到配置设置),用于生成特定的目标文件。本节一步步讲述工程项目管理的使用。我们首先要建立一个工程。其步骤如后文的图所示。(1)开始 程序 ARM Developer Suit 1.2 CodeWarrior for ARM Developer Suit。图2.7 启动ADS1.2 图2.8 创建一个新工程
26、(2)File New,打开新建对话框。从图2.8可以看出,我们可以新建一个工程、源文件或者目标文件。这里我们新建一个ARM Executable Image。在Project name的文本框里输入工程项目的名称,比如ads_lx,在Location的文本框输入要建立的工程项目的路径或者点击文本框旁边的set设置工程项目的路径。点击确定,就新建了一个工程项目,如图2.9。我们可以看到,项目管理器中File视图、Link Order视图和Target视图。File视图包含了该工程项目中所有文件的列表。这些文件可以根据一定的逻辑关系进行分组。对于不包含在当前生成目标中的文件,在File视图中也给了出来。与File视图不同,Link Order视图包含了在当前生成目标中的所有输入文件,用来控制各输入文件在连接时的顺序。默认情况下,Link Order视图中各输入文件的排列顺序与File视图中各文件的排列顺序是一样的,但可以通过Link Order来改变输入文件的顺序,从而使生成的
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1