DSP/BIOS API并非像C语言一样直接采用如int或char的数据类型。然而,为了保证与其他处理器的DSP/BIOS API兼容性,DSP/BIOS定义了自己的标准数据类型。下述数据类型在std.h头文件中定义,它们在DSP/BIOS API中被采用。当然还有其他数据类型也在这个头文件中定义,但是并没有被DSP/BIOS API采用。

类型         描述

Arg          同时能处理Prt和Int参数类型的类型Type capable of holding both Ptr and Int arguments

Bool 布尔类型(和C类似,包括TRUE和FALSE)Boolean value

Char 字符类型Character value

Int           带符号的整型数Signed integer value

LgInt 大的带符号的整型数Large signed integer value

LgUns   大的不带符号的整型数 Large unsigned integer value

Ptr          一般指针类型Generic pointer value

String 字符串类型Zero-terminated (\0) sequence (array) of characters

Uns        无符号整型数Unsigned integer value

Void        空类型Empty type

下面是两个处理Arg类型的两个函数(所有DSP平台都适用)

ArgToInt(arg)  Arg转为Int

ArgToPtr(arg) Arg转为Ptr

------------------转--------------------

DSP/BIOS中的匈牙利记法为:
  Sm开头的表示8-bit类型;
  Md开头的表示16-bit类型;
  Lg开头的表示32-bit类型;
  Int表示有符号整型;
  Uns表示无符号类型;
  Bits表示按bit计算类型;

我的建议:在定义上述类型的变量时,相应的变量名用上面的开头表示;或者养成以下习惯(我的习惯),仅供参考:
  定义字符变量用cH开头:如,char cHdiag;
  定义整型变量用iN开头:如,int iNaddnum;
  定义无符号整型变量用uiN开头。
  定义符号字符变量用ucH开头。
  定义长整型变量用lO开头。等等。
  开始使用时可能有点别扭,但时间一长,一旦成为习惯,就会受益匪浅。

在std.h等文件中定义了一些常量和数据类型(原文引用),如下:

typedef char SmInt;
typedef short MdInt;
#if defined(_6x_)
typedef int LgInt;
#else
typedef long LgInt;
#endif

typedef unsigned char SmUns;
typedef unsigned short MdUns;
#if defined(_6x_)
typedef unsigned LgUns;
#else
typedef unsigned long LgUns;
#endif

typedef unsigned char SmBits;
typedef unsigned short MdBits;
#if defined(_6x_)
typedef unsigned LgBits;
#else typedef unsigned long LgBits;
#endif

typedef int Int;
typedef long int Long;
typedef short int Short;
typedef char Char;
#define Void voidtypedef char * String;

#if defined(_29_) || defined(_50_) || defined(_54_) || defined(_55_) || defined(_6x_)
typedef unsigned Uns;
#else
typedef unsigned long Uns;
#endif

#if defined(_80_)
typedef int Bool;
#elif defined(_W32_)
typedef long Bool;
#else
typedef MdUns Bool;
#endif

typedef SmBits Byte;
typedef void *Ptr;

typedef Int (*Fxn)();

#if defined(_80_) || defined(_SUN_) || defined(_67_)
typedef float Float;
#else
typedef double Float; #endif

#ifndef NULL
#define NULL 0
#endif

#ifndef TRUE
#define FALSE ((Bool)0)
#define TRUE ((Bool)1)
#endif

#ifdef _LINT_
#define __inline
#else
#define __inline inline
#endif
#endif

#if !defined(inline) && !defined(__cplusplus) && !defined(_TI_)
#define inline __inline
#endif

本文引用TI的std.h文件

