原创 C和AMBA

2014-3-14 14:13 772 4 4 分类: 通信

C语言

C语言设计的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

C语言是一种通用的,面向过程的编程语言,广泛用于系统与应用软件开发。具有高效、灵活、功能丰富、表达能力强和高的可移植性。

C语言的特点

1,C语言是一种有结构化程序设计、具有变量作用域以及递归功能的过程语言。

2,C语言传递参数均是以值传递,另外也可以传递指针。

3,不同的变量类型可以用结构体组合在一起。

4,只有32个保留字,使变量、函数的命名有更多弹性。

5,部分的变量类型可以转换,例如整型和字符变量。

6,通过指针,C语言可以很容易的对存储器进行低级控制。

7,编译预处理让C语言的编译具有弹性。

汇编语言算是一种机器语言,可以直接操作或者控制硬件。C语言是高级语言中最接近低级语言的,如果运用熟练、恰当结合汇编,其综合评价高于仅使用汇编。

汇编语言实质上九是机器语言的助记符。CPU只能运行它所支持的指令集,而这些指令都是二进制序列,不方便记忆。

C语言的优点:C语言属于高级语言,具有可移植性,能够结构化编程。使用标准C语言的程序几乎可以不作改变移植到不同的平台,对于嵌入式微控制器,属于标准C语言的部分也很少需要修改,而且程序很容易读懂。

C语言的缺点:C语言的缺点主要表现在数据封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查。

 

 

AMBA(Advanced Microcontroller Bus Architecture)总线协议,高级微控制器总线结构。是为了实现高性能SOC而设计的片上通信标准,对于SOC设计的人来说,AMBA总线协议十分必要。

协议包括3部分:

AHB—高效能系统总线(Advanced High-performance Bus)

特性:高性能,数据传输,多总线主控制器,突发连续传输,分步传输

ASB—AMBA系统总线 (Advanced System Bus)

特性:高性能,数据传输,多总线主控制器,突发连续传输

APB—外围总线       (Advanced peripheral Bus)

特性:低功耗,寻址控制,支持简单接口协议,支持多种外设

1.jpg

APB通过桥接高带宽、高性能总线,提供基本的微控制器二级总线,通常该总线上的外设有如下特点:1,支持映射寄存器接口;2,对带宽没有很高的要求;3,通过编程实现对外设进行控制。

 

ASB总线和AHB总线都是系统总线,区别在于ASB总线并没有AHB总线的高效传送特性。现在的应用中只考虑AHB和APB总线协议。(ASB是在不需要高性能的时候考虑)

 

AHB总线可以包括多个主:通常用CPU,测试接口,DMA或者DSP。

AHB总线上挂接的从设备包括:外挂内存接口,APB桥,内部RAM。

 

APB总线是为了功耗最小化和降低接口复杂度而设计的。APB总线应用于低带宽和不需要高性能总线接口的外设。

 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /3 下一条