XMOS软件开发入门(1) - 开发板硬件资源介绍

文档目的

记录在XMOS的芯片平台上软件开发入门的过程。

  • 硬件平台使用官方评估板"xCORE VOCAL FUSION XP-VF3100-BASE"
  • IDE开发环境win10 下的 xTIMEcomposer Community_14.3.0

XMOS简介

XMOS是国外的半导体设计公司,设计用于“物联网的”高性能芯片,内核架构为多核平行架构的MIPS架构。

评估板"xCORE VOCAL FUSION XP-VF3100-BASE"简介

"xCORE VOCAL FUSION XP-VF3100-BASE"是USB Audio方案的一款评估板,主处理器型号是XVF3100-TQ128。

在这里插入图片描述

板子只记录和软件开发入门有关的部分,比如内核、内存,Flash大小,GPIO,定时器。

主处理器资源

在这里插入图片描述

  • 2个TILE,之间通过xCONNECT links连接

  • 16个core(每个tile 8个)

  • 512KB SRAM(每片256KB)

  • 2MB Flash

  • 20个定时器(每片10个)

  • 81个GPIO口

GPIO介绍

因为工程需要配置GPIO的资源,所以需要先熟悉GPIO。GPIO有1位的,4位的,8位的,16位的。具体看评估板的原理图和主芯片的数据手册。主要包括:

  • 连接FLASH的GPIO
  • 控制LED的GPIO
  • 检测按键的GPIO
  • I2C的GPIO
GPIO简介

GPIO是和tile有关联的,不能在某个tile中操作另一个tile中的gpio。

GPIO属于哪个tile,是多少bit?需要根据主芯片的数据手册,手册记录的GPIO格式如下图:

在这里插入图片描述

在这里插入图片描述

用X0Dnn命名的,比如X0D00,是在tile0中的引脚,用X1Dnn命名的,比如X1D00,是在tile1中的引脚。

至于是多少bit的,要看图示描述中的1A0、4A0、或者8A0,第一个字符1表示1位的引脚,4表示4位的引脚,8表示8位的引脚;第二个字符A表示GPIO的名称PORT A;上标0表示bit0,比如8A的GPIO,上标有0-7,分别对应8个位;4A的GPIO,上标有0-3,分别对应4个位。

像X0D02这种,既可当4A0,也可以当8A0或者16A0

这样,通过查数据手册,就能知道引脚的位和名称,以及位序号了。在程序中如何使用呢?XMOS为用户提供了库,库和开发环境xTIMEcomposer是需要购买开发板,根据开发板上的唯一号码来注册才能下载的。

使用xTIMEcomposer产生工程之后,有头文件定义了GPIO,比如文件“xs1_g4000b-512.h”,摘取一段如下:

#define XS1_PORT_8A 0x80000
#define XS1_PORT_8B 0x80100
#define XS1_PORT_8C 0x80200
#define XS1_PORT_8D 0x80300

#define XS1_PORT_4A 0x40000
#define XS1_PORT_4B 0x40100
#define XS1_PORT_4C 0x40200
#define XS1_PORT_4D 0x40300
#define XS1_PORT_4E 0x40400
#define XS1_PORT_4F 0x40500

#define XS1_PORT_1A 0x10200
#define XS1_PORT_1B 0x10000
#define XS1_PORT_1C 0x10100
#define XS1_PORT_1D 0x10300

XS1_PORT_1A就是1A口,XS1_PORT_4A就是4A口,XS1_PORT_8A就是8A口。

假设,XS1_PORT_1A作为输出口,那么:

out port p = XS1_PORT_1A;

p <: 1;    // 输出高电平

所用的是xmos的xc语言,后面说明。

连接FLASH的GPIO

评估板Flash使用的GPIO pin如下所示

在这里插入图片描述

图中Port所述的P1B就表示XS1_PORT_1B,P4B0表示XS1_PORT_4B的bit 0,如此类推。后面描述不再赘述。

I2C使用的GPIO

评估板I2C使用的GPIO pin如下所示
在这里插入图片描述

LED使用的GPIO

评估板有13个LED,所用GPIO pin如下所示
在这里插入图片描述

Button使用的GPIO

评估板有4个button,使用的GPIO pin如下所示
在这里插入图片描述
本篇描述了评估板的硬件资源介绍,后续再描述xc软件开发,其中工程配置以及软件对硬件进行操作时,需要知道这些硬件资源的情况。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值