Skip to content

Board IOCTL

In a small embedded system, there will typically be a much greater interaction between application and low-level board features. The canonically correct to implement such interactions is by implementing a character driver and performing the interactions via low level ioctl() calls. This, however, may not be practical in many cases and will lead to "correct" but awkward implementations.

:cboardctl is non-standard OS interface to alleviate the problem. It basically circumvents the normal device driver ioctl() interface and allows the application to perform direct IOCTL-like calls to the board-specific logic. It is especially useful for setting up board operational and test configurations.

:cboardctl is an application interface to the OS. There is no point, in fact, of using :cboardctl within the OS; the board interfaces prototyped in include/nuttx/board.h{.interpreted-text role="file"} may be called directly from within the OS.

Supported commands

The following is the list of supported :cboardctl{.interpreted-text role="func"} commands. Besides this list, board logic can implement handling of custom commands by implementing the :cboard_ioctl interface.

System state control

Power Management

Board information

Filesystems

Symbol Handling

USB

Graphics

Testing