整理 嵌入式系统实验内容

发布 2022-10-21 09:45:28 阅读 7645

熟悉arm sdt 2.5开发环境,学会arm并行口**器的使用。使用sdt编译,**,调试,并跟踪一段已有的程序。了解嵌入式开发的基本思想和过程。

本次试验使用arm sdt 2.5集成开发环境。新建一个基于操作系统的工程文件,并编译这个工程。

学习arm并行口**器的使用和开发环境的设置。**已经编译好的文件到嵌入式控制器中运行。学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。

c语言的基础知识、程序调试的基础知识和方法

硬件:arm嵌入式开发板、用于arm7tdmi的jtag**器、pc机pentumn100以上

软件:pc机操作系统win2000、arm sdt 2.51集成开发环境、**器驱动程序

五、实验步骤

1、运行arm sdt 2.5集成开发环境(arm project manager)。选择file | new菜单,在对话框中选择project,并在如图1-1所示,新建一个工程文件(

图1-1 “新建工程”对话框

2、在新建的工程中,如图1-2所示,选中工程树的“根部”。使用菜单project | tool configuration for | armasm | set,对整个工程的汇编进行设置。

图1-2 3、因为开发板上的嵌入式处理器arm7tdmi没有浮点处理器,所以,如图1-3所示,在弹出的对话框中设置floating point processor为none。保持其它的设置不变。

图1-3 4、选中工程树的“根部”,通过菜单project | tool configuration for | asmlink | set,对整个工程的连接方式进行设置。

5、在弹出的对话框中,选中entry base选项卡,如图1-4所示,设置连接的read-only(只读)和read-write(读写)地址。地址0xc000000是开发板上sdram的真实地址,是由系统的硬件决定的;0xc600000指的是系统可读写的内存的地址。也就是说,在0xc000000—0xc5ffffff之间是只读区域,存放程序的**段,在0xc600000开始是程序的数据段。

图1-4 6、选择linker configuration的imagelayout选项卡,如图1-5所示,设置程序的入口模块。指定在生成的**中,程序是从开始运行的。

图1-5 7、选中工程树中debugrel子树,用delete键删除,同样,选中工程树中release子树,用delete键删除,

提示: 在系统工程树中debug子树是下面生成的是应用程序的调试版本,在生成的目标**中,包含了系统的调试信息。release子树是应用程序的发行版本,生成的**中不包括调试信息,而且编译器还针对速度和**的大小进行优化。

debugrel子树是一个折衷版本,通常用不到,本实验中均只考虑debug子树。

8、按以下步骤步骤使编译器输出文件。

1) 选择工程树的“根部”,选择project—>edit variables for 弹出图1-6的窗口,将变量build_target的值<$>改为<$>单击ok。

图1-62) 选择project—>edit project template… 弹出图1-7,单击edit details… 将标题改为rom。单击new… 新加一个createrome构建过程。如图1-8所示。

图1-7图1-8

3) 选择project—>edit variables for 在name和value项中如图1-9填写,点击ok;在下图窗口中,将$$projectname的值改为bios。

图1-99、至此,工程文件设置完毕。因为设置过程比较繁琐,可以保存此工程,下次新建项目的时候复制即可。

提示: 可以使用file | s**e as tamplete菜单把当前工程的设置保存为模板,比如,文件。把此文件复制到arm sdt编译器的\arm251\template目录下,以后创建工程的时候,就可以直接选择使用此模板了。

模板文件也是一个工程文件(*.apj),但是,模板文件中不包括工程中文件的信息,只有编译器环境的设置。

10、把\bsp及其子目录和复制到work1的目录下。如图1-10所示。选中工程树中debug子树的sources选项。

通过菜单project | add files to sources,把bsp\和文件加入工程的源文件中,如图1-10所示。

图1-1011、选中工程树中debug子树,通过project | build “debug”菜单(或者工具

栏中的相应按钮)编译整个工程。

12、把arm的jtag**器连接到pc机的并行口和开发板上,打开开发板的电源,将光盘中jtag目录拷贝到c:\下,按照“c:\jtag\sdt251**调试方法。

pdf”中的要求安装**器的驱动程序,然后在开始->运行中输入cmd命令,在弹出窗口中输入cd c:\jtag,和winntjtag起动**器连接程序。

13、使用project | debug “debug”菜单(或者工具栏中的相应按钮)启动arm debugger软件调试程序。

