文档详情

基于ARM的嵌入式系统实验课件唐山学院

45****2h
实名认证
店铺
2024-12-11
PPTX
668.65KB
约39页
基于ARM的嵌入式系统实验课件唐山学院_第1页
1/39
基于ARM的嵌入式系统实验课件唐山学院_第2页
2/39
基于ARM的嵌入式系统实验课件唐山学院_第3页
3/39

单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,信息工程系实验中心,基于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 for ARM Developer Suite),点击 File|New,在New对话框中,选择Project栏,其中共有7项,ARM Executable Image是ARM的通用模板选中它即可生成ARM的执行文件同时,如图2-1-1还要在,Project name栏中输入项目的名称,以及在Location中输入其存放的位置按确定保存项目2.在新建的工程中,选择Debug版本,如图2-1-2,使用 Edit|Debug Settings菜单对Debug版本进行参数设置。

图2-1-2,3.在如图2-1-3中,点击Debug Setting 按钮,弹出2-1-4图,选中Target Setting,图2-1-3,图2-1-4,项,在Post-linker栏中选中ARM fromELF项按OK确定这是为生成可执行的代码的初始开关4.在如图2-1-5中,点击ARM Assembler,在Architecture or Processer栏中选ARM920T这是要编译的CPU核,图2-1-5,5.在如图2-1-6中,点击ARM C Compliler,在Architecture or Processer栏中选ARM920T这是要编译的CPU核图2-1-6,6.在如图2-1-7中,点击ARM linker,在outpur栏中设定程序的代码段地址,以及数据使用的地址图中的RO Base栏中填写程序代码存放的起始地址,RW Base栏中填写程序数据存放的起始地址该地址是属于SDRAM的地址图2-1-7,图2-1-8,在options栏中,如图2-1-8,Image entry point要填写程序代码的入口地址,其他保持不变,如果是在SDRAM中运行,则可在0 x300000000 x33ffffff中选值,这是64M SDRAM的地址,但是这里用的是起始地址,所以必须把你的程序空间给留出来,并且还要留出足够的程序使用的数据空间,而且还必须是4字节对齐的地址(ARM状态)。

通常入口点Image entry point 为0 x30000000,ro_base也为0 x30000000在Layout栏中,如图2-1-9,在Place at beginning of image框内,需要填写项目的入口程序的目标文件名,如,整个工程项目的入口程序是2410init.s,那么应在Object/Symbol处填写其目标文件名2410init.o,在Section处填写程序入口的起始段标号它的作用是通知编译器,整个项目的开始运行,是从该段开始的图2-1-9,7.在如,图,图2-1-10中,即,在,在Debug Setting对,话,话框中点击,左,左栏的ARM fromELF,项,项,在Outputfilename栏,中,中设置输出,文,文件名*.bin,前,缀,缀名可以自,己,己取,在Outputformat 栏中,选,选择Plain binary,这,这是设置要,下,下载到flash中的,二,二进制文件,图2-1-10中使,用,用的是 test.bin.,图2-1-10,8.到此,,,,在ADS1.2中的,基,基本设置已,经,经完成,可,以,以将该新建,的,的空的项目,文,文件作为模,板,板保存起来,。

首先,要,将,将该项目工,程,程文件改一,个,个合适的名,字,字,如S3C2410ARM.mcp等,,,,然后,在ADS1.2软件安装,的,的目录下的Stationary,目,目录下新,建,建一个合适,的,的模板目录,名,名,如,S3C2410 ARMExecutable Image,再将,刚,刚刚设置完,的,的S3c2410 ARM.mcp项目文件,存,存放到该目,录,录下即可这,这样,就能,在,在图2-1-10中看,到,到该模板9.新建项,目,目工程后,,就,就可以执行,菜,菜单 Project|AddFiles,把,把和工程所,有,有相关的文,件,件加入,ADS1.2,不,不能自动进,行,行文件分类,,,,用户必须,通,通过 Project|Create Group,来,来创建文件,夹,夹,然后把,加,加入的文件,选,选中,移入,文,文件夹或,者,者鼠标放在,文,文件填加区,,,,右键点击,,,,即出!如,图,图2-1-11,图2-1-11,先选AddFiles,加入文,件,件,再选CreateGroup,创建文,件,件夹,然后,把,把文件移入,文,文件夹内读,读者可根据,自,自己习惯,,更,更改 Edit|Preference窗,口,口内关于文,本,本编辑的颜,色,色、字体大,小,小,形状,,变,变量、函数,的,的颜色等等,设,设置。

