• 物联网工程师开发服务平台

MiCO HAL APIs

MiCO 的硬件抽象层是 位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。 它是一个编程层,允许计算机操作系统在逻辑层而不是硬件层与硬件设备交互。操作系统核心或者硬件驱动程序都可以调用硬件抽象层。无论哪种情况,调用程序都不用了解硬件的具体设计细节,只需要给出抽象层所需的参数即可。

MiCO 硬件抽象层包括:

本文仅梳理 MiCO HAL 硬件抽象层接口的主要 API 框架及部分示例。 更详细说明及实现,可参考完整的 doxygen 文档,或查阅 MiCO SDK 中 demo 代码。

GPIO

用于控制数字 I/O 端口的输入,输出,中断等功能。

ADC

用户控制 ADC 端口的模数转换功能。

RTC

用户控制系统时钟功能。

FLASH

用户控制 FLASH 读,写,擦除等功能。

UART

用于控制 UART 串口通信功能。

  • MicoUartInitialize:初始化UART接口。为通信准备一个UART硬件接口
  • MicoUartFinalize:注销一个UART接口
  • MicoUartSend:从UART接口发送数据
  • MicoUartRecv:从UART接口接收数据
  • MicoUartGetLengthInBuffer:获取从UART接口接收到数据的长度,该数据被保存在缓冲区中

I2C

用于控制I2C总线通信功能。

  • MicoI2cInitialize:初始化一个I2C接口
  • MicoI2cProbeDevice:检测I2C设备是否在线
  • MicoI2cBuildTxMessage:为I2C发送,初始化结构体
  • MicoI2cBuildRxMessage:为I2C接收,初始化结构体
  • MicoI2cBuildCombinedMessage:为I2C整体运作 初始化结构体
  • MicoI2cTransfer:从一个I2C接口发送或接收数据
  • MicoI2cFinalize:注销一个I2C接口

SPI

用于控制 SPI 总线通信功能。

  • MicoSpiInitialize:为给定的SPI设备初始化SPI接口
  • MicoSpiTransfer:从SPI设备发送或接收数据
  • MicoSpiFinalize:关闭SPI接口

PWM

用于控制 MCU 管脚的 PWM 输出功能。

  • MicoPwmInitialize:初始化一个PWM接口
  • MicoPwmStart:启动PWM输出
  • MicoPwmStop:停止PWM输出

WDG

用户控制系统硬件看门狗功能。

  • MicoWdgInitialize:初始化板上CPU硬件看门狗
  • MicoWdgReload:重装载看门狗计数器
  • MicoWdgFinalize:清理硬件看门狗所需的任一特定平台

RNG

用于为系统获取一个随机数。

  • MicoRandomNumberRead:将一个随机数写入内存缓冲区

NanoSecond Driver

用于为系统提供一个纳秒延时。

  • MicoNanosendDelay:实现系统纳秒延时

MFiAuth

用于控制对苹果认证芯片的操作。

  • MicoMFiAuthInitialize:执行任何平台特定的初始化。如初始化与苹果认证芯片通信的I2C接口
  • MicoMFiAuthFinalize:执行任何平台清理工作。如清除与苹果认证芯片通信的I2C接口
  • MicoMFiAuthCreateSignature:使用苹果认证协处理器,从指定的SHA-1摘要,创建一个RSA签名
  • MicoMFiAuthCopyCertificate:从苹果认证协处理器复制证书

Task switch,reboot and standby

用于控制系统的任务切换,重启和待机等状态。

  • MicoSystemReboot:系统软件重启
  • MicoSystemStandBy:设置系统的待唤醒时间
  • MicoMcuPowerSaveConfig:当所有线程均进入挂起状态时,系统进入低功耗模式
  • MicoSysLed:控制系统状态指示灯
  • MicoRfLed:控制系统射频状态指示灯
  • MicoShouldEnterMFGMode:系统进入MFG产测模式
  • MicoShouldEnterATEMode:系统进入ATE模式
  • MicoShouldEnterBootloader:系统进入bootloader模式
文本导读目录