海同教育-嵌入式培训专家 ARM开发培训班实验指导V1.0
实验九、C语言中嵌入型汇编程序实验
【实验内容】
建立一个简单的C语言代码,加入嵌入型汇编代码。编译通过后,调试结果。
【实验目的】
学会在C语言程序中加入嵌入型汇编代码。 【实验步骤】
参看“CTest3”目录下的代码
按照实验一的方法,新建一个project,名字为CTest3工程。添加CCode.c startup.s文件到项目中。使用CTest3.sct脚本文件
36
海同教育-嵌入式培训专家 ARM开发培训班实验指导V1.0
实验十、综合编程实验
【实验内容】
完成一个完整的工程,要求包含启动代码、汇编函数和C文件,而且C文件包含ARM函数和Thumb函数,并且可以相互调用。
【实验目的】
学会使用realview MDK编写综合代码。 【实验步骤】 参看“interwork”目录下的代码
按照实验一的方法,新建一个project,名字为interwork工程;添加arm.c、thumb.c、random.s、S3C2410A.s文件到项目中。
读懂程序的启动过程及调用关系。 注意:下图说明了arm.c和thumb.c是如何被分布编译为ARM代码和Thumb代码的
注意:Thumb Mode 选项的选择情况
37
海同教育-嵌入式培训专家 ARM开发培训班实验指导V1.0
实验十一、I/O及串口通信编程实验
【实验内容】
编写程序,控制实验平台的发光二极管LED1、LED2、LED3、LED4使它们有规律的点亮和熄灭,同时控制蜂鸣器。并且通过串口打印提示信息。代码分别在仿真器控制下、和脱离仿真环境运行。
【实验目的】
掌握S3C2440A芯片I/O控制器、UART控制器、蜂鸣器及系统初始化相关部分的配置方法;
掌握如何通过Realview MDK环境将代码下载到目标板,实现在线调试。 【实验平台】
mini2440
【实验步骤】
运行LED_UART目录下的工程
借助H-JTAG代理软件,测试程序,注意Linker选项选择RuninRAM.sct
Debug选项选择仿真器,并且选择调试初始化ini文件..\\common\\Ext_RAM.ini
38
海同教育-嵌入式培训专家 ARM开发培训班实验指导V1.0
点击“Utilities”,选择“RDI Interface Driver”。如下图所示:
39
海同教育-嵌入式培训专家 ARM开发培训班实验指导V1.0 在上图中,点击“OK”,完成Target目标平台配置。
编译、实现目标平台的在线调试,观察LED灯的变化,蜂鸣器及串口打印出的信息。
实验十二、中断实验
实验内容
由UART0选择输入使用不同的中断触发方式,使能外部中断EINT11。代码分别在仿真器控制下、和脱离仿真环境运行。
实验目的
掌握ARM处理器的中断方式和中断处理方法; 熟悉S3C2410中断控制器的使用;
理解S3C2410处理器的中断相应过程;
掌握如何进行ARM处理器中断处理的软件编程方法; 实验平台 FS2410 实验步骤
运行LED_UART目录下的工程 注意:需要保证在0地址处放置异常向量表。简单的解决方式是先把基于flash启动的
代码烧写到flash中,然后再使用仿真器调试在sdram中运行的程序,这一点在以后涉及到中断的实验中同样适应。
40