Application 
Note 
XMOS 入门指南 
XMOS 学习手册 
AN01010101 
  V0.00 
  Date: 2008/01/01
产品应用笔记
 
 
类别 
关键词 
摘    要 
内容 
 
 
广州周立功单片机科技有限公司 
 
 
              广州周立功单片机科技有限公司 
构建混合型控制网络
ARM 嵌入式工业控制模块 
修订历史 
版本 
V1.00 
 
 
日期 
2012/07/24 
 
原因 
创建文档 
 
产品应用笔记                                                                  ©2012 Guangzhou ZLG MCU Technology Co., Ltd. 
   
i 
              广州周立功单片机科技有限公司 
构建混合型控制网络
ARM 嵌入式工业控制模块 
销售与服务网络(一) 
广州周立功单片机科技有限公司 
地址:广州市天河北路 689 号光大银行大厦 12 楼 F4 
邮编:510630 
电话:(020)38730916    38730917    38730972    38730976    38730977 
传真:(020)38730925 
网址:www.zlgmcu.com
新浪微博:ZLG-周立功(http://weibo.com/ligongzhou) 
 
广州专卖店 
地址:广州市天河区新赛格电子城 203-204 室 
电话:(020)87578634    87569917 
传真:(020)87578842 
 
北京周立功 
地址:北京市海淀区知春路 113 号银网中心 A 座
1207-1208 室  (中发电子市场斜对面) 
电话:(010)62536178    62536179    82628073 
传真:(010)82614433 
 
杭州周立功 
地址:杭州市天目山路 217 号江南电子大厦 502 室 
电话:(0571)89719480    89719481    89719482 
                      89719483    89719484    89719485 
传真:(0571)89719494 
深圳周立功 
地址:深圳市福田区深南中路 2072 号电子大厦 12
楼 
电话:(0755)83781788(5 线) 
传真:(0755)83793285 
 
上海周立功 
地址:上海市北京东路 668 号科技京城东楼 12E 室
电话:(021)53083452    53083453    53083496 
传真:(021)53083491 
 
厦门办事处 
E-mail:sales.xiamen@zlgmcu.com
 
南京周立功 
地址:南京市珠江路 280 号珠江大厦 1501 室 
电话:(025) 68123901    68123902 
传真:(025) 68123900 
 
重庆周立功 
地址:重庆市石桥铺科园一路二号大西洋国际大厦
(赛格电子市场)1611 室 
电话:(023)68796438    68796439 
传真:(023)68796439 
 
成都周立功 
地址:成都市一环路南二段 1 号数码科技大厦 403
室 
电话:(028)85439836    85437446 
传真:(028)85437896 
 
武汉周立功 
地址:武汉市洪山区广埠屯珞瑜路 158 号 12128 室
(华中电脑数码市场) 
电话:(027)87168497    87168297    87168397 
传真:(027)87163755 
 
西安办事处 
地址:西安市长安北路 54 号太平洋大厦 1201 室 
电话:(029)87881296    83063000    87881295 
传真:(029)87880865 
沈阳办事处 
E-mail:sales.shenyang@zlgmcu.com
产品应用笔记                                                                  ©2012 Guangzhou ZLG MCU Technology Co., Ltd. 
   
ii 
              广州周立功单片机科技有限公司 
构建混合型控制网络
ARM 嵌入式工业控制模块 
销售与服务网络(二) 
广州致远电子股份有限公司 
地址:广州市天河区车陂路黄洲工业区 3 栋 2 楼   
邮编:510660 
传真:(020)38601859 
网址:www.zlg.cn
新浪微博:ZLG-周立功(http://weibo.com/ligongzhou) 
 
技术支持: 
CAN-bus: 
电话:(020)22644381    22644382    22644253 
邮箱:can.support@zlg.cn
 
MiniARM: 
电话:(020)28872684    28267813 
邮箱:miniarm.support@zlg.cn
 
无线通讯: 
电话:(020) 22644386 
邮箱:wireless@zlg.cn
 
编程器: 
电话:(020)22644371 
邮箱:programmer@zlg.cn
 
ARM 嵌入式系统: 
电话:(020) 22644383    22644384 
邮箱:NXPARM@zlg.cn
 
iCAN 及数据采集: 
电话:(020)28872344    22644373 
邮箱:ican@zlg.cn
以太网: 
电话:(020)22644380    22644385 
邮箱:ethernet.support@zlg.cn
 
串行通讯: 
电话:(020)28267800    22644385 
邮箱:serial@zlg.cn
分析仪器: 
电话:(020)22644375 
邮箱:tools@zlg.cn
 
楼宇自动化: 
电话:(020)22644376    22644389    28267806 
邮箱:mjs.support@zlg.cn   
            mifare.support@zlg.cn
 
销售: 
电话:(020)22644249    22644399    22644372    22644261    28872524 
                    28872342    28872349    28872569    28872573    38601786 
 
维修: 
电话:(020)22644245 
产品应用笔记                                                                  ©2012 Guangzhou ZLG MCU Technology Co., Ltd. 
   
iii 
              广州周立功单片机科技有限公司 
构建混合型控制网络
ARM 嵌入式工业控制模块 
目   录 
2.1 
3.1 
3.2 
3.3 
2.2 
2.3 
1.1 
1.2 
1.3 
1.4 
1.5 
1.  概述...........................................................................................................................1 
XMOS芯片 ...............................................................................................................1 
XCore结构图 ............................................................................................................1 
XC语言 .....................................................................................................................1 
开发环境...................................................................................................................2 
开发流程...................................................................................................................2 
2.  开发环境的安装和使用...........................................................................................3 
安装开发环境...........................................................................................................3 
2.1.1  系统要求...............................................................................................................3 
2.1.2  XDE安装过程.......................................................................................................3 
如何建立工程...........................................................................................................8 
2.2.1  XDE工作界面.......................................................................................................8 
2.2.2  新建工程...............................................................................................................9 
调试与下载(基于XK-1A).................................................................................13 
2.3.1  在线调试.............................................................................................................13 
2.3.2  下载程序.............................................................................................................16 
3. XC语言分析与示例................................................................................................19 
与C不兼容部分 ......................................................................................................19 
新增关键字与运算符.............................................................................................19 
3.2.1  运算符.................................................................................................................19 
3.2.2  关键字.................................................................................................................20 
应用实例与分析.....................................................................................................29 
3.3.1  LED驱动实例.....................................................................................................29 
3.3.2  UART通信实例 ..................................................................................................29 
3.3.3  软件FIFO实例(实现不同线程操作同块内存) ............................................32 
4. I/O的规划与使用 ....................................................................................................38 
引脚(pin)与端口(port) .................................................................................38 
port应用示例 ..........................................................................................................40 
4.2.1  基础控制:输出高低电平.................................................................................40 
4.2.2  时序port:特定时钟沿输入输出 ......................................................................40 
4.2.3  带缓冲port:串并数据转换 ..............................................................................42 
4.2.4  带选通port:选通信号 ......................................................................................43 
4.2.5  触发条件输入port:外部事件 ..........................................................................45 
特殊应用:多位port进行位操作 ..........................................................................46 
5.  芯片加密(OTP).................................................................................................55 
XMOS芯片加密简介 .............................................................................................55 
XMOS加密后程序的运行过程 .............................................................................55 
XMOS芯片加密过程与操作方法 .........................................................................55 
5.3.1  加密过程简介.....................................................................................................55 
5.3.2  单片加密操作步骤.............................................................................................56 
5.3.3  生成批量加密文件.............................................................................................56 
4.1 
4.2 
4.3 
5.1 
5.2 
5.3 
产品应用笔记                                                                  ©2012 Guangzhou ZLG MCU Technology Co., Ltd. 
   
i 
              广州周立功单片机科技有限公司 
构建混合型控制网络
ARM 嵌入式工业控制模块 
1. 概述 
1.1  XMOS 芯片 
XMOS 在传统 MCU 顺序执行的基础上融入了 FPGA 的并发执行的思想,并且由于端口
的灵活通用,可以嵌入多种 IP 软核进行开发,使得设计过程更加简单、灵活,加入了时序
块,使 XMOS 在时序的控制上比起 MCU 更加灵活和强大。 
一个 XMOS 芯片是由单个或多个 XCore 组成的,XCore 包含有一个多线程事件驱动处
理器,并且有高度整合的 I/O 端口和片上存储器。处理器通过硬件多线程能够同时运行多个
任务,并且使用特定的指令控制输入和输出端口,使得操作更加简便。单个 XCore 的线程
之间,多个 XCore 的线程之间,甚至多个芯片的线程之间,都可以通过内部高性能的切换
器来进行通信。也就是说多个芯片可以通过硬件连接成一个多核网络设备。 
1.2  XCore 结构图 
XCore的结构简图如图 1.1所示。 
图 1.1    XCore 结构图 
 
一个 XCore 有 8 个硬件线程,每个线程最高可达 100MHz 的时钟频率。线程与线程之
间是通过通道来传输数据。有一个高性能的通用输入输出端口,核内集成了一个 64K 的
SRAM,一个 8K 的 OTP,时钟源和一个 JTAG 接口等。 
1.3  XC 语言 
XMOS 的程序开发是可以使用 XC、C 以及 C++语言结合起来编写的。XC 语言具有 C
的延伸特性,增加了并发执行、I/O 以及时间的控制。所以延伸出来的特性直接对应到 XCore
的硬件资源,例如:多线程并发执行语句、输入输出端口的控制语句、通道的使用等都是
XCore 特有的硬件资源。有了这些新特性,可以避免大量调用库函数。XC 的结构能够高效
地编译成简短的指令代码,并且不受到任何死锁现象的限制。这使得程序容易编写、理解和
产品应用笔记                                                                  ©2012 Guangzhou ZLG MCU Technology Co., Ltd. 
   
1 
              广州周立功单片机科技有限公司 
维护。 
如图 1.2所示,XC是在C的基础上开发
出来的,大部分仍然是ANSI C,只有少部分
C的功能无法使用,例如:指针、浮点、long 
long类型,以及goto语句等类型。如果需要
使用这部分功能可以在C文件里实现,再加
到相应的工程里。相对的,XC增加了部分
针对XCore 特性的新功能,例如:I/O 类型
(in/out port)、定时器类型(timer)、时钟类
型(clock)以及并行语句(par)等等。 
1.4  开发环境     
构建混合型控制网络
ARM 嵌入式工业控制模块 
 
XMOS 公 司 推 出 的 XDE  (XMOS 
图 1.2    XC 与 C 
Development Environment),是专门针对 XMOS 设备以及 XC 所开发出来的一个开发环境。
它包括编译器,仿真器,调试器,和一个静态时序分析器。XDE 是基于行业标准平台设计
出来的,并且可以使用 C,C++,或 XC 语言混合编写程序。 
1.5  开发流程 
XMOS整个的开发流程如图 1.3所示。 
 
图 1.3    XMOS 开发流程 
使用 C、C++和 XC 语言进行程序开发,编译成所需二进制文件,在 XDE 上进行仿真
调试、时序检测,通过 XTAG 在硬件上进行在线调试,也可使用 XCope 工具进行信号采样。
最后将生成的二进制文件下载到硬件 Flash 上。 
产品应用笔记                                                                  ©2012 Guangzhou ZLG MCU Technology Co., Ltd. 
   
2 
              广州周立功单片机科技有限公司 
构建混合型控制网络
ARM 嵌入式工业控制模块 
2. 开发环境的安装和使用 
2.1  安装开发环境 
2.1.1  系统要求 
XMOS工具套件是官方提供的一个专业开发平台,操作系统版本要求如表格 2.1所示。 
表格 2.1    系统要求 
系统版本 
系统要求 
Windows XP SP3 
Windows 7 SP1 
Mac OS X 10.5+ 
Linux CentOS 5 
 
32-bit with 32-bit JRE 
32-bit with 32-bit JRE 
64-bit with 32-bit JRE 
Intel Processors 
32-bit with 32-bit JRE 
64-bit with 64-bit JRE 
开发套件也可以在 Linux 的其他一些版本运行,例如:RedHat 和 Ubuntu。 
开发工具的最新信息可以在http://www.xmos.com/tools查看到。 
在系统上同时必须安装上Java  Runtime  Environment(JRE)  1.5 或 1.5 以上版本,Java 
Runtime Environment(JRE)可以在http://java.sun.com/javase/download下载到。 
2.1.2  XDE 安装过程 
1.  从 http://www.xmos.com/tools  下 载 到Desktop-Tools-(Windows)(11[1].11.0).exe 或 是
更高的版本,本文档所有涉及开发环境的地方都是以版本号为 11.11.0 的XDE为标准的。双
击已下载的Desktop-Tools-(Windows)(11[1].11.0).exe进行安装。此时弹出安装开始界面,点击
Next。 
产品应用笔记                                                                  ©2012 Guangzhou ZLG MCU Technology Co., Ltd. 
   
3