文章目录

  • 文档目的
  • XMOS简介
  • 评估板"xCORE VOCAL FUSION XP-VF3100-BASE"简介
    • 主处理器资源
    • GPIO介绍
      • GPIO简介
      • 连接FLASH的GPIO
      • I2C使用的GPIO
      • LED使用的GPIO
      • Button使用的GPIO

文档目的

记录在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软件开发,其中工程配置以及软件对硬件进行操作时,需要知道这些硬件资源的情况。

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

  1. VAPS XT开发入门教程00:基本介绍

    昨天(2021.10.12)到某研究所对其人员进行培训,发现一些问题,经过整理之后,形成本文比较系统化的培训流程. 当然,如果需要打补丁,本文会更新. VAPS XT介绍 VAPS XT基于PC机的人 ...

  2. 视频教程-微信公众平台开发入门-微信开发

    微信公众平台开发入门 订阅后,请点击此处观看大牛全套视频课程:课程播放页链接 价格可能因活动略有浮动 刘运强 ¥39.00 立即订阅视频课 订阅后:请点击此处观看视频课程 视频教程-微信公众平台开发入 ...

  3. [转贴]Symbian开发入门 - UIQ开发教程

    文章作者:无双: 原发处:loveunix.net 欢迎转载,但是保留原作者与发表网站 保留版权声明 文章作者:无双: 原发处:loveunix.net 欢迎转载,但是保留原作者与发表网站 保留版权声 ...

  4. android开发入门_Android开发入门

    android开发入门 Android is an open source, Linux-based mobile operating system. Android was developed by ...

  5. web开发入门_Web开发人员和设计师的自由职业入门

    web开发入门 Learn how to get started with freelancing as a web developer and designer. Cara Bell shares ...

  6. IOS 初级开发入门教程(一)介绍篇

    导读 目前移动端开发市场上引导开发者追求技多不压身,一个全栈开发者至少要懂后台服务器.数据库.Android.web.ios开发等."一超多强"是指开发者先成为一门技术的专家然后掌 ...

  7. IOS 初级开发入门教学(一)介绍篇

    导读 目前移动端开发市场上引导开发者追求技多不压身,一个全栈开发者至少要懂后台服务器.数据库.Android.web.ios开发等.一超多强"是指开发者先成为一门技术的专家然后掌握了解多门技 ...

  8. Arcobjects for java:Arcgis二次开发入门,开发一个基本地图组件

    一.目的 因学习需要,使用Java进行Arcgis二次开发.当前对arcgis进行二次开发使用的语言基本是C#,使用Java对Arcgis进行二次开发的很少.于是使用java在idea上进行Arcgi ...

  9. Oracle EBS OAF开发入门(1)-开发环境安装和配置

    开发端环境: Windows 7 开发工具:Oracle JDeveloper 10.1.3.5.0.3(官方下载:p24611686_R12_GENERIC.zip) Oracle EBS版本: R ...

最新文章

  1. python ftp服务器限速_用 Python 快速实现 HTTP 和 FTP 服务器
  2. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 调试进程 ATTACH 附着目标进程 | 读取目标函数寄存器值并存档 )
  3. MES系统模块设计之物料控制 Material Control -- 1
  4. python2和python3解释器的区别
  5. idea搭建maven项目关于数据库连接jar包版本问题解决方案
  6. Jenkins的安装和卸载(转载)
  7. 《Python编程从入门到实践》第10章文件和异常动手试一试答案(附代码)
  8. 硬件基础知识---(4)电阻的核心参数
  9. Java基础学习总结(61)——Java项目开发要注意的60个问题
  10. Kubernetes可以代替Docker,可笑
  11. 9个最常用的python深度学习库
  12. Linux 内核的网络协议栈
  13. 自动驾驶之多传感器融合实践(1)------激光雷达点云数据处理
  14. 人工智能教程1---科普人工智能
  15. php 开发模式 自定义,smartprinter虚拟打印机 smarty+adodb+部分自定义类的php开发模式...
  16. mac默认输入法其实挺好用
  17. 服务器创建虚拟环境跑代码
  18. 【理解springboot自动装配原理】
  19. 阴阳师推出AR现世召唤,让式神出现在现实世界
  20. html点击 css样式,HTML css a标签点击后样式

热门文章

  1. js 实现拖动元素到任意位置
  2. Angular JS (一)
  3. 使用Primer Premier 5软件设计引物
  4. 如何根据眼球运动路线来设计网页
  5. 吃货联盟系统 C++实现
  6. 详解pdfFactory的页面管理功能
  7. 海思HI35xx平台CPU温度监测
  8. mysql与oracle存储过程_mysql与oracle存储过程对比
  9. 找歌软件测试自学,为用户而改变 酷我音乐2012For Android版本重构软件测试
  10. 携程泄密事件探因 核心IT人员仅六、七名