DSP C6000 keywords 关键字总结

原创 2012年03月28日 20:51:05

externextern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。另外,extern也可用来进行链接指定。

 

const: 可以用const定义一些变量或数组,以确保它的值不被改变。

例:int *const p = &x;  定义一个常量指针p给变量int。

      const int *q = &x;  定义一个变量指针q给常量int。

 

cregister:定义用来直接访问CPU控制寄存器的变量。

你可以先定义一个头文件,专门定义这个变量(实际就是相应的寄存器),
然后在相应的c源代码中直接引用这些变量了。
定义这些变量的方式是:
extern cregister volatile unsigned int register;
其中register就是AMR,CSR,IFR等寄存器。
例如:

extern cregister volatile unsigned int AMR;
extern cregister volatile unsigned int CSR;
extern cregister volatile unsigned int IFR;
extern cregister volatile unsigned int ISR;
extern cregister volatile unsigned int ICR;
extern cregister volatile unsigned int IER;
extern cregister volatile unsigned int FADCR;
extern cregister volatile unsigned int FAUCR;
extern cregister volatile unsigned int FMCR;
main()
{
printf(”AMR = %x/n”, AMR);
}

interrupt:interrupt关键字用来定义一个中断服务函数,中断服务函数必须保存中断控制寄存器和返回序列。当C/C++语言程序被中断时,中断服务程序将保存所有用到的寄存器。

interrupt void int_handler()
{
unsigned int flags;
...
}

Near and Far :用来定义函数调用的方式以及函数调用时全局变量和静态变量的访问。

全局和静态变量可以声明为near或far,near和far为类型修饰符。

声明为near的变量采用了寄存器相对寻址,基址寄存器为数据指针DP(32Bits),偏移

地址为15位常量,所以,near型全局和静态变量不能超过32Bytes;

声明为far的变量采用寄存器间接寻址,可以对任何空间进行寻址,无大小限制;

Near型变量在访问时比far型变量少执行两条语句。

 

restrict

restrict关键字用来修饰指针、引用和数组变量,表示在变量的有效范围内,指针所指的对象

只通过此指针来引用。

 

 volatile:

易变(C:与const一样,volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。)
推荐一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用 保存在寄存器里的备份。

原文来自:http://blog.csdn.net/x111y1j1/article/details/6283811

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

DSP C6000 keywords 关键字总结

extern:extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。另外,extern也可用来进行链接指定。 const: 可以...

DSP C6000 keywords 关键字总结

extern:extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。另外,extern也可用来进行链接指定。   c...

C6000 DSP 工作总结

在接触DSP之前,我一直都是在做单片机的开发。在以前的单片机开发中,所有的程序都是在一个文件中,没有.c和.h文件之分,也从来就没有使用过结构体。我把我在学习C64中遇到的问题在下面列出来,希望能对想...

C6000 DSP系统中断过程解析

1.  中断相关概念 中断过程-----------------------------------你在下象棋,突然电话响了,你回屋接电话,然后回来继续下象棋,这个过程就叫做中断响应过程。 CPU执行...

C6000 DSP技术深度探索(3)-中断向量表

DSP 作为一款处理器,它也支持中断处理,对于中断机制的引入,这里就不多说了,下面仍然以C6000系列DSP为例,探讨一下中断向量表,在前一篇文章中, 提到了汇编文件中存在一种特殊的文件,该文件通常命...

TMS320C6000 DSP-----Cache 优化

一、cache性能特点       优异的cache性能很大程度上依赖于cache lines的重复使用,优化的最主要目标也在于此,一般通过恰当的数据和代码内存布置,以及调整CPU的内存访问顺序...

TI C6000DSP上TCP/IP协议栈的实现

摘要:针对TIC6000系列DSP网络开发工具NDK进行研究,结合TMS320DM642芯片详细描述了NDK的结构,讲述了利用NDK开发DSP网络应用程序的一般过程和实际应用中要注意的问题,并给出了N...

TI DSP C6000 控制寄存器

更多参考相关文档手册

DSP C6000导入指定图像数据(一)

本文章分为两小篇,该篇主要分享如何利用Matlab生成我们所需要的YUV422格式数据 下一篇为利用数据导入DSP并进行查看。 下面为Matlab程序: /*---------------------...

DSP优化——C6000

第一章 C6000系列DSP的体系结构简介 TI的C6000系列DSP内部采用的哈佛结构的体系结构,其数据段和代码段是分开存放的并且独立编址,减轻了程序在运行时的访问存储数据的瓶颈。其中C62和C6...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)