RTEMS 6.1-rc4
Loading...
Searching...
No Matches
Data Fields
rtems_flashdisk_config Struct Reference

RTEMS Flash Disk configuration table used to initialise the driver. More...

#include <flashdisk.h>

Data Fields

uint32_t block_size
 
uint32_t device_count
 
const rtems_fdisk_device_descdevices
 
uint32_t flags
 
uint32_t unavail_blocks
 
uint32_t compact_segs
 
uint32_t avail_compact_segs
 
uint32_t info_level
 

Detailed Description

RTEMS Flash Disk configuration table used to initialise the driver.

The unavailable blocks count is the number of blocks less than the available number of blocks the file system is given. This means there will always be that number of blocks available when the file system thinks the disk is full. The compaction code needs blocks to compact with so you will never be able to have all the blocks allocated to the file system and be able to full the disk.

The compacting segment count is the number of segments that are moved into a new segment. A high number will mean more segments with low active page counts and high used page counts will be moved into avaliable pages how-ever this extends the compaction time due to time it takes the erase the pages. There is no pont making this number greater than the maximum number of pages in a segment.

The available compacting segment count is the level when compaction occurs when writing. If you set this to 0 then compaction will fail because there will be no segments to compact into.

The info level can be 0 for off with error, and abort messages allowed. Level 1 is warning messages, level 1 is informational messages, and level 3 is debugging type prints. The info level can be turned off with a compile time directive on the command line to the compiler of:

-DRTEMS_FDISK_TRACE=0

Field Documentation

◆ avail_compact_segs

uint32_t rtems_flashdisk_config::avail_compact_segs

The number of segments when compaction occurs when writing. In case the number of segments in the available queue is less than or equal to this number the compaction process will be triggered. The available queue contains all segments with erased blocks.

◆ block_size

uint32_t rtems_flashdisk_config::block_size

The block size.

◆ compact_segs

uint32_t rtems_flashdisk_config::compact_segs

Max number of segs to compact in one pass.

◆ device_count

uint32_t rtems_flashdisk_config::device_count

The number of devices.

◆ devices

const rtems_fdisk_device_desc* rtems_flashdisk_config::devices

The device descriptions.

◆ flags

uint32_t rtems_flashdisk_config::flags

Set of flags to control driver.

◆ info_level

uint32_t rtems_flashdisk_config::info_level

Default info level.

◆ unavail_blocks

uint32_t rtems_flashdisk_config::unavail_blocks

Number of blocks not available to the file system. This number must be greater than or equal to the number of blocks in the largest segment to avoid starvation of erased blocks.


The documentation for this struct was generated from the following file: