IDE:CSS5.4,compiler不支持可变参数宏。需要手动设置编译器相关选项:

Language Option-》Language Mode —》no strict ANSI。

1.#pragma DATA_ALIGN( rxdata_stream,   128)

就是让rxdata_stream地址的末尾7位是0(二进制地址),就是128字节对齐。
对齐的目的,一般是位了CACHE读写外存。
如果一个CACHE的line是128字节。这样,如果数据128字节对齐,那么取一个128字节的数据,只使用一个CACHE行就够了。
2.dsp中的near和far关键字

near和far中意味着,near是指同一个段,far是指的不同段。
far int *p.
意味着p指针是指向一个int的远指针,即p能访问更大的数据空间,如不同的section等。


3. burst 突发模式
4.dm6437中的中断函数不加关键字interrupt时,进入中断向量表,可以定位、找到服务程序,程序执行一次后,由于没有B IRP,进行中断返回,程序结束以后CPU和其他正常,但DSP的中断由于没有执行B IRP,使得中断环境破坏,使得其他中断都不会再次响应。

5.CCS提供了4级的文件优化方案,分别是O0、O1、O2、O3,以下具体说明。

(1) O0 寄存器级别

● 执行控制流程简化

● 用寄存器分配变量

● 执行交替循环

● 排除未用的代码

● 简化公式和表述

● 扩大对内连函数的调用

(2) O1 局部级别

执行所有O0级别的优化,并且:

● 执行局部常量的传播

● 排除未用的赋值

● 排除局部共用表达式

(3) O2 函数级别

执行所有O1级别的优化,并且:

● 执行循环优化

● 排除全局共用子表达式

● 排除全局不用的赋值

● 执行打开循环

(4) O3 文件级别

执行所有O1级别的优化,并且:

● 排除未被调用的函数

● 简化返回值没被使用的函数

● 让小函数变成内联调用

● 保存函数说明,以便主函数被优化时知道被调用 函数的属性

● 识别文件级别的变量的特性

在使用O3级别的优化时,还可以使用别的选项执行更细致的优化

● OLN 得到标准库函数的文件

● ONN 创造优化信息文件

● PM 执行程序级别优化,编译多个源文件

而我们在做优化时,选的是O2级别的优化,因为使用O2级别优化后产生的汇编文件带有比较多的注释信息,比较容易看懂程序,建议对程序不太熟和对汇编语言不太熟练的人使用。

CCS5 编译器手动设置dsp支持可变参数宏等问题的更多相关文章

  1. Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

    Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1 ...

  2. 可变参数宏__VA_ARGS__

    在 GNU C 中,宏可以接受可变数目的参数,就象函数一样,例如:#define pr_debug(fmt,arg...) \printk(KERN_DEBUG fmt,##arg) 用可变参数宏(v ...

  3. [转载]用可变参数宏(variadic macros)传递可变参数表

    注意:_VA_ARGS__ 从VS2005才开始支持 在 GNU C 中,宏可以接受可变数目的参数,就象函数一样,例如: #define pr_debug(fmt,arg...) printk(KER ...

  4. GNU C和C99标准中的可变参数宏(variadic macros)

    用可变参数宏(variadic macros)传递可变参数表你可能很熟悉在函数中使用可变参数表,如: void printf(const char* format, …); 直到最近,可变参数表还是只 ...

  5. 字符串化#、拼接字符##和可变参数宏(...和_ _VA_ARGS_ _)

    宏定义的使用与注意事项 ##是一个连接符号,用于把参数连在一起 #是“字符串化”的意思.出现在宏定义中的#是把跟在后面的参数转换成一个字符串#define paster( n ) printf( &q ...

  6. 嵌入式C语言自我修养 12:有一种宏,叫可变参数宏

    12.1 什么是可变参数宏 在上面的教程中,我们学会了变参函数的定义和使用,基本套路就是使用 va_list.va_start.va_end 等宏,去解析那些可变参数列表我们找到这些参数的存储地址后, ...

  7. c语言中的# ## 可变参数宏 ...和_ _VA_ARGS_ _

    1.#假如希望在字符串中包含宏参数,ANSI C允许这样作,在类函数宏的替换部分,#符号用作一个预处理运算符,它可以把语言符号转化程字符串.例如,如果x是一个宏参量,那么#x可以把参数名转化成相应的字 ...

  8. gnu printf可变参数宏

    可变参数的宏 标准C只支持可变参数的函数,意味着函数的参数可以是不固定的 例如printf()函数的原型是int printf(const char *format [,argument]...) 而 ...

  9. __VA_ARGS__可变参数宏

    #define qWiFiDebug(format, ...) qDebug("[WiFi] "format" File:%s, Line:%d, Function:%s ...

随机推荐

  1. POJ 2236 (简单并查集) Wireless Network

    题意: 有n个电脑坏掉了,分别给出他们的坐标 有两种操作,可以O x表示修好第x台电脑,可以 S x y表示x y是否连通 两台电脑的距离不超过d便可连通,两台电脑是连通的可以直接连通也可以间接通过第 ...

  2. STL set容器的一点总结

    整理了一下set常用语句,参看这篇http://www.cnblogs.com/BeyondAnyTime/archive/2012/08/13/2636375.html -------------- ...

  3. hadoop DataNode实现分析

    在前面说hadoop整体实现的时候, 说过DataNode的需要完成的首要任务是K-V存储.                                            第二个功能是 完成和 ...

  4. tableView的设置

    TableView的设置 1.设置table头部和底部的view // 底部(宽度固定是320) tableView.tableFooterView = footer; // 头部(宽度固定是320) ...

  5. UVA 11374 Halum (差分约束系统,最短路)

    题意:给定一个带权有向图,每次你可以选择一个结点v 和整数d ,把所有以v为终点的边权值减少d,把所有以v为起点的边权值增加d,最后要让所有的边权值为正,且尽量大.若无解,输出结果.若可无限大,输出结 ...

  6. 【英语】Bingo口语笔记(9) - 表示“不相信”

  7. 【英语】Bingo口语笔记(24) - L的发音技巧

    舌头往上跑

  8. JBPM4之decision节点:2、好学生|坏学生|超级学生

    JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流程图的插件 JBPM4入门——3.JBPM4开发环境的搭建 JBPM4入门—— ...

  9. c# 读取其他程序的ListView内容

    ArcMap没找到一个导出图层字段结构的功能,自已花点时间用C#做了个小工具,专门用来导arcmap中图层属性面板中的字段信息. 使用说明: 1) 点击“查找窗口”按钮.2) 在ListView控件上 ...

  10. Windows下Cygwin中使用NCView

    1. 使用cygwin的setup.exe安装 NetCDF, HDF5, Curl, libXaw, libICE, udunits, libexpat 和 libpng: 在选择库界面搜索:&qu ...