Eclipse MRAA项目在MinnowBoard Max/Turbot开发板上的应用指南
开发板概述
MinnowBoard Max是一款基于Intel Atom E38xx系列SOC(原Bay Trail架构)的开源嵌入式开发板,而MinnowBoard Turbot是其向后兼容的改进版本,在性能和硬件方面都有所提升。这两款开发板都适用于物联网和嵌入式开发场景。
硬件支持要点
固件要求
在使用MRAA库时,需要特别注意:
- 仅支持64位固件
- 推荐使用0.73或更高版本的固件
SPI接口配置
要启用SPI功能,开发者需要:
- 加载
low_speed_spidev
内核模块 - 系统将自动创建
/dev/spidev0.0
设备节点 - MRAA目前仅支持这一个SPI总线
I/O接口映射表
下表详细说明了开发板上的物理引脚与MRAA编号的对应关系,以及各引脚的功能特性。需要注意的是,这些映射基于默认BIOS设置,如果修改了BIOS中的相关设置(LPSS & CSS配置),MRAA的行为可能会与预期不符。
| MRAA编号 | 物理引脚 | 功能 | Sysfs GPIO | 特别说明 | |----------|----------|-------------|------------|--------------------------| | 5 | 5 | SPI_CS | 220 | 通过低速SPI | | 6 | 6 | UART1_TXD | 225 | UART1发送 | | 7 | 7 | SPI_MISO | 221 | 通过低速SPI | | 8 | 8 | UART1_RXD | 224 | UART1接收 | | 9 | 9 | SPI_MOSI | 222 | 通过低速SPI | | 13 | 13 | I2C_SCL | 243 | 使用/dev/i2c-7总线 | | 15 | 15 | I2C_SDA | 242 | 使用/dev/i2c-7总线 | | 22 | 22 | PWM0 | 248 | PWM芯片0通道0 | | 24 | 24 | PWM1 | 249 | PWM芯片1通道0 |
内核版本注意事项:
- 在3.18+版本的内核中,Sysfs GPIO编号的计算方式为:
新值 = 旧值 | 0x100
用户LED控制
MinnowBoard Turbot开发板提供了一个内置的可编程用户LED,通过MRAA可以方便地控制它:
| MRAA编号 | 物理引脚 | 功能 | Sysfs GPIO | 工作特性 | |----------|----------|--------|------------|----------------| | 27 | N/A | D2_LED | 104 | 低电平有效控制 |
开发建议
-
I2C总线识别:文档中显示I2C在总线#5,ACPI显示在总线#6,但实际驱动使用总线#7,开发时需要注意这一差异。
-
GPIO使用:对于GPIO功能,建议先确认当前内核版本,再根据上述表格计算正确的GPIO编号。
-
PWM应用:开发板提供了两个PWM通道,分别位于PWM芯片0和1的通道0,可用于电机控制等场景。
-
UART通信:开发板提供了两个UART接口,可用于串行通信或调试输出。
通过Eclipse MRAA库,开发者可以方便地访问MinnowBoard Max/Turbot开发板的各种硬件接口,大大简化了底层硬件操作的复杂性。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考