Chinaunix首页 | 论坛 | 博客
  • 博客访问: 116414
  • 博文数量: 43
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 530
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-04 16:56
文章分类

全部博文(43)

文章存档

2011年(1)

2010年(2)

2008年(40)

我的朋友

分类:

2008-09-05 11:35:34

 对于2410来说,对于端口的编程一般包括以下几个部分
 汇编:
1 端口的入口地址的设置
2 设置段代码为只读代码
3 设置端口属性,包括三个主要的寄存器:GPFCON GPFDAT GPFUP(这里只是一个假设,可以为其他的端口)具体资料见端口说明书
4 上层应用程序
c语言跟汇编混合编程。
c语言跟汇编相互调用必学满足一定的规则:
1各寄存器的使用规则及相应的名车。
2数据栈的使用规则
3参数的传递规则
在c语言中嵌入汇编使用关键词——asm的标志,来标志一段汇编程序。
 
在做小程序中遇到的一些细节问题:
1 C与汇编的一些对比:
寄存器的声明:GPFCON  EQU 0x56000050
            #define rGPFCON *((volatile unsigned*)0x56000050)
            volatile :volatile关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。
2汇编中一些常用的伪指令
AREA  段定义
声明外部的文件 GET INCLUDE
声明一个符号可以被其他的文件引用:EXPORT GLORBAL  声明全局变量
声明一个外部符号 IMPORT EXTERN  引用全局变量
在函数的调用时候也是如此,当外部一个子函数,当通过在主函数前面声明的时候加上extern
3对于函数的一些结构分析
对于汇编:首先,向量,头文件等声明:接着段的声明,主函数,或者用B跳转到调用的函数名
对于c语言:都文件声明,main函数
 
 
阅读(776) | 评论(0) | 转发(0) |
0

上一篇: 复杂的心情

下一篇:2410 中断

给主人留下些什么吧!~~