Commit graph

24 commits

Author SHA1 Message Date
Andrew Scheller
429a1ba612
Remove duplicated defines from bootrom.h
See #2619 for rationale
2025-08-09 12:38:28 +01:00
will-v-pi
58d000f210
Improve rom_pick_ab_update_partition docs (#2577)
* Improve rom_pick_ab_update_partition docs

* Some review fixups

Add more `\ref`s and tidy up wording

* Move function docs next to rom_pick_ab_partition

* Add \return to rom_pick_ab_partition docs

* Rename rom_pick_ab_update_partition -> rom_pick_ab_partition_during_update and replace "call"
2025-07-23 09:13:10 -05:00
Andrew Scheller
5912699dd0
Lots of small doxygen fixes (#2390) 2025-04-04 11:39:39 -05:00
will-v-pi
bbb94e51f9
Add rom_pick_ab_update_partition function (#2182) 2025-03-22 17:59:05 -05:00
will-v-pi
54784f884b
Add rom_data_lookup_inline function (#2116)
* Move rom_data_lookup code into rom_data_lookup_inline

Allows ROM data lookup from FLASH/RAM sensitive code

* Use rom_data_lookup_inline in flash_devinfo_ptr

Fixes bug introduced by #2082 where flash_devinfo_get_cs_size would use rom_data_lookup from flash during a __no_inline_not_in_flash_func
2024-12-02 11:19:55 -06:00
Graham Sanderson
f0a1ff3c03
Fixes for/found by documentation generation (#2099)
* fix errors breaking extra_[cmake_]configs.py
* remove trailing whitespace which is confusing asciidoctor
* fix rp2xxx-specific -> rp2xxx_specific
* add missing xip_cache funcs to the combined docs
* Revert "fix errors breaking extra_[cmake_]configs.py"
* Fix typo in #define name
* Allow optional whitespace at the start of "commented out" config lines

Co-authored-by: Andrew Scheller <andrew.scheller@raspberrypi.com>
2024-11-25 12:30:55 -06:00
Graham Sanderson
5a98889434
add rom_reset_usb_boot_extra which supports >32 pins and ACTIVE_LOW; change existing uses to use this (#2084) 2024-11-21 16:48:05 -06:00
will-v-pi
74db3c2d86
Update work area size from 3064 to 3264, and recommend 3.25K (#2073) 2024-11-20 16:41:48 -06:00
Andrew Scheller
d0db3780fd
Fix typo in rom_get_partition_table_info doxygen (#2041) 2024-11-18 17:13:21 -06:00
Graham Sanderson
bd130eddff
Remove code bloat in public SDK for 64K roms (#2016) 2024-11-05 10:57:22 -06:00
Stefan Kerkmann
3cb21c8134
pico_bootrom: bootrom.h: fix -Wstrict-prototypes (#1888)
The refactoring of these functions removed the (void) in the function
declarations - thus compiling with -Wstrict-prototypes will yell at us
at compile time.

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
2024-08-30 11:45:58 -05:00
will-v-pi
4a272778cd
Disable interrupts while doing flash_op, explicit_buy, and chain_image (#1835)
* Disable interrupts for some rom functions

* Use flash_safe_execute

* Inline and rename helpers
2024-08-22 11:29:35 -05:00
graham sanderson
efe2103f9b SDK 2.0.0 release 2024-08-08 08:54:38 -05:00
Nellie McKesson
b27f13b83b
reformatting doxygen comment markup (#1660) 2024-03-22 09:09:44 -05:00
Graham Sanderson
8262a08af3
rom_hword_as_ptr should use __force_inline (#1494) 2023-09-05 10:34:02 -05:00
Graham Sanderson
1ac90374e3
Various small fixes towards building with other compilers (#1285)
* Fix various non-GCC warnings (no effect on GCC)
* Reduce use of typeof since non GCC compilers may not support it
* Introduce PICO_C_COMPILER_IS_GNU, PICO_C_COMPILER_IS_CLANG, PICO_C_COMPILER_IS_IAR to CMake as if (CMAKE_C_COMPILER_ID STREQUAL "xxx") is a bit verbose
* Use "unified_asm" macro for all inline asm (it is "volatile __asm" on GNU with a .syntex unified)
* Use NOLOAD instead of COPY in linker scripts (arguably more correct anyway)
* Use the same style for setting _etext in all 4 linker scripts (to the beginning of .data). Clang aligns .data on a 16 byte boundary. Note ideally we'd
  add a new symbol __data_source, however that would break backwards compatibility with existing user linker scripts
* Use "a" for .stack, .heap sections because clang complains otherwise, and they are explicitly NOLOAD anyway
* Avoid duplicating __sev, __wfe, __wfi which Clang sometimes seems to provide as built-ins
* Add missing kitchen_sink_blocked_ram binary
* Allow build with LLVM Embedded Toolchain Form ARM v 14.0.0 (unsupported atm)
2023-03-01 15:10:18 -06:00
Graham Sanderson
a540ca905a
Add new async_context abstraction and refactor cyw43_arch to use it (#1177)
* Extract all poll/threadsafe_background/freertos from cyw43_arch into new abstraction async_context:
* provides support for asynchronous events (timers/IRQ notifications) to be handled in a safe context.
* now guarantees all callbacks happen on a single core.
* is reusable by multiple different libraries (stdio_usb can now be ported to this but hasn't been yet).
* supports multiple independent instances (independent instances will not block each other).
* cyw43_arch libraries cleaned up to use the new abstraction. Note each distinct cyw43_arch type is now a very thin layer that creates the right type of context and adds cyw43_driver and lwip support as appropriate.

Additionally,

* Add new pico_time and hardware_alarm APIs
* Add from_us_since_boot()
* Add alarm_pool_create_with_unused_hardware_alarm()
* Add alarm_pool_add_alarm_at_force_in_context()
* Add hardware_alarm_claim_unused()
* Add hardware_alarm_force_irq()
* Added panic_compact() and some minor comment cleanup; moved FIRST_USER_IRQ define to platform_defs.h
2023-01-24 12:01:24 -06:00
Graham Sanderson
88bc4f974c
cleanup header guard names to be consistent (#1179) 2023-01-18 08:40:10 -06:00
Graham Sanderson
9644399993
Suppress new GCC 12 warning (#842) 2022-06-20 09:52:25 -05:00
Graham Sanderson
e850214938
Platform updates (#611)
* Platform updates
 - Add PICO_RP2040=1 to rp2040 builds
 - Add new PICO_RP2040_B0/1/2_SUPPORTED macros and retailer chip specific code to use
 - Add doxygen to platform.h
 - Make pico.h includable from assembly (because header order is important and tricky) - split out platform_asm.h
 - Switch to using PICO_RP2040_B0_SUPPORTED in board headers
2021-10-25 12:26:06 -05:00
Graham Sanderson
0fa58ed219
Adding/propage macros/signature typedefs for ROM functions. Make rom_func_lookup non-flash safe for flash functions (#586)
* add typedef signatures and ROM code defines for bootrom functions. Propogate uses thru SDK code. Add _inline version of rom_func_lookup
2021-10-08 09:02:19 -05:00
graham sanderson
503bc8b385 Fixup another level of compiler warnings, add _U() definition 2021-03-04 21:22:48 -06:00
Luke Wren
d4c9dced40 Add missing extern "C" to header files (closes #104) 2021-03-04 21:22:47 -06:00
graham sanderson
26653ea81e Initial Release 2021-01-20 10:44:27 -06:00