第一次实验:非操作系统下面的实验


实验目的

  1. 熟悉 ADS 软件的使用

  2. 熟悉程序的下载和调试流程

  3. 熟悉 GPIO 的操作掌握Arm在非不使用操作系统下的的使用,理解一般的操作方法,蜂鸣器,中断的使用。

  4. 熟悉 ARM 的中断操作

  5. 掌握按键检测的方法

  6. 熟悉 ARM 的定时器操作

  7. 熟悉ARM的PWM操作

  8. 熟悉 ARM 的串口操作


实验原理

  • Nor/Nand 选择开关

    当从 Nand Flash 启动时,请在实验平台开机前将该开关拨到靠近绿色接口的地方。

  • 音频输入输出接口

    TQ2440 提供的音频接口完全按照标准接口提供,绿色为音频输出接口,红色为音频输 入口。

  • 串口接口(串口 0(RS232)和三个串口扩展接口(3.3V 电平))

    串口在 TQ2440 实验平台的使用中是非常重要的接口之一,TQ2440 可以通过它用 PC 和 实验平台直接进行交互操作、传输数据、完成调试等。

  • TQ2440 实验平台提供的标配串口线是直连串口线,在使用实验平台时请把串口线的一

    段接实验平台的串口接口,另外一端接 PC 的串口接口,然后就可以通过串口进行交互等操 作了。

    三串口扩展接口引出的串口的 TX 和 RX 引脚均是 3.3V 电平,如果需要使用 232 电平, 请扩展 MAX3232 或者 SP3232EEN 芯片转成 232 电平。

  • 复位按钮

    硬件重启实验平台时使用。

  • Jtag 接口

    在 TQ2440 实验平台中,Jtag 的用途是当 Nand Flash 或 Nor Flash 中没有 uboot 时,使用 它烧写 uboot 进去;或者是进行仿真时使用它。 使用时请接上 TQ2440 提供的 Jtag 板到实验平台的 Jtag 接口和 PC 的并口接口,然后再 使用 Jtag 软件进行烧写或仿真操作。 说明:当不使用 Jtag 烧写时,请拔掉 Jtag 线。

  • 用户按钮

    使用中断功能的 4 个用户按钮。

  • AD 输入测试电阻

    在 Linux 或无 OS 中可以测试 ADC 接口(AIN2 管脚)。

  • 蜂鸣器(PWM 控制)

    使用 PWM 控制的蜂鸣器。

    蜂鸣器/LCD 电压选择接口 打开或关断蜂鸣器的电源,选择 LCD 供电电压。

  • 用户LED灯

    使用 GPIO 口控制的 LED 灯。

  • LCD接口(LCD接口1和2)

    在接 LCD 接口时请注意排线接口的定位方向,请不要接反了。 说明:这两个接口是使用的相同的数据线和控制线,唯一不同的是一个是 FPC 接口而另 外一个是插针形式的接口。  电源指示灯 正常开机后,将会点亮红色的 LED 灯。

  • 电源开关

    控制着整个实验平台的供电,需要开机时请拨动该开关到靠近电源指示灯的方向,关机 时拨动该开关到反方向。


实验仪器与设备

  1. 电脑

  2. Jtag调试器

  3. Arm开发板

  4. 触摸屏

  5. 触摸笔


思考题解答

  • 从程序编写的角度,比较51 单片机和 SC32440 的 IO 操作的不同之处

    51单片机的引脚都简单。往往可以直接对引脚做赋值。而SC32440的IO口操作相对麻烦,如果进行位操作还需要掌握编程技巧—通过逻辑运算来实现位操作。

  • 比较实验 2.2 和实验 2.3,要实现检测按键被按下的功能,采用中断和查询的方法哪个响应 的速度会更快?两者有什么优缺点?

    中断的响应更快。但使用查询来实现程序很简单,所以在程序很简单的时候,使用查询来实现,而在程序执行很长的时候选择中断。

  • 简述 PWM 技术的其他应用例子及其原理

    脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。

    通过数子电路控制模拟电路,通信脉冲调制,模拟电路容易随时间漂移,因而难以调节。可以通过通过数子电路控制模拟电路,还可以进行通信脉冲调制等。

    总之,PWM既经济、节约空间、抗噪性能强,是一种值得广大工程师在许多设计应用中使用的有效技术。

  • 如何采用带 FIFO 的串口进行数据收发

    用FIFO发送数据时,需要保证接受端的FIFO不溢出,则发送过快,接受端FIFO满后中断末取走数据,发送端就又发数据。其只能由发送端来保证。


第二次实验:uC/OS-II 下面的实验


实验目的

  1. 掌握操作系统的基本原理,μC/OS II操作系统下的基本操作方法熟悉 μC/OS II 多任务建立方法, 以及任务间的同步。

实验原理

一个较为复杂的应用程序时,也通常把一个大型任务分解成多个小任务, 然后在计算机中通过运行这些小任务,最终达到完成大任务的目的,这种做法也使用应用程 序的维护变得方便起来。因此,现代操作系统几乎都是对任务操作系统。

在μC/OS-II 中,与上述小任务对应的是程序实体就叫做“任务”(实质是一个线程)。μ C/OS-II 就是一个能对这些小任务进行管理和调度的多任务操作系统。

从应用程序设计的角度来看,μC/OS-II 的任务就是一个线程,就是一个用来解决用户 问题的 C 语言函数和与之相关联的一些数据结构而构成的一个实体。

μC/OS-II 的任务有两种:用户任务和系统任务。有应用程序设计者编写得任务,叫做 用户任务;有系统提供的任务叫做系统任务。用户任务是为解决应用问题而编写的;系统任 务是为应用程序来提供某种服务的。

嵌入式系统中的各个任务都是以并发的方式来运行的,并为同一个大的任务服务。它们 不可避免地要共同使用一些共享资源,并且在处理一些需要多个任务共同协作来完成的工作 时,还需要相互的支持和限制。因此,对于一个完善的多任务操作系统来说,系统必须具有 完各的同步和通信机制。

任务之问这种制约性的合作运行机制叫做任务间的同步。系统中任务的同步是依靠任务 与任务之间互相发送消息来保证同步的。


实验仪器与设备

  1. 电脑

  2. Jtag调试器

  3. Arm开发板

  4. 串口线


思考题解答

  • 如果不采用μC/OS II 的延迟函数 OSTimeDly()来实现,而用自己写延迟函数来实验延迟,能 否实现一边放歌一边检测按键按下的功能?

    不能。因为uC/OS II 的多进程是通过在一个任务延迟的时候来实现。