如图2-1-12图2-1-12,(二)ADS1.2下,仿,仿真、调试,在ADS1.2下进行,仿,仿真调试,,首,首先需要一,根,根仿真调试,电,电缆其驱,动,动程序的安,装,装和使用在,光,光盘中的,实,实验软件ARM9_RDI中,,里,里面有相关,的,的文档在,连,连上调试电,缆,缆后,给实,验,验箱上电,,打开调试软,件,件AXDDebugger点,击,击 File|loadimage,加,加载文件ADS.axf(实验程序HARDWAREADS实,验,验一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/ThumbProcedureCallStandard),,它,它规定了一,些,些子程序间,调,调用的基本,规,规则如寄,存,存器的使用,规,规则,堆栈,的,的使用规则,,,,参数的传,递,递规则等在C程序和ARM的汇,编,编程序之间,相,相互调用必,须,须遵守ATPCS而,使,使用ADS,的,的C语言编,译,译器编译的C语言子程,序,序满足用户,指,指定的ATPCS的规,则,则但是,,对,对于汇编语,言,言来说,完,全,全要依赖用,户,户保证各个,子,子程序遵循ATPCS,的,的规则。

具,体,体来说,汇,编,编语言的子,程,程序应满足,下,下面3个条,件,件:,在子程,序,序编写时,,必,必须遵守相,应,应的ATPCS规则;,堆栈的,使,使用要遵守,相,相应的ATPCS规则,;,;,在汇编,编,编译器中使,用,用-atpcs,选,选项基本的ATPCS规定,,,,请详见提,供,供的相关PDF文档汇编程序调,用,用C程序,汇编程序的,设,设置要遵循ATPCS,规,规则,保证,程,程序调用时,参,参数正确传,递,递在汇编程序,中,中使用IMPORT伪,指,指令声明将,要,要调用的C,程,程序函数在调用C程,序,序时,要正,确,确设置入口,参,参数,然后,使,使用BL调,用,用C程序调用,汇,汇编程序,汇编程序的,设,设置要遵循ATPCS,规,规则,保证,程,程序调用时,参,参数正确传,递,递在汇编程序,中,中使用EXPORT伪,指,指令声明本,子,子程序,使,其,其他程序可,以,以调用此子,程,程序在C语言中,使,使用extern关键,字,字声明外部,函,函数(声明,要,要调用的汇,编,编子程序),在C语言的,环,环境内开发,应,应用程序,,一,一般需要一,个,个汇编的启,动,动程序,从,汇,汇编的启动,程,程序,跳到C语言下的,主,主程序,然,后,后,执行C,程,程序,在C,环,环境下读写,硬,硬件的寄存,器,器,一般是,通,通过宏调用,,,,在每个项,目,目文件的Startup2410/INC目,录,录下都有一,个,个2410addr.h的头文件,,,,那里面定,义,义了所有关,于,于2410,的,的硬件寄存,器,器的宏,对,宏,宏的读写,,就,就能操作2410的硬,件,件。

具体的编程,规,规则同标准C语言3.简,单,单的小例子,下面是一个,简,简单的小例,子,子,IMPORT Main,AREAInit,CODE,READONLY;,ENTRY,LDRR0,=0 x01d00000,LDRR1,=0 x245,STRR1,R0,;,;把0 x245,放,放到地址0X01D00000,BLMain,;,;跳转到Main()函数处的C/C+,程,程序,END,;,;标,识,识汇编程序,结,结束,以。

下载提示
相关文档
正为您匹配相似的精品文档