MXOS HAL-I APIs
MXOS’s hardware abstraction layer is the interface layer between the operating system kernel and the hardware circuitry.
The purpose is to abstract the hardware.It hides the hardware interface details of a specific platform,
provides a virtual hardware platform for the operating system, makes it hardware-independent, and can be ported on multiple platforms.
It is a programming layer that allows a computer operating system to interact with hardware devices at the logical layer rather than the hardware layer.
The hardware abstraction layer can be invoked by either the operating system core or the hardware driver.
In either case, the calling program does not need to know the specific design details of the hardware, just the parameters required by the abstraction layer.
⊕ mxos-demos SDK를 참조한다.
HAL-I API List
HW Related API | Descrition |
GPIO → Used to control the input, output, and interrupt functions of the digital I/O port. | |
mxosGpioInitialize | Initializes the GPIO function of a pin and sets it as an input or output port. |
mxosGpioOutputHigh | Set a GPIO output high level signal. |
mxosGpioOutputLow | Set a GPIO output high level signal. |
mxosGpioOutputTrigger | Flip the output state of a GPIO |
mxosGpioInputGet | Get the input state of a GPIO (high or low) |
mxosGpioEnableIRQ | Enable interrupt triggering for a GPIO input pin |
mxosGpioDisableIRQ | Turn off the interrupt trigger function of a GPIO input pin |
mxosGpioFinalize | Deregister a GPIO function on one pin |
ADC → The user controls the analog to digital conversion function of the ADC port. | |
mxosAdcInitialize | Initialize an ADC port |
mxosAdcTakeSample | Single sampling of one ADC port |
mxosAdcTakeSampleStreram | Multiple sampling of one ADC port |
mxosAdcFinalize | Deregister an ADC port function |
RTC → The user controls the system clock function. | |
mxosRtcInitialize | Initialize the system clock |
mxosRtcGetTime | Set the RTC time to a new value |
mxosRtcSetTime | Set the RTC time to a new value |
Flash The user controls FLASH to read, write, erase and other functions. | |
mxosFlashGetInfo | Get information about the specified area in Flash |
mxosFlashErase | Erase the contents of the specified area in Flash |
mxosFlashWrite | write data to the specified area in Flash |
mxosFlashRead | Read data from a specified area of Flash into the RAM buffer |
mxosFlashEnableSecurity | Enable security options in the Flash partition |
mxosFlashDisableSecurity | Security options are not enabled in the Flash partition (if defined in the bootloader) |
UART → Used to control the UART serial communication function. | |
mxosUartInitialize | Initializes the UART interface. Prepare a UART hardware interface for communication |
mxosUartFinalize | Log out of a UART interface |
mxosUartSend | Send data from the UART interface |
mxosUartRecv | Receive data from the UART interface |
mxosUartGetLengthInBuffer | Get the length of the data received from the UART interface, the data is saved in the buffer |
I2C → Used to control the I2C bus communication function. | |
mxosI2cInitialize | Initialize an I2C interface |
mxosI2cProbeDevice | Detect if the I2C device is online |
mxosI2cBuildTxMessage | Send for I2C, initialize the structure |
mxosI2cBuildRxMessage | Receives the I2C, initializes the structure |
mxosI2cBuildCombinedMessage | Initialize the structure for I2C as a whole |
mxosI2cTransfer | Send or receive data from an I2C interface |
mxosI2cFinalize | Log out of an I2C interface |
SPI → Used to control the I2C bus communication function. | |
mxosSpiInitialize | Initializes the SPI interface for a given SPI device |
mxosSpiTransfer | Send or receive data from an SPI device |
mxosSpiFinalize | Turn off the SPI interface |
PWM → Used to control the PWM output function of the MCU pin. | |
mxosPwmInitialize | Initialize a PWM interface |
mxosPwmStart | Start PWM output |
mxosPwmStop | Stop PWM output |
WDG → User control system hardware watchdog function. | |
mxosWdgInitialize | Initialize the onboard CPU hardware watchdog |
mxosWdgReload | Reload Watchdog Counter |
mxosWdgFinalize | Any specific platform needed to clean up hardware watchdogs |
RNG Used to get a random number for the system. | |
mxosRandomNumberRead | Write a random number to the memory buffer |
NanoSecodn Driver Used to provide a nanosecond delay for the system. | |
mxosNanosendDelay | implements system nanosecond delay |
MFiAuth → Used to control the operation of Apple certified chips. | |
mxosMFiAuthInitialize | Perform any platform-specific initialization. Such as initializing the I2C interface that communicates with the Apple authentication chip. |
mxosMFiAuthFinalize | Perform any platform cleanup work. Such as clearing the I2C interface that communicates with the Apple authentication chip. |
mxosMFiAuthCreateSignature | Create an RSA signature from the specified SHA-1 digest using the Apple Certified Coprocessor |
mxosMFiAuthCopyCertificate | Copy the certificate from the Apple Certified Coprocessor |
이상 끝 ~~~