没有合适的资源?快使用搜索试试~ 我知道了~
【软件工程师】嵌入式系统实验讲义.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 34 浏览量
2022-06-12
16:08:33
上传
评论
收藏 9.02MB DOC 举报
温馨提示
试读
64页
【软件工程师】嵌入式系统实验讲义
资源推荐
资源详情
资源评论
目录
实验一 ADS 环境及超级终端使用...................................................................................................2
实验二 ARM 的串行口实验............................................................................................................14
实验三 键盘输入及数码管显示驱动.............................................................................................22
实验四 ARM 的 A/D 接口实验.......................................................................................................30
实验五 D/A 接口实验......................................................................................................................35
实验六 LCD 的驱动控制实验.........................................................................................................39
实验七 触摸屏驱动实验..................................................................................................................47
实验八 BootLoader 实验.................................................................................................................54
实验九 Linux 开发环境的建立(ARM9).........................................................................................58
实验十 Linux 下串行端口程序设计...............................................................................................66
实验十一 Linux 下 LED 设备实验..................................................................................................77
实验十二 Linux 下多线程应用程序设计.......................................................................................82
实验十三 Linux 下按键实验...........................................................................................................94
实验十四 电机控制实验..................................................................................................................99
实验十五 UDP 通讯实验...............................................................................................................109
实验十六 基于 ARM 的多通道仪表数据采集实验.....................................................................118
实验十七 简单嵌入式 WEB 服务器实验.....................................................................................122
实验十八 Bootloader 下实现 Flash 的读写..................................................................................133
实验十九 Uclinux 系统 IP 地址的修改和保存............................................................................134
实验二十 BOOTLOADER、内核根文件系统实验....................................................................135
实验二十一 图形界面应用程序设计.........................................................................................136
实验二十二 基于 Web 的远程控制设计....................................................................................137
附录:嵌入式系统设计性实验要求.............................................................................................138
实验一 ADS 环境及超级终端使用
一、实验目的
熟悉ADS1.2 开发环境,学会ARM 仿真器的使用。使用ADS 编译、下载、调试并跟
踪一段已有的程序,了解嵌入式开发的基本思想和过程。
二、实验内容
本次实验使用ADS 集成开发环境。新建一个简单的工程文件,并编译这个工程文件。
学习ARM 仿真器的使用和开发环境的设置。下载已经编译好的文件到嵌入式控制器中运行。
学会在程序中设置断点,观察系统内存和变量,为调试应用程序打下基础。
三、预备知识
C 语言的基础知识、程序调试的基础知识和方法。
四、实验设备及工具(包括软件调试工具)
硬件:ARM 嵌入式开发板、ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以上。
软件:ADS1.2 集成开发环境、仿真器驱动程序。
五、实验步骤
1)建立工程
(1)运行ADS1.2 集成开发环境(CodeWarrior for ARM Developer Suite)。选择File
| New…菜单,在对话框中选择Project,如图1B-1 所示,新建一个工程文件。图中示例
的工程名为Exp6.mcp 。点set…按钮可为该工程选择路径如图1B-2 所示,选中CreatFolder
选项后将以图1B-1 中的ProjectName 或图1B-2 中的文件名为名创建目录,这样可以将所有
与该工程相关的文件放到该工程目录下,便于管理工程。
在图1B-1 中工程模板列表中的44B0 ARM Executable Image 是专为本嵌入式开发板设
置的工程模板,后文有具体说明。在此也可选择ARM Executable Image 通用模板。
图1B-1 新建工程
图 1B-2 保存工程
(2)在新建的工程中,如图 1B-3 所示,选择 Debug 版本,使用 Edit | Debug Settings
菜单对 Debug 版本进行参数设置
图 1B-3 选择版本
(3) 在Debug Settings 对话框中选择Target Settings 项,如图1B-4 所示。在Post-
linker 一栏中选择ARM fromELF 。
图1B-4 Target Settings
(4)在Debug Settings 对话框中选择ARM Linker 项,如图1B-5。在Output 选项卡的
Simple image 框中设置连接的 Read-Only (只读)和Read-Write (读写)地址。地址
0x0c080000 是开发板上SDRAM 的真实地址,是由系统的硬件决定的;0x0c200000 指的是
系统可读写的内存地址。也就是说, 在0x0c080000 0xC1fffff ∼ 之间是只读区域,存放程序
的代码段,在0xC200000 开始是程序的数据段。
图1B-5 设置连接地址范围
图1B-5 所示的设置只是一种简单设置,如果程序需要用到标准C 库函数的话需要按图
1B-6 进行连接地址的设置。
标准C 中如果使用malloc 及其相关的函数,需要使用系统的堆(Heap) 空间,可以通
过scatter 文件来描述系统 HEAP 段的位置。针对44B0 开发板,把程序的入口定位在
0xc080000, 并定义scatter 文件为scat_ram.scf 。在图1B-6 中选择LinkType 为Scattered, 输
入scatter 文件名scat_ram.scf ;然后切换到 Options 选项卡在Image Entry Point 框中输入
0xc080000 。也可以在图1B-6 的Command Line 框中直接输入-entry 0xc080000 -scatter
scat_ram.scf 进行上述设置。
图1B-6 通过scatter 文件设置连接地址
提示:
1.程序移植到ADS 后,程序最开始首先执行用汇编写的初始化代码——包括中断向量
和
内存空间的初始化。在该段代码中使用
IMPORT __main ;注意main 前面是两个下划线
B __main
进行系统内部的标准C 函数初始化,然后调用用户在C 中定义的main()函数(注意:两
个main 都是小写),并且在嵌入式应用中用户C 的main 函数中不能有参数(int
main(void))。
不能有系统定义的软中断,在汇编中可以使用
来检测,在中使用
3. scatter 文件内容如下,创建了一个RAM_LOAD 的程序和数据的装载区域,起始
地址0xc080000 。RAM_LOAD 0xc080000 { RAM_EXEC 0xc080000
{
44binit.o (init, +First)
* (+RO)
}
RAM 0x0c200000
{
* (+RW,+ZI)
}
HEAP +0 UNINIT
{
heap.o (+ZI)
}
STACKS 0xc7ff000 UNINIT
{
stack.o (+ZI)
}
ISR_STARTADDRESS 0xc7fff00 ;SDRAM bottom { isr_address.o
(+ZI)
} } 在图1B-7 中说明了这个装载区域的划分。
剩余63页未读,继续阅读
资源评论
oligaga
- 粉丝: 52
- 资源: 2万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_20240528_103010.jpg
- 基于Python的新能源承载力计算及界面设计源码 - HAINING-DG
- 基于Java的本科探索学习项目设计源码 - 本科探索
- 基于Javascript和Python的微商城项目设计源码 - MicroMall
- 基于Java的网上订餐系统设计源码 - online ordering system
- 基于Javascript的超级美眉网络资源管理应用模块设计源码
- 基于Typescript和PHP的编程知识储备库设计源码 - study-php
- Screenshot_2024-05-28-11-40-58-177_com.tencent.mm.jpg
- 基于Dart的Flutter小提琴调音器APP设计源码 - violinhelper
- 基于JavaScript和CSS的随寻订购网页设计源码 - web-order
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功