14、在arm debugger中,通过options | configure debugger菜单设置**器。如图1-9所示,在弹出的对话框中,设置target environment为remote_a

图1-11

15、单击configure按钮,按照如图1-10所示,设置**器,添加本机的ip地址。

图1-1216、出现如下提示以后,请先按开发板复位按钮,然后点yes,arm debbuger开始通过**器装载程序。如图1-11所示。

图1-13

17、装载完毕以后,通过option|add search path设置工程文件路径,然后点击view|source files,会看到工程中的文件信息,如图1-14所示。

图1-14

18、通过execute | go菜单(或者工具栏中的相应按钮)运行程序。程序运行的时候,可以使用execute | stop菜单(或者工具栏中的相应按钮)暂停运行程序。如图1-12所示,在execute窗口中将显示出程序暂停的位置。

图1-15

19、通过execute | step菜单(或者工具栏中的相应按钮)可以单步运行程序。也可以使用step in、step out菜单命令进入或者跳出函数的调用。

20、在源文件列表中打开文件。选择源文件中的某一行,右击鼠标,如图1-14所示,用toggle breakpoint快捷菜单命令可以设置断点,使程序运行到这里停下来。

图1-16

21、使用在view菜单下的registers、variables和memory命令可以查看工作寄存器或者内存变量。读者可以逐一的尝试,为以后调试程序打下基础。

学习使用ultraedit c**文本编辑器。掌握uart_printf()函数的用法。学会使用ppcboot,tftp和超级终端进行嵌入式应用开发。

二、实验内容

使用ultraedit c**文本编辑器,编写一段程序,在串口显示“hello world”等文本。利用ppcboot与tftp将程序**到arm板。

用arm sdt 2.5集成开发环境,编写和调试程序的基本过程。

硬件:arm嵌入式开发板、用于arm7tdmi的jtag**器、pc机pentumn100以上,串口线。

软件:pc机操作系统win2000、arm sdt 2.51集成开发环境、**器驱动程序、ultraedit、tftp。

1、 在arm sdt 2.51中,打开实验一中创建好的工程work1。

2、 启动ultraedit,通过ultraedit的files | open菜单(或者相应的工具栏按钮)打开eg1\可以看到,ultraedit是一个很方便的c**阅读和编辑工具,它会自动区分c语言的语法,把变量、函数和宏定义等都特殊的显示出来便于阅读。很适合于编辑大型软件。花20分钟熟悉一下ultraedit,同时阅读文件的**。

3、重点分析main函数中的**,了解系统的启动过程。main函数的**如下:

void main(void)

bsp_init();

while(1)

4、系统从bsp\cpu\开始执行,进行简单的初始化后即进入main()函数,bsp_init()用于初始化arm板,然后进行while(1)死循环(注意系统任务都是死循环形式,没有返回)。uart_printf()的格式可以参看bsp\uart\

5、读者可以将uart_printf()中的内容变更,看运行后超级终端有什么不同。

6、编译并**程序,调试程序。开启tftp服务程序,设置此即为将要下到arm板运行的映象文件)的路径,如图2-1

图2-17、运行windows系统下的超级终端(hyperterminal)应用程序,如图2-2所示新建一个终端通讯,取名为arm。单击确定按钮。

嵌入式系统实验

哈尔滨德强学院。实验报告 题目 嵌入式系统设计。院 系 德强商务学院计算机系。姓名 指导教师 多智华。系主任 葛雷 2010年10月15日。实验。一 使用ads1.2调试程序。一 实验内容和目的。1 熟悉adtide adt2000 support 运行环境。2 使用adtide adt2000 s...

嵌入式系统 实验

实验一 基于ads的c语言程序实验。一 实验环境。pc机一台 ads 1.2集成开发环境一套。二 实验目的。通过实验了解使用ads 1.2编写c语言程序,并进行调试。三 实验内容。在c语言的环境内开发应用程序,一般需要一个汇编的启动程序,从汇编的启动程序,跳到c语言下的主程序,然后,执行c程序,具体...

《嵌入式系统实验》作业

用于验证一个常见的冲突问题。在这个问题中,有5个哲学家坐在一个圆桌上。食物摆在桌子中间,桌子上总共有5把叉子,每个哲学家的左右手各有一把。因为吃饭时,哲学家需要同时使用左手和右手的叉子,所以哲学家必须和他左边和右边的哲学家共享叉子。在这个实验中,假定哲学家每次吃饭的时间长度为单位1,吃完一次后则放下...