XMOS软件开发入门(1) - 开发板硬件资源介绍
文章目录
- 文档目的
- 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) - 开发板硬件资源介绍相关推荐
- VAPS XT开发入门教程00:基本介绍
昨天(2021.10.12)到某研究所对其人员进行培训,发现一些问题,经过整理之后,形成本文比较系统化的培训流程. 当然,如果需要打补丁,本文会更新. VAPS XT介绍 VAPS XT基于PC机的人 ...
- 视频教程-微信公众平台开发入门-微信开发
微信公众平台开发入门 订阅后,请点击此处观看大牛全套视频课程:课程播放页链接 价格可能因活动略有浮动 刘运强 ¥39.00 立即订阅视频课 订阅后:请点击此处观看视频课程 视频教程-微信公众平台开发入 ...
- [转贴]Symbian开发入门 - UIQ开发教程
文章作者:无双: 原发处:loveunix.net 欢迎转载,但是保留原作者与发表网站 保留版权声明 文章作者:无双: 原发处:loveunix.net 欢迎转载,但是保留原作者与发表网站 保留版权声 ...
- android开发入门_Android开发入门
android开发入门 Android is an open source, Linux-based mobile operating system. Android was developed by ...
- web开发入门_Web开发人员和设计师的自由职业入门
web开发入门 Learn how to get started with freelancing as a web developer and designer. Cara Bell shares ...
- IOS 初级开发入门教程(一)介绍篇
导读 目前移动端开发市场上引导开发者追求技多不压身,一个全栈开发者至少要懂后台服务器.数据库.Android.web.ios开发等."一超多强"是指开发者先成为一门技术的专家然后掌 ...
- IOS 初级开发入门教学(一)介绍篇
导读 目前移动端开发市场上引导开发者追求技多不压身,一个全栈开发者至少要懂后台服务器.数据库.Android.web.ios开发等.一超多强"是指开发者先成为一门技术的专家然后掌握了解多门技 ...
- Arcobjects for java:Arcgis二次开发入门,开发一个基本地图组件
一.目的 因学习需要,使用Java进行Arcgis二次开发.当前对arcgis进行二次开发使用的语言基本是C#,使用Java对Arcgis进行二次开发的很少.于是使用java在idea上进行Arcgi ...
- Oracle EBS OAF开发入门(1)-开发环境安装和配置
开发端环境: Windows 7 开发工具:Oracle JDeveloper 10.1.3.5.0.3(官方下载:p24611686_R12_GENERIC.zip) Oracle EBS版本: R ...
最新文章
- python ftp服务器限速_用 Python 快速实现 HTTP 和 FTP 服务器
- 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 调试进程 ATTACH 附着目标进程 | 读取目标函数寄存器值并存档 )
- MES系统模块设计之物料控制 Material Control -- 1
- python2和python3解释器的区别
- idea搭建maven项目关于数据库连接jar包版本问题解决方案
- Jenkins的安装和卸载(转载)
- 《Python编程从入门到实践》第10章文件和异常动手试一试答案(附代码)
- 硬件基础知识---(4)电阻的核心参数
- Java基础学习总结(61)——Java项目开发要注意的60个问题
- Kubernetes可以代替Docker,可笑
- 9个最常用的python深度学习库
- Linux 内核的网络协议栈
- 自动驾驶之多传感器融合实践(1)------激光雷达点云数据处理
- 人工智能教程1---科普人工智能
- php 开发模式 自定义,smartprinter虚拟打印机 smarty+adodb+部分自定义类的php开发模式...
- mac默认输入法其实挺好用
- 服务器创建虚拟环境跑代码
- 【理解springboot自动装配原理】
- 阴阳师推出AR现世召唤,让式神出现在现实世界
- html点击 css样式,HTML css a标签点击后样式