Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[sw/lib] move CSR definitions to separate file #553

Merged
merged 3 commits into from
Mar 17, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/datasheet/soc_bootrom.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ This boot ROM module provides a read-only memory that contain the executable ima
is automatically set to the beginning of the bootloader ROM. See section <<_boot_configuration>> for more
information regarding the processor's different boot scenarios.

.Bootloader Image
[IMPORTANT]


.Address Configuration
[NOTE]
The bootloader ROM is located at address `0xFFFF0000` and can occupy an address space of up to 32kB. The base
Expand Down
49 changes: 25 additions & 24 deletions docs/datasheet/software.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -82,31 +82,32 @@ The NEORV32 project provides a set of pre-defined C libraries that allow an easy
[options="header",grid="rows"]
|=======================
| C source file | C header file | Description
| - | `neorv32.h` | main NEORV32 definitions and library file
| - | `neorv32_buskeeper` | HW driver functions for the bus keeper
| `neorv32_cfs.c` | `neorv32_cfs.h` | HW driver (stubs) functions for custom functions subsystem
| `neorv32_cpu.c` | `neorv32_cpu.h` | HW driver functions for the CPU core
| `neorv32_cpu_cfu.c` | `neorv32_cpu_cfu.h` | HW driver functions for the custom instructions unit
| - | `neorv32_dm` | HW driver functions for the debug module
| `neorv32_gpio.c` | `neorv32_gpio.h` | HW driver functions for the general purpose IOs
| `neorv32_gptmr.c` | `neorv32_gptmr.h` | HW driver functions for the general purpose timer
| - | `neorv32_intrinsics.h` | macros for intrinsics & custom instructions
| `neorv32_mtime.c` | `neorv32_mtime.h` | HW driver functions for the machine timer
| `neorv32_neoled.c` | `neorv32_neoled.h` | HW driver functions for the smart LED interface
| `neorv32_onewire.c` | `neorv32_onewire.h` | HW driver functions for the 1-wire interface
| `neorv32_pwm.c` | `neorv32_pwm.h` | HW driver functions for the pulse-width modulation controller
| - | `neorv32.h` | Main NEORV32 library file
| - | `neorv32_buskeeper.h` | <<_internal_bus_monitor_buskeeper>> HAL
| `neorv32_cfs.c` | `neorv32_cfs.h` | <<_custom_functions_subsystem_cfs>> HAL
| `neorv32_cpu.c` | `neorv32_cpu.h` | <<_neorv32_central_processing_unit_cpu>> HAL
| | `neorv32_cpu_csr.h` | <<_control_and_status_registers_csrs>> definitions
| `neorv32_cpu_cfu.c` | `neorv32_cpu_cfu.h` | <<_custom_functions_unit_cfu>> HAL
| - | `neorv32_dm.h` | <<_debug_module_dm>> HAL
| `neorv32_gpio.c` | `neorv32_gpio.h` | <<_general_purpose_input_and_output_port_gpio>> HAL
| `neorv32_gptmr.c` | `neorv32_gptmr.h` | <<_general_purpose_timer_gptmr>> HAL
| - | `neorv32_intrinsics.h` | Macros for intrinsics & custom instructions
| `neorv32_mtime.c` | `neorv32_mtime.h` | <<_machine_system_timer_mtime>> HAL
| `neorv32_neoled.c` | `neorv32_neoled.h` | <<_smart_led_interface_neoled>> HAL
| `neorv32_onewire.c` | `neorv32_onewire.h` | <<_one_wire_serial_interface_controller_onewire>> HAL
| `neorv32_pwm.c` | `neorv32_pwm.h` | <<_pulse_width_modulation_controller_pwm>> HAL
| `neorv32_rte.c` | `neorv32_rte.h` | <<_neorv32_runtime_environment>>
| `neorv32_sdi.c` | `neorv32_sdi.h` | HW driver functions for the serial data interface
| `neorv32_spi.c` | `neorv32_spi.h` | HW driver functions for the serial peripheral interface
| - | `neorv32_sysinfo.h` | HW driver functions for the system information memory
| `neorv32_trng.c` | `neorv32_trng.h` | HW driver functions for the true random number generator
| `neorv32_twi.c` | `neorv32_twi.h` | HW driver functions for the two-wire interface
| `neorv32_uart.c` | `neorv32_uart.h` | HW driver functions for the UART0 and UART1
| `neorv32_wdt.c` | `neorv32_wdt.h` | HW driver functions for the watchdog timer
| `neorv32_xip.c` | `neorv32_xip.h` | HW driver functions for the execute in-place module
| `neorv32_xirq.c` | `neorv32_xirq.h` | HW driver functions for the external interrupts controller
| `syscalls.c` | - | newlib "system calls"
| - | `legacy.h` | backwards compatibility wrappers and functions (do not use for new designs)
| `neorv32_sdi.c` | `neorv32_sdi.h` | <<_serial_data_interface_controller_sdi>> HAL
| `neorv32_spi.c` | `neorv32_spi.h` | <<_serial_peripheral_interface_controller_spi>> HAL
| - | `neorv32_sysinfo.h` | <<_system_configuration_information_memory_sysinfo>> HAL
| `neorv32_trng.c` | `neorv32_trng.h` | <<_true_random_number_generator_trng>> HAL
| `neorv32_twi.c` | `neorv32_twi.h` | <<_two_wire_serial_interface_controller_twi>> HAL
| `neorv32_uart.c` | `neorv32_uart.h` | <<_primary_universal_asynchronous_receiver_and_transmitter_uart0>> and UART1 HAL
| `neorv32_wdt.c` | `neorv32_wdt.h` | <<_watchdog_timer_wdt>> HAL
| `neorv32_xip.c` | `neorv32_xip.h` | <<_execute_in_place_module_xip>> HAL
| `neorv32_xirq.c` | `neorv32_xirq.h` | <<_external_interrupt_controller_xirq>> HAL
| `syscalls.c` | - | Newlib "system calls"
| - | `legacy.h` | Backwards compatibility wrappers and functions (do not use for new designs)
|=======================

.Core Library Documentation
Expand Down
Loading