XMOS 装½上之 XC 程序设计语言
Douglas Watt
XMOS 装½上之 XC 程序设计语言
Douglas Watt 着
林琬珍 译
½者致力此书的准备,½未表示或隐射任½的保证,以及对于错误或是省略部分并无权责;相关于或是出现不
恰½½用这些资讯或源码有关的直接、间接、无意或是随之而来的损害,½者对此无假定的责任。对于这些资
讯以及程序是或是将会是可任意自由½用并无此声明,再次重申,½者对相关于此的任½宣称并无责任。
版权所有,翻印必究。
Copyright
©
2009 by XMOS Limited.
版权所有。在没有经过出版商书面允许之下,此出版品的任½部分皆不½被重制、存放在一个检索系统或是以
任½½式传送,也不½以任½方法传送,无论是电子式、机械式、复印、½制或其他方式。
商标:
XMOS 与 XMOS 标志是 XMOS Limited 在英½和其他½家的注册商标,并且在没有书面允许下,不½
½用;所有其他商标是其各自拥有者的财产。那些在这本书中出现的名称,而 XMOS 有意识到商标宣称,这
些名称被以大写字母为首或以皆为大写字母印制。
a
本书的编排,½者是½用 LTEX 以及手动编排的方式完成排版,其中½用的字½为 HeiS ASC、Song
ASC、Minion Pro、Latin Modern 以及 Computer Modern。
XMOS 也以电子格式出版其书籍,一些印制版的内容并没有在电子书中出现。
关于 XMOS 产品的资讯,浏览我们的½页:www.xmos.com。
因为½路的动态本质,任½此书中包含的½址或是连结可½于出版后变更,或者不再有效。
CPI Antony Rowe,United Kingdom 印刷装订
ISBN: 978-1-907361-32-6
ISBN: 978-1-907361-03-6 (原文版)
XMOS Limited 出版
XMOS 前言
XMOS 晶片架构½½介面、数½信号处理以及控制½数的组合操½得以½件方式
实现,一个 XMOS 装½是由一个或是多个 XCore 组成,每一个皆包括事件驱动多线程
处理器,并且有高度整合输入/输出以及晶片内存记忆½来达到实时效½为目的的架
构,每个处理器½由硬件支援并行运行多个线程的功½,并且有特定的指令控制输入
和输出。
连接到其他装½
核心 0
线程 0
通
道
线程 1
点
线程 2
线程 3
脚
½
埠
线程 4
线程 5
通
道
线程 6
点
线程 7
记忆½
端
线程 6
线程 7
记忆½
切换器
线程 4
线程 5
½
脚
端
线程 1
线程 2
线程 3
埠
核心 1
线程 0
这是决定性的架构,每个线程皆被保证可以获得一部分的处理效½;线程可以用来运行
计算,处理实时的输入/输出操½以及多个事件的回应;利用单一的指令,可以½这些
输入/输出脚½进行取样或是驱动,而数据传送速度则可以用计时器或是时序控制。高
iv
XMOS 前言
效½的切换器½处理器间的沟通以及½多个装½的系统建构变得简单;在同一个处理器
上的线程间沟通是没有时延,而处理器之间,时延对已知的通讯模式是明确地呈现,硬
件完整的描述在另外文件[1]中说明。
程序设计模式
程序可以½用 XC、C 以及 C++ 合并编写,XC 具有 C 延伸的特性,可以简化并发
运行、输入/输出以及时间的控制,这些延伸出的特性直接对应到 XCore 硬件资源,例
如线程、通道以及埠,这可避免大量调用库½数。XC 的构造是有效率的 ─ 编译成简短
指令序列,也是安全的 ─ 不受到可½的死锁、竞速现象以及记忆½侵犯这些问题的威
胁,这½得程序容易撰写和理解以及除错,本书对于 XC 程序语言有详细完整的介绍。
工具架构
XMOS 工具是基于标准的嵌入式开发流程以及业界标准平台上发展的,工具的½用
因此变得更直觉简单。
XMOS DEVELOPMENT ENVIRONMENT
.XC
.C
.CPP
.XN
编译器指令集合
二进制码
模拟器
板子应用程序
硬件
除错器
XMOS 前言
v
在开发的所有阶段,工具½支援语言本身以及架构上并发和实时的½力:
•
边译器会静态地分析所产生的二进制文件,以提供在源码中所给定的时间资讯,这
½得程序在不同时间特性的多个装½上,更具可携性。
•
编译器工具会产生单一的二进制的文件,文件中包含所有装½的指令以及数据区
段,模拟器和板子工具可以对这个文件进行操½,对程序设计人员而言,则省去复
杂性。
•
目的平台的资讯½放在 XN 文件中,其中包含 XMOS 装½的½路、SPI 闪存记忆
½、振荡器和 JTAG,XN 文件½工具½够完全地自动化系统启动和设定。
•
板子工具可以将系统设定由特定方式启动,由开发主机电脑启动、板子上闪存记忆
½或是晶片内 OTP 记忆½启动。
•
除错器是开发主机与目的平台上所有处理器的介面,对程序设计人员而言,它呈
现一组线程,并且可以一起检阅,½除错 XMOS 装½和除错一般处理器的方式
相同。
工具的½用说明在另外的½用手册[2]中。
如½阅读
这本书的主要章节便是一½如½在 XMOS 架构上,以 XC 程序设计语言的½用手
册,附½部分有完整的 XC 规格以及在 XMOS 第一代装½ XS1 上 XC 的实½细节,½
这½文件更趋完美;这½½用手册假设读者有一些程序设计经验。
第 1 章
概述 XC 支援的计算,包含算术表达式、控制流程建构以及½数。
第 2 章
解释如½在埠上输入和输出数据以及和外部元件连接的介面,这个章节也说
明如½½用计时器控制输入/输出数据传输率及½用
select
语句与多个元件衔
接。
第 3 章
显示如½运行并发的多任务,也就是分别的线程,并说明如½½用通道在不同
的线程间通讯。
第 4 章
描述如½同步输入/输出操½与时序,以及如½纪½与控制在哪个边缘输入和
输出操½会有½用。
评论