- 博客(14)
- 资源 (3)
- 收藏
- 关注
转载 C++中顶层const和底层const的探究
const是一个限定符,被它修饰的变量的值不能改变。对于一般的变量来说,其实没有顶层const和底层const的区别,而只有向指针这类复合类型的基本变量,才有这样的区别。一 、如何区分顶层const和底层const指针如果添加const修饰符时有两种情况:1 指向常量的指针:代表不能改变其指向内容的指针。声明时const可以放在类型名前后都可,拿int类型来说,声明时:const int和i...
2020-03-07 21:14:27
220
转载 数据结构中内部排序的C++实现方法
概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短;1....
2020-03-03 22:49:23
423
原创 DSP6678DDR配制方法
做MCU及其他DSP的设计时,可能大家觉得时钟的设计其实是很简单的。没错,比如现在很热门的ARM系列的MCU,设计时没人单独提出来过什么时钟设计。为什么在提到TMS320C6678的时候要特别的提出时钟设计呢?说实话,要想用好C6678,尤其是在多任务图像通信的场合,还真的得仔细研究其时钟系统。在这里,我将按照我个人在工作中的理解来写C6678的时钟系统。所以看起来会工程味道重一些,没有学术的味...
2019-10-18 17:18:10
5261
2
原创 DSP6678核间通信
核间通信一般有3种方式:共享数据空间、硬件中断和任务中断。共享数据空间:是指两个核都可以访问相同的内存空间,根据其信息来交换数据和状态。该方式一般需要逐个核去查询,但采用查询方法一般很难适用于实时性要求较高的场合。硬件中断方式:是核之间通过硬件中断方式来通知状态,这种方式实时性最高,可以实时响应中断。但引起的问题是:如果存在多个任务,核间中断会打断正在运行的较高优先级的事件;如果在高级事件...
2019-10-09 11:45:18
10988
2
原创 编译指示_#pragma在DSP中的编程技巧
编译指示(Pragma Directives)可能是所有的预处理指令中最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对编译器给出了如何处理特定的函数、对象和代码段的方法,在保持与C/C++语言完全兼容的情况下,给出主机(比如C28x)或操作系统(比如DSP/BIOS)专有的特征。这些编译指示的使用较为复杂,但是我们还必须要了解它们,因为它们是程序中必不...
2019-10-09 09:51:23
1497
转载 电脑各类快捷键及运行命令大全
Ctrl+S 保存Ctrl+W 关闭程序Ctrl+N 新建Ctrl+O 打开Ctrl+Z 撤销Ctrl+F 查找Ctrl+X 剪切Ctrl+C 复制Ctrl+V 粘贴Ctrl+A 全选Ctrl+[ 缩小文字Ctrl+] 放大文字Ctrl+B 粗体Ctrl+I 斜体Ctrl+U 下划线Ctrl+Shift 输入法切换Ctrl+空格 中英文切换Ctrl+回车 QQ号中...
2019-08-21 20:56:06
7462
原创 DSP C6678 SRIO接口调试
设计的板子到了SRIO调试阶段了,在板子上,一片V6和两片6678通过4XSRIO互联,中间没有Switch,总算搞定了相互之间的通信。首先,感谢Ti论坛提供的SRIO程序范例,但是其硬件平台是EVM板,更多的只能用于loopback测试,但是可以在其基础上修改。1.初始化DSP的SRIO,主要是对SerDes进行配置,然后是Lane和Speed的配置,最后需要等待FPGA的LinK建立,我们...
2019-08-19 10:28:30
3495
1
转载 C++堆和栈的区别和联系
C++中,内存分为5个区:堆、栈、自由存储区、全局/静态存储区和常量存储区。栈:是由编译器在需要时自动分配,不需要时自动清除的变量存储区。通常存放局部变量、函数参数等。堆:是由new分配的内存块,由程序员释放(编译器不管),一般一个new与一个delete对应,一个new[]与一个delete[]对应。如果程序员没有释放掉, 资源将由操作系统在程序结束后自动回收。自由存储区:是...
2019-08-16 16:55:17
221
原创 计算DSP程序运行时间
计算DSP程序运行时间测试方法1:// 计数变量long long StartTime = 0;long long EndTime = 0;// 初始化计数时钟(开始后就不能停止)TSCH = 0;TSCL = 0;// 开始计数StartTime = _itoll(TSCH, TSCL);/*被测试运行程序*/// 结束计数EndTime = _itoll(TS...
2019-08-15 19:03:22
8044
1
转载 TI常用库函数介绍
TI为它的DSP各系列芯片提供了高效实现的库函数,囊括通用领域和一些专用领域。本文集中介绍TI C66平台的通用库函数,包括其类别,具体功能以及使用注意事项等。在使用前,当知悉以下几点:函数进程由手动汇编而成,已充分发挥器件效率。同时TI对外提供C和线性汇编代码对于个人一些特殊应用,DSPLIB可能会带来额外的cycle消耗TI DSPLIB依平台和时间变迁均会发生变动,具体使用时应参照手...
2019-08-14 20:54:20
9710
转载 C++Primer第五版——习题答案详解
C++Primer第五版——习题答案详解原文链接:https://blog.csdn.net/misayaaaaa/article/details/53786215C++Primer第五版——习题答案详解 新手入门必看的书。知识是一个系统化并且相互关联的体系,零散的东西每天收获如果不形成自己的体系的话,那将是毫无意义的,所以我觉得有必要将这本书先啃一遍,消化其中的关键有用的东西,了解相关但...
2019-08-13 17:42:41
241
转载 TI DSP各种段的定义
TI DSP各种段的定义在cmd文件中能看到各种段.text .cinit .const等,这和通常系统中仅有TEXT, DATA, BSS( 或者arm系统的code,data,zi段 ),heap, stack有很大的区别:TI段的定义:已初始化的段:.text .cinit .const .econst …pinit .switch.text: 所有可以执行的代码和常量...
2019-07-22 19:24:20
1839
原创 DSP6678入门必看
DSPC6000系列入门必看如何选择外部时钟?DSP的内部指令周期较高,外部晶振的主频不够,因此DSP大多数片内均有PLL。但每个系列不尽相同。TMS320C62xx:PLL可以×1,×4,×6,×7,×8,×9,×10和×11,因此外部主频可以为11.8MHz-300MHz。TMS320C67xx:PLL可以×1和×4,因此外部主频可以为12.5MHz-230MHz。TMS320C64...
2019-05-27 17:59:37
18338
原创 TMS320C6678的地址映射范围及性能比较
TMS320C6678的地址映射范围1.存储器系统简介2.DSP 核,EDMA3,IDMA 拷贝数据的性能比较3.DSP 核访问存储器的时延3.1 DSP 核访问LL2 的时延3.2 DSP 核访问SL2 的时延3.3DSP 核访问外部DDR 存储器的时延TMS320C6678 有8 个C66x 核,典型速度是1GHz,每个核有 32KB L1D SRAM,32KB L1P SRAM 和 ...
2019-05-25 17:50:45
5181
1
空间谱估计理论与算法------程序.rar
2019-08-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人