ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
usb_host_msc_browse_steps.h
Go to the documentation of this file.
1
26
27#pragma once
28
29#include <stdint.h>
30
31#include "ra8_err.h"
32
33#ifndef RA8_OFF_TARGET
34#include "ux_api.h"
35#endif
36
63
68typedef enum : uint32_t {
69 k_mram_base_addr = 0x02000000U,
70 k_mram_bytes = 0x00100000U,
72
99
132
133#ifndef RA8_OFF_TARGET
134
164UINT selftest_msc_read(VOID* storage,
165 ULONG lun,
166 UCHAR* data_pointer,
167 ULONG number_blocks,
168 ULONG lba,
169 ULONG* media_status);
170
196UINT selftest_msc_write(VOID* storage,
197 ULONG lun,
198 UCHAR* data_pointer,
199 ULONG number_blocks,
200 ULONG lba,
201 ULONG* media_status);
202
224UINT selftest_msc_status(VOID* storage, ULONG lun, ULONG media_id, ULONG* media_status);
225
249[[nodiscard]] ra8_err_t selftest_host_pass(void);
250
251#endif /* !RA8_OFF_TARGET */
Error Code Definitions for ra8-firmware.
ra8_err_codes_t ra8_err_t
Canonical error-return type used by every ra8-firmware API.
Definition ra8_err.h:546
@ k_dir_off_attr
MS FAT spec sec 6 "DIR_Attr".
@ k_byte_mask
Byte mask.
unsigned int UINT
ThreadX-compatible unsigned int (host stub).
unsigned long ULONG
ThreadX-compatible unsigned long (host stub).
UINT selftest_msc_status(VOID *storage, ULONG lun, ULONG media_id, ULONG *media_status)
Storage media-status callback.
ra8_err_t selftest_host_pass(void)
One full host-side pass: enumerate, mount, browse, verify, WP.
selftest_fat_geom_t
Synthesized FAT16 volume geometry (MS FAT spec 1.03).
@ k_fat_root_entries
Root directory entries.
@ k_fat_eoc
End-of-chain marker.
@ k_fat_data_sectors
Padded data region (>= 4085).
@ k_fat_data_lba
First data sector (cluster 2).
@ k_fat_root_sectors
512 entries x 32 B / 512 B.
@ k_fat_root_lba
First root-directory sector.
@ k_fat_fat_sectors
FAT16 size for 4098 entries.
@ k_fat_fat_lba
First FAT sector.
@ k_fat_first_cluster
FAT data area starts at cluster 2.
@ k_fat_entry0
FAT[0]: media F8 + filler.
@ k_fat_reserved_sectors
Boot sector only.
@ k_fat_entries_per_sec
FAT16 entries per 512-byte sector.
@ k_fat_total_sectors
1 + 17 + 32 + 4096.
@ k_fat_last_mram_clus
Last cluster of MRAM.BIN.
@ k_fat_num_fats
Single FAT copy.
@ k_fat_mram_clusters
Clusters backed by MRAM (1 MiB).
UINT selftest_msc_read(VOID *storage, ULONG lun, UCHAR *data_pointer, ULONG number_blocks, ULONG lba, ULONG *media_status)
Storage media-read callback: synthesize sectors over MRAM.
selftest_fat_off_t
Byte offsets inside the boot sector and directory entries.
@ k_dir_entry_bytes
Directory entry size.
@ k_bpb_off_spt
Sectors per track.
@ k_bpb_off_label
Volume label (11 bytes).
@ k_dir_attr_volume
Volume-label attribute.
@ k_bpb_off_media
Media descriptor.
@ k_bpb_off_bps
Bytes per sector.
@ k_dir_off_size
File size (32-bit LE).
@ k_bpb_off_jmp
Jump instruction.
@ k_bpb_off_heads
Head count.
@ k_bpb_off_oem
OEM name (8 bytes).
@ k_bpb_off_volid
Volume serial (4 bytes).
@ k_bpb_off_bootsig
Extended boot signature.
@ k_bpb_off_fatsz16
Sectors per FAT.
@ k_bpb_off_rsvd
Reserved sector count.
@ k_bpb_off_drvnum
Drive number.
@ k_bpb_off_fstype
Filesystem type (8 bytes).
@ k_bpb_off_rootent
Root entry count.
@ k_dir_name_bytes
8.3 name field length.
@ k_byte_shift
Bits per byte for LE packing.
@ k_dir_off_cluster_lo
First cluster (low word).
@ k_bpb_off_nfats
Number of FATs.
@ k_bpb_off_spc
Sectors per cluster.
@ k_bpb_off_totsec16
Total sectors (16-bit).
@ k_dir_attr_read_only
Read-only attribute.
selftest_mram_t
The MRAM window the device-side volume exposes.
@ k_mram_bytes
1 MiB window size.
@ k_mram_base_addr
MRAM code window base address.
UINT selftest_msc_write(VOID *storage, ULONG lun, UCHAR *data_pointer, ULONG number_blocks, ULONG lba, ULONG *media_status)
Storage media-write callback: always rejects (write-protected).
selftest_config_t
Compile-time settings: threads, pool, console, retry cadence.
@ k_selftest_boot_wait_ticks
Host start delay (1 ms ticks).
@ k_selftest_thread_stack
Device worker stack (bytes).
@ k_selftest_block_size
SCSI logical block size (bytes).
@ k_selftest_idle_ticks
Parked-loop back-off (ticks).
@ k_selftest_retry_ticks
Pause between ladder retries.
@ k_selftest_usbx_pool_bytes
USBX memory pool (bytes).
@ k_selftest_host_priority
Host worker: BELOW the USBX storage class thread (UX_THREAD_PRIORITY_CLASS = 20).
@ k_selftest_dev_priority
Device bring-up worker priority.
@ k_selftest_host_stack
Host worker stack (bytes).
@ k_selftest_print_cap
Bound for console-string scans.
@ k_selftest_baud
J-Link OB CDC log baud.