Document number
205065
Version
Rev. N
Issue date
2019-02-04
Sirius OBC and TCM User Manual
Page
102
of
174
EBUSY
Flash controller busy.
EIO
Semaphore error,
internal driver error,
or
program failed at chip level, block should be
considered bad (double check chip status FAIL flag
using SYSFLASH_IO_READ_CHIP_STATUS).
5.12.3.6. Function
int ioctl(…)
Additional supported operations via POSIX Input/Output Control API.
Argument
name
Type
Direction
Description
fd
int
in
File descriptor received at
open.
cmd
ioctl_command_t
in
Command specifier
value
void *
in
The value relating to command operation
as defined in 5.6.3.6.1 to .
The following return and errno values are common for all commands.
Return value
Description
0
Operation successful.
-1
See errno values
errno values
EBADF
The file descriptor fd is not an open file descriptor.
EINVAL
Invalid command.
EIO
Internal driver semaphore error.
5.12.3.6.1. Reset System flash
Resets the system flash chip.
5.12.3.6.2. Read chip status
Reads the chip status register.
5.12.3.6.3. Read controller status
Reads the controller status register.
Command
Value type
Direction Description
SYSFLASH_IO_RESET
n/a
n/a
n/a
Command
Value type
Direction Description
SYSFLASH_IO_READ_CHIP_STATUS uint8_t *
out
Pointer to variable in which status data is to be
stored.
Command
Value type
Direction Description
SYSFLASH_IO_READ_CTRL_STATUS uint16_t *
out
Pointer to variable in which controller status data
is to be stored.