第1章 汇编语言工具概述 TMS320C54x DSP的汇编语言开发工具包括: ■  Assembler      ■  Archiver      ■  Linker      ■  Absolute lister      ■  Cross-reference utility      ■  Hex conversion utility      ■  Mnemonic-to-algebraic translator utility 本章将概要介绍上述工具在软件开发流程中如何协调工作,并对每…
第2章 通用目标文件格式介绍 汇编器和连接器可以产生在TMS320C54x器件上执行的目标文件,这些目标文件的格式称为通用目标文件格式(COFF).采用COFF格式有利于程序的模式化编程,因为它支持用户在编写汇编语言程序时使用代码块和数据块,这些块称为段(section).汇编器和连接器都提供了多个伪指令用来创建和管理段.本章对COFF段进行简要介绍. 2.1 COFF文件类型 COFF文件包括三种类型,分别是COFF0.COFF1和COFF2.每种类型具有不同形式的文件头,但是数据块的格式相同…
第1章 绪论 TMS320C54x DSP是TMS320系列DSP产品中的定点数字信号处理器.C54x DSP满足了实时嵌入式应用的一些要求,例如通信方面的应用. C54x的中央处理单元(CPU)具有改进的哈佛结构,它的特点是最小化的功耗和高度的并行性.除此之外,C54x中多样化的寻址方式和指令集也大大提高了整个系统的性能. 1.1 TMS320系列DSP简介 TMS320系列DSP包括定点DSP.浮点DSP和多处理器DSP(也称DSPs),其结构是专门为实时信号处理设计的.TMS320系列具有…
第2章 TMS320C54x DSP体系结构总体介绍 本章介绍TMS320C54x DSP体系结构的概况,包括中央处理单元(CPU).存在器和片内外设. C54x DSP采用了高级的改进哈佛结构,用8条总线达到最大的处理能力.其独立的程序和数据空间允许同时对程序指令和数据进行访问,提供了高度的并行性.例如,在单周期内可以完成3个读操作和1个写操作,并行存储指令和专用指令充分利用了这种结构.另外,数据可以在数据空间和程序空间之间传送.这种并行支持一套功能强大的在单机器周期内完成的算术.逻辑和位操作…
第8章 流水线 本章描述了TMS320C54x DSP流水线的操作,列出了对不同寄存器操作时的流水线延迟周期.(对应英语原文第7章) 8.1 流水线操作 TMS320C54x DSP有一个6段的指令流水线.流水线的6个段彼此独立,允许指纹重叠执行.在任意给定的周期内,可以有1~6条指纹被激活,每一条指纹处于不同的白执行阶段. 流水线的6个段以及它们的功能分别是: Program prefetch. Program address bus (PAB) is loaded with the addr…
第3章  存储器 本章介绍了TMS320C54x DSP存储器的构成和操作.一般来说,C54x器件共有192K 16位字的存储窨,这个空间分成3个专用的部分:64K字程序.64K字数据和64K字I/O口.在某些C54x器件中,存储器结构已经通过重叠和分页的方法加以改变,这样就增加了存储器空间的容量. C54x体系结构上的并行特点和片内RAM的双存取能力使C54x可以在任意给定的机器周期内同时进行4个存储器操作:一条指令的读取操作.两个操作数读操作以及一个操作数写操作. 在片内存储器中操作有如下几…
第5章 数据寻址 C54x DSP提供7种基本寻址方式. ■ Immediate addressing uses the instruction to encode a fixed value.      ■ Absolute addressing uses the instruction to encode a fixed address.       ■ Accumulator addressing uses an accumulator to access a location in pr…
转载自:http://www.cppblog.com/shaker/archive/2011/11/30/33583.html 作者: dozbC++ Boost Thread 编程指南0 前言1 创建线程2 互斥体3 条件变量4 线程局部存储5 仅运行一次的例程6 Boost线程库的未来7 参考资料:0 前言 标准C++线程即将到来.CUJ预言它将衍生自Boost线程库,现在就由Bill带领我们探索一下Boost线程库.就在几年前,用多线程执行程序还是一件非比寻常的事.然而今天互联网应用服务程…
1. sum(3) => 6; sum(1,3) => 6; sum(6,6) => 6; sum(N) when is_integer(N) -> sum_acc(N,0); sum(_) -> {error, {bad_argument}}. sum_acc(0, Sum) -> Sum; sum_acc(N, Sum) -> sum_acc(N-1, Sum + N). sum(N, M) when is_integer(N), is_integer(M),…
学习安卓编程权威指南第五章的时候自己写了个简单的Demo来加深理解两个Activity互相传递数据的问题,然后将自己的学习笔记贴上来,如有错误还请指正. IntentActivityDemo学习笔记 题目:ActivityA登录界面(用户名.密码.登陆按钮),ActivityB(Edit,返回按键:SubmitButton).A界面输入用户名和密码传到B中,B验证用户输入的用户名和密码,如果错误就返回A,并用Toast 显示用户名和密码错误:如果正确,就在第二个 activity中显示一个Edi…