DSP/BIOS中的数据类型相关推荐

  1. DSP/BIOS设计指导书

    DSP/BIOS设计指导书 1 概述 CCS是TI的DSP芯片集成开发环境,v3.2版本中集成了DSP/BIOS v5.21,支持Himalaya TCI6482芯片. 下面对CCS v3.2和DSP ...

  2. 基于DSP/BIOS和NDK的嵌入式网络操作系统设计方案

    随着嵌入式应用的普及,嵌入式操作系统的问题日益引人关注.由于DSP代表了一类重要的嵌入式应用,以DSP为核心的嵌入式操作系统也正在成为人们研究的热点.为了对自己的DSP产品提供软件支持,TI公司发行了 ...

  3. DSP/BIOS 介绍

    http://tech.ddvip.com/2008/08/121870641354428.html 德州仪器新推出的DSPC6400系列最高运行时钟可以达到1.1GHz,运算能力可以达到8800MI ...

  4. DSP/BIOS入门

    转载自 http://blog.chinaunix.net/uid-20620288-id-3379093.html 1          DSP/BIOS简介 DSP/BIOS是CCS中集成的一个简 ...

  5. DSP/BIOS简介

    1          DSP/BIOS简介 DSP/BIOS是CCS中集成的一个简易的嵌入式实时操作系统,能够大大方便用户编写多任务应用程序.DSP/BIOS拥有很多实时嵌入式操作系统的功能,如任务的 ...

  6. dsp/bios初步了解

    1          DSP/BIOS简介 DSP/BIOS是CCS中集成的一个简易的嵌入式实时操作系统,能够大大方便用户编写多任务应用程序.DSP/BIOS拥有很多实时嵌入式操作系统的功能,如任务的 ...

  7. 纯新手DSP编程--5.31--DSP/BIOS中的数据交换

    DSP/BIOS内核提供了丰富的数据交换途径.利用DSP/BIOS,用户不仅可以方便的实现DSP应用程序与主机的CCS或其他Windows程序之间的数据交换(RTDX和HST),而且还可以利用PIP或 ...

  8. DSP/BIOS详解入门-再回炉

    DSP/BIOS是TI公司特别为其TMS320C6000TM,TMS320C5000TM和TMS320C28xTM系列DSP平台所设计开发的一个尺寸可裁剪的实时多任务操作系统内核,是TI公司的Code ...

  9. DSP/BIOS详解入门

    百度百科DSPBIOS DSP/BIOS是TI公司特别为其TMS320C6000TM,TMS320C5000TM和TMS320C28xTM系列DSP平台所设计开发的一个尺寸可裁剪的实时多任务操作系统内 ...

最新文章

  1. Python 绘图与可视化 matplotlib 制作Gif动图
  2. 使用 KubernetesClient 操作 kubernetes
  3. 中国速度之二神山建设(3):有力的技术保障,基建世界里的云原生缩影 | IDCF DevOps案例研究...
  4. 太想成功了--成功之前,你是否养成了这些习惯?
  5. SolidWorks Simulation热仿真优化设计 提高企业生产效率
  6. [Sencha ExtJS amp; Touch] 在Sencha(Extjs/Touch)应用程序中使用plugins(插件)和mixins(混入)...
  7. PR字幕模板 简单大气红色创意图形动态字幕条全屏标题pr模板
  8. ENSP实验——Telnet远程连接
  9. C语言中short和unsigned short的取值问题和计算机组成原理
  10. 路由器DNS被劫持 解决办法、dns 被劫持怎么解决
  11. python中的dot是什么意思_Python 的NumPy 库中dot()函数详解
  12. python产生一个1到10的列表_python-列表生成式(一)
  13. Python 爬虫 + 人脸检测 —— 知乎高颜值图片抓取
  14. php数据迁移脚本,Laravel中数据迁移与数据填充的详细步骤
  15. PaddlePaddle第二周学习笔记
  16. RAC-OCR,VIP,VOTEING DISK
  17. 【Java】 实现一个简单文件浏览器(1)
  18. java 匿名接口_匿名内部类实现接口
  19. 解读人工智能、大数据和云计算的关系,大佬们赌AI竟都输了?
  20. 《计算机组成原理》— 计算机组成原理试卷二(期末复习备用)

热门文章

  1. 第十六届智能车竞赛华南赛区纪实
  2. 第十六届全国大学生智能车竞赛创意组别-航天智慧物流
  3. 一文看全北科智能车创新历程
  4. 基于“飞桨”的深度学习智能车
  5. 智能车竞赛自动裁判系统
  6. 查看计算机用户创建时间,敬业签在电脑端怎样查看团签内容的创建时间?
  7. 中间件应用程序错误 修复方案_Qtum Neutron:新一代区块链虚拟机中间件会给Qtum带来哪些新功能?...
  8. oracle的clob赋值_Java处理(插入或修改)clob类型数据
  9. python生成器单线程_【Python】迭代器、生成器、yield单线程异步并发实现详解
  10. web服务器的文档的部分路径是如何工作的,FinderWeb - 文档中心