ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
usb_msc_sdcard_steps.h
Go to the documentation of this file.
1
25
26#pragma once
27
28#include <stdint.h>
29
30#include "ra8_err.h"
31
47
58
63typedef enum : uint32_t {
67
79
98
103typedef enum : uint8_t {
107
120extern volatile uint32_t s_usb_msc_sdcard_blocks;
121
138[[nodiscard]] ra8_err_t sdmsc_print(const char* text);
139
156[[nodiscard]] ra8_err_t sdmsc_print_dec(uint32_t value);
157
175[[nodiscard]] ra8_err_t sdmsc_print_hex(uint32_t value, uint8_t digits);
176
194[[nodiscard]] ra8_err_t sdmsc_print_fail(const char* what, ra8_err_t err);
195
196#ifndef RA8_OFF_TARGET
197#include "tx_api.h"
198
218VOID sdmsc_device_worker(ULONG arg);
219#endif /* !RA8_OFF_TARGET */
scsi_sense_code_t
SCSI sense triple for an unsupported / out-of-range request.
Definition main.c:144
@ k_scsi_ascq_none
ASCQ: none.
Definition main.c:147
@ k_scsi_sense_illegal_request
Sense key: ILLEGAL REQUEST.
Definition main.c:145
@ k_scsi_asc_lba_out_of_range
ASC: LBA out of range.
Definition main.c:146
usb_langid_byte_t
Definition main.c:358
@ k_usb_langid_en_us_lo
LANGID 0x0409 low byte.
Definition main.c:359
@ k_usb_langid_en_us_hi
LANGID 0x0409 high byte.
Definition main.c:360
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
unsigned long ULONG
ThreadX-compatible unsigned long (host stub).
ra8_err_t sdmsc_print(const char *text)
Print a NUL-terminated ASCII string over the SCI8 console.
sdmsc_dev_step_t
J-Link probe values marking device-worker bring-up progress.
@ k_sdmsc_dev_step_class
MSC class registered.
@ k_sdmsc_dev_step_dcd
DCD bridge initialized.
@ k_sdmsc_dev_step_parked
Bring-up done; worker parked.
@ k_sdmsc_dev_step_attach
Device attached (DPRPU).
@ k_sdmsc_dev_step_stack
USBX system + device stack up.
VOID sdmsc_device_worker(ULONG arg)
Device worker: bring the live-SD read/write MSC device up, then park.
ra8_err_t sdmsc_print_hex(uint32_t value, uint8_t digits)
Print a value as fixed-width uppercase hex over the SCI8 console.
ra8_err_t sdmsc_print_dec(uint32_t value)
Print a uint32_t as ASCII decimal over the SCI8 console.
@ k_scsi_asc_unrecovered_read
ASC: unrecovered read error.
@ k_scsi_sense_medium_error
Sense key: MEDIUM ERROR.
@ k_scsi_asc_write_fault
ASC: peripheral dev write fault.
sdmsc_hex_t
Hex/decimal text-formatter sizing constants.
@ k_sdmsc_nibble_bits
Bits per hex nibble.
@ k_sdmsc_hex_digit_split
Threshold between '0-9'/'A-F'.
@ k_sdmsc_hex_chars_u32
32-bit value -> "ABCDEF01".
@ k_sdmsc_dec_chars_u32
Max digits for a 32-bit count.
sdmsc_mask_t
Bit-mask constants used by the text formatters.
@ k_sdmsc_nibble_mask
4-bit nibble mask.
@ k_sdmsc_dec_radix
Base for decimal conversion.
volatile uint32_t s_usb_msc_sdcard_blocks
Live SD card capacity in 512-byte blocks (0 = no card).
Definition main.c:136
ra8_err_t sdmsc_print_fail(const char *what, ra8_err_t err)
Print "FAIL <what> err=0xNNNNNNNN" on its own console line.
sdmsc_config_t
Compile-time settings: thread, pool, console, SD bus, cadence.
@ k_sdmsc_blocks_per_mib
512-B blocks per MiB.
@ k_sdmsc_baud
J-Link OB CDC log baud.
@ k_sdmsc_thread_stack
Device worker stack (bytes).
@ k_sdmsc_dev_priority
Device bring-up worker priority.
@ k_sdmsc_print_cap
Bound for console-string scans.
@ k_sdmsc_idle_ticks
Parked-loop back-off (ticks).
@ k_sdmsc_block_size
SCSI logical block size (bytes).
@ k_sdmsc_sd_spi_channel
SCI0 Simple-SPI -> Pmod2 microSD.
@ k_sdmsc_usbx_pool_bytes
USBX memory pool (bytes).