资源描述
,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,信息工程系实验中心,基于ARM的嵌入式系统实验,实验一ADS1,.,.2开,发,发环境,创,创建与,简,简要介,绍,绍,一、实,验,验目的,1.,熟,熟悉ADS1.2,开,开发环,境,境,正,确,确使用,仿,仿真调,试,试电缆,进,进行编,译,译、下,载,载、调,试,试。,二、实,验,验内容,1.,学,学习ADS1.2,开,开发环,境,境,三、实,验,验设备,1.EL,-,-ARM(DSP),-,-挂箱,教,教学实,验,验箱,PentiumII,以,以上的PC机,,,,仿真,调,调试电,缆,缆。,2.PC,操,操作系,统,统WIN98,或,或WIN2000或WINXP,ADS1.2,集,集成开,发,发环境,,,,仿真,调,调试电,缆,缆驱动,程,程序,四、实,验,验步骤,(一)ADS1.2,下,下建立,工,工程,1.运,行,行ADS1.2集成,开,开发环,境,境(CodeWarrior forARMDeveloper Suite),,点,点击File|New,在,在New对话,框,框中,,选,选择Project,栏,栏,其,中,中共有7项,ARMExecutableImage是ARM,的,的通用,模,模板。,选,选中它,即,即可生,成,成ARM的执,行,行文件,。,。同时,,,,如图2-1,-,-1。,还要在,,,,Projectname栏中,输,输入项,目,目的名,称,称,以,及,及在Location中输,入,入其存,放,放的位,置,置。,按,按,确,确定保,存,存项目,。,。,2.在,新,新建的,工,工程中,,,,选择Debug版,本,本,如,图,图2-1-2,,,,使用Edit|DebugSettings菜,单,单对Debug版本,进,进行参,数,数设置,。,。,图2-1-2,3.在,如,如图2,-,-1-3中,,点,点击Debug Setting,按,按钮,,,,弹出2-1,-,-4图,,,,选中TargetSetting,图2-1-3,图2-1-4,项,在Post-linker栏,中,中选中ARMfromELF项,。,。按OK确定,。,。这是,为,为生成,可,可执行,的,的代码,的,的初始,开,开关。,4.,在,在如,图,图2-1-5,中,中,点,击,击ARMAssembler,,,,在ArchitectureorProcesser栏中,选,选ARM920T。,这,这是要,编,编译的CPU,核,核,。,图2-1-5,5.在,如,如图2,-,-1-6中,,点,点击ARMCCompliler,,,,在ArchitectureorProcesser栏中,选,选ARM920T。,这,这是要,编,编译的CPU,核,核。,图2-1-6,6.,在,在如图2-1,-,-7中,,,,点击ARMlinker,,,,在outpur栏,中,中设定,程,程序的,代,代码段,地,地址,,以,以及数,据,据使用,的,的地址,。,。图中,的,的ROBase栏,中,中填写,程,程序代,码,码存放,的,的起始,地,地址,RWBase栏中,填,填写程,序,序数据,存,存放的,起,起始地,址,址。该,地,地址是,属,属于SDRAM的地,址,址。,图2-1-7,图2-1-8,在options栏,中,中,如,图,图2-1-8,,,,Imageentrypoint,要,要填写,程,程序代,码,码的入,口,口地址,,,,其他,保,保持不,变,变,如,果,果是在SDRAM中,运,运行,,则,则可在0 x300000000 x33ffffff,中,中选值,,,,这是64MSDRAM,的,的地址,,,,但是,这,这里用,的,的是起,始,始地址,,,,所以,必,必须把,你,你的程,序,序空间,给,给留出,来,来,并,且,且还要,留,留出足,够,够的程,序,序使用,的,的数据,空,空间,,而,而且还,必,必须是4字节,对,对齐的,地,地址(ARM,状,状态),。,。通常,入,入口点Imageentrypoint,为,为0 x30000000,ro_base也为0 x30000000。,在Layout栏中,,,,如图2-1,-,-9,,在,在Placeatbeginning of image框内,,,,需要,填,填写项,目,目的入,口,口程序,的,的目标,文,文件名,,,,如,,整,整个工,程,程项目,的,的入口,程,程序是2410init.s,那,么,么应在Object,/,/Symbol处填,写,写其目,标,标文件,名,名2410init,.,.o,,在,在Section处,填,填写程,序,序入口,的,的起始,段,段标号,。,。它的,作,作用是,通,通知编,译,译器,,整,整个项,目,目的开,始,始运行,,,,是从,该,该段开,始,始的。,图2-1-9,7.,在,在如图2-1,-,-10,中,中,即,在,在DebugSetting对,话,话框中,点,点击左,栏,栏的ARMfromELF项,,,,在Outputfile name,栏,栏中设,置,置输出,文,文件名,*,*.bin,,前,前缀名,可,可以自,己,己取,,在,在Output format,栏,栏中选,择,择Plainbinary,这,是,是设置,要,要下载,到,到flash,中,中的二,进,进制文,件,件。图2-1,-,-10,中,中使用,的,的是test.bin.,图2-1-10,8.,到,到此,,在,在ADS1.2中的,基,基本设,置,置已经,完,完成,,可,可以将,该,该新建,的,的空的,项,项目文,件,件作为,模,模板保,存,存起来,。,。首先,,,,要将,该,该项目,工,工程文,件,件改一,个,个合适,的,的名字,,,,如S3C2410ARM.mcp,等,等,然,后,后,在ADS1.2,软,软件安,装,装的目,录,录下的Stationary 目,录,录下新,建,建一个,合,合适的,模,模板目,录,录名,,如,如,S3C2410ARM ExecutableImage,再将,刚,刚刚设,置,置完的S3c2410 ARM.mcp,项,项目文,件,件存放,到,到该目,录,录下即,可,可。这,样,样,就,能,能在图2-1,-,-10,中,中看到,该,该模板,。,。,9.新,建,建项目,工,工程后,,,,就可,以,以执行,菜,菜单Project|AddFiles把,和,和工程,所,所有相,关,关的文,件,件加入,,,,ADS1.2不能,自,自动进,行,行文件,分,分类,,用,用户必,须,须通过Project,|,|Create Group 来,创,创建文,件,件夹,,然,然后把,加,加入的,文,文件选,中,中,移,入,入文件,夹,夹。或,者,者鼠标,放,放在文,件,件填加,区,区,右,键,键点击,,,,即出,!,!如图2-1,-,-11,图2-1-11,先选AddFiles,,加,加入文,件,件,再,选,选Create Group,创,建,建文件,夹,夹,然,后,后把文,件,件移入,文,文件夹,内,内。读,者,者可根,据,据自己,习,习惯,,更,更改Edit|Preference窗口,内,内关于,文,文本编,辑,辑的颜,色,色、字,体,体大小,,,,形状,,,,变量,、,、函数,的,的颜色,等,等等设,置,置。如,图,图2-1-12。,图2-1-12,(二)ADS1.2,下,下仿真,、,、调试,在ADS1.2下进,行,行仿真,调,调试,,首,首先需,要,要一根,仿,仿真调,试,试电缆,。,。其驱,动,动程序,的,的安装,和,和使用,在,在光盘,中,中的,实,实验软,件,件ARM9,_,_RDI中,,里,里面有,相,相关的,文,文档。,在,在连上,调,调试电,缆,缆后,,给,给实验,箱,箱上电,,,,,打开调,试,试软件AXDDebugger,。,。点击File|loadimage 加,载,载文件ADS.axf,(,(实,验,验程序,HARDWARE,ADS实,验,验一ADS,ADS,_,_data目,录,录下),。,。打开,超,超级终,端,端,设,置,置其参,数,数为:,波,波特率,为,为115200,数,据,据位数8,奇,偶,偶校验,无,无,停,止,止位无1,数,据,据流控,无,无。点,击,击全速,运,运行,,出,出现图2-1,-,-13,的,的界面,:,:,图2-1-13,在最后,介,介绍调试按钮,,上图,,左,左起第,一,一个是,全,全速运,行,行,第,二,二个是,停,停止运,行,行,第,三,三个跳,入,入函数,内,内部,,第,第四个,单,单步执,行,行,第,五,五个跳,出,出函数,。,。,到此,,开,开发环,境,境就全,部,部介绍,完,完了,,这,这是ARM的开发,基,基础,,希,希望有,所,所收获,。,。,实验二,基,基,于,于ARM的C,语,语言程,序,序设计,简,简介,一、实,验,验目的,1.了,解,解ARM C,语,语言的,基,基本框,架,架,学,会,会使用ARM,的,的C语,言,言编程,二、实,验,验内容,1.,用,用C语,言,言编写,一,一个简,单,单的应,用,用程序,三、实,验,验设备,1.EL-ARM,(,(DSP)-,挂,挂箱教,学,学实验,箱,箱,PentiumII以,上,上的PC机,,仿,仿真调,试,试电缆,,,,串口,电,电缆。,2.PC操,作,作系统WIN98或WIN2000或WINXP,ADS1,.,.2集,成,成开发,环,环境,,仿,仿真调,试,试驱动,程,程序,四、ARMC语言,简,简介与,使,使用规,则,则,1.ARM使用C语言,编,编程是,大,大势所,趋,趋,在应用,系,系统的,程,程序设,计,计中,,若,若所有,的,的编程,任,任务均,由,由汇编,语,语言来,完,完成,,其,其工作,量,量巨大,,,,并且,不,不易移,植,植。由,于,于ARM的程,序,序执行,速,速度较,高,高,存,储,储器的,存,存储速,度,度和存,储,储量也,很,很高,,因,因此,C语言,的,的特点,充,充分发,挥,挥,使,得,得应用,程,程序的,开,开发时,间,间大为,缩,缩短,,代,代码的,移,移植十,分,分方便,,,,程序,的,的重复,使,使用率,提,提高,,程,程序架,构,构清晰,易,易懂,,管,管理较,为,为容易,等,等等。,因,因此,C语言,的,的在ARM编,程,程中具,有,有重要,地,地位。,2.ARM C,语,语言程,序,序的基,本,本规则,在ARM程序,的,的开发,中,中,需,要,要大量,读,读写硬,件,件寄存,器,器,并,且,且尽量,缩,缩短程,序,序的执,行,行时间,的,的代码,一,一般使,用,用汇编,语,语言来,编,编写,,比,比如ARM的,启,启动代,码,码,ARM的,操,操作系,统,统的移,植,植代码,等,等,除,此,此之外,,,,绝大,多,多数代,码,码可以,使,使用C,语,语言来,完,完成。,C语言,使,使用的,是,是标准,的,的C语,言,言,ARM的,开,开发环,境,境实际,上,上就是,嵌,嵌入了,一,一个C,语,语言的,集,集成开,发,发环境,,,,只不,过,过这个,开,开发环,境,境和ARM的,硬,硬件紧,密,密相关,。,。,在使用C语言,时,时,要,用,用到和,汇,汇编语,言,言的混,合,合编程,。,。当汇,编,编代码,较,较为简,洁,洁,则,可,可使用,直,直接内,嵌,嵌汇编,的,的方法,,,,否则,,,,使用,将,将汇编,文,文件以,文,文件的,形,形式加,入,入项目,当,当中,,通,通过ATPCS的规,定,定与C,程,程序相,互,互调用,与,与访问,。,。,ATPCS,,就,就是ARM、Thumb的,过,过程调,用,用标准,(,(ARM/Thumb ProcedureCall Standard),,它,它规定,了,了一些,子,子程序,间,间调用,的,的基本,规,规则。,如,如寄存,器,器的使,用,用规则,,,,堆栈,的,的使用,规,规则,,参,参
展开阅读全文