没有合适的资源?快使用搜索试试~ 我知道了~
ARM_C语言程序设计详解
4星 · 超过85%的资源 需积分: 15 7 下载量 182 浏览量
2013-04-23
12:45:28
上传
评论
收藏 974KB PDF 举报
温馨提示
试读
48页
本节讨论使用Semihosting的服务建立C语言调试环境。一直ADS1.2中的C语言函数库
资源推荐
资源详情
资源评论
4.2 C语言程序设计
C/C++语言是一种高级语言,使用它能够快速地
编写应用程序。用C/C++语言编写的程序,一条语句
可以代替多条汇编语言语句。使用高级语言进行程序
设计有以下优点:
■有丰富的程序库支持。
■程序容易编写,具有结构化特点。
■程序可读性强,容易修改。
■便于调试和维护。
■可移植性好。
对于大中型项目来说,用C/C++语言编写软件其
开发周期和开发成本通常要小于汇编语言。所以在做
项目时,一般会提倡用C/C++语言编写代码。但C语
言程序设计的思想与方法不是本节重点,本节只讨论
以下3方面的内容:
■使用Semihosting服务建立C语言调试环境。
■移植ADS1.2中的C语言函数库。
■ C程序编写规范。
如对ADS1.2集成开发环境不太熟悉,请参阅相关
章节做辅助阅读。
• 4.2.1 使用Semihosting的服务(1)
在C程序设计中,经常要用到C标准库中提供的一
些输入/输出函数,如printf()、scanf()、putchar()、
getchar()等函数。这些I/O函数能显示程序运行结果,
接收按键输入,极大方便了程序的运行与调试。在
ADS1.2环境中,利用Semihosting服务功能,可以很方
便地调用ADS1.2中的C语言函数库,包括基本的输入/输
出函数。
在ADS的C语言函数库中,某些ANSIC的功能是由
主机的调试环境来提供的,这套机制有一个专门术语叫
Semihosting。例如,Semihosting技术能将应用程序中
的I/O请求通过一定的通道传送入主机的调试环境,由
主机的调试环境来实现数据的输入/输出。
• 4.2.1 使用Semihosting的服务(2)
Semihosting的服务功能是通过一组软件中断(SWI
)指令来实现的。当一个Semihosting软中断被执行时,
调试系统先识别这个SWI请求,然后挂起正在运行的程
序,调用Semihosting的服务,完成后再恢复原来的程序
执行。因此,主机执行的任务对于程序来说是透明的。
下面介绍一个使用Semihosting的C语言程序示例,
并对Semihosting进行简单的分析。
• 4.2.1.1 C语言程序示例(1)
(1)启动ADS1.2,使用ARM Executable Image工程模
板建立一个工程Semihosting。
(2)建立源文件UseLib.c,编写实验程序,如图4.5所
示,然后添加到工程Semihosting中。
图4.5 建立源文件UseLib.c
剩余47页未读,继续阅读
资源评论
- haohao_3282013-04-23正在学习这方面的知识,不错
A邪
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功