Commit graph

853 commits

Author SHA1 Message Date
will-v-pi
598ba01ec8
Add build-essential to README command line install (#1859)
* Add build-essential to README command line install

* Update README.md
2024-08-22 11:43:52 -05:00
J
4cb5c1ccf1
bazel build: Fix compilation bugs for Pico-W support (#1797)
* Add @pico-sdk prefix to bazel/config in lwip.BUILD

Without this, we're trying to refer to a subpackage of
the lwip directory called bazel/config, which doesn't
exist. See similar references in this file.

* bazelbuild: Fix compilation errors with pico_lwip and freertos

This fixes two general problems.

* pico_lwip_contrib_freertos misspelled several things
  (omitted contrib/ dir prefix, didn't have @pico-sdk in front of
  out references to pico-sdk targets)

  This is fixed simply by fixing the spellings.

* Circular dependency between pico_lwip_core and pico_lwip_contrib_freertos.
  In NO_SYS=0 mode, lwip wants to include sys_arch.h. But sys_arch.h
  is defined in pico_lwip_contrib_freertos. sys_arch.c in turn wants
  to include lwip's opt.h and arch.h, among other things. So it needs
  to depend on pico_lwip_core.

  This is fixed by extracting all the headers into a common rule which
  can be depended on by both targets, then depending on it in the
  relevant targets.

Additionally, for the LWIP+FreeRTOS build to work correctly, we need
to actually depend on the pico_lwip_contrib_freertos rule from
pico_lwip_core. This the purpose of the select in the deps of
pico_lwip_core.

* bazel+cyw43: Fix compilation errors.

This fixes issues with the cyw43 driver
build rules in Bazel:

* Before this, the btstack would always be included
  even if it could not be used. If the user did not
  specify a btstack config, this would cause a
  compilation error. Now, we condition the linking
  and building of the btstack on whether there is
  a config for it.
* Before, the btbus was not properly linked.

* Implements code review feedback
2024-08-22 11:30:26 -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
eba6adb4e1
#1851 fix signature of hardware_alarm_get_irq_num (#1852) 2024-08-20 13:26:08 -05:00
Scott Shawcroft
19d5f4c0d7
Add board definition for Adafruit Feather 2350 (#1784) 2024-08-20 13:12:17 -05:00
David Goffredo
eaaa4a5ab3
typo in documentation of __time_critical_func (#1792)
I was reading through my PDF copy of the SDK docs, and I think that there's a typo in this example. The macro is `__time_critical_func` but the example spells it `__time_critical`.
2024-08-20 13:03:46 -05:00
Ikko Eltociear Ashimine
fa88c125b8
Update aon_timer.h (#1809)
specifed -> specified
2024-08-20 12:48:45 -05:00
Andrew Scheller
9a41722dd3
More board header checks (#1814)
* Modify check_board_header.py to work with both RP2040- and RP2350-based boards

* Tweaks to the board-header files so that they pass check_board_header.py

* Update tools/check_board_header.py
so that it handles pico_cmake_set_default the same way as cmake/generic_board.cmake does
2024-08-20 12:47:20 -05:00
Andrew Scheller
1bdd006c8d
Small doxygen fixes (#1828) 2024-08-20 12:41:49 -05:00
will-v-pi
7be79e8abe
Fix picobin inclusion from assembler with NO_PICO_PLATFORM (#1832)
Needs to copy the _u(x) definition from platform_defs.h
2024-08-20 12:40:52 -05:00
Nikhil Dabas
789ea75c63
Ensure makefsdata.py generates valid variable names (#1841)
* Ensure makefsdata.py generates valid variable names

* Use mimetypes library in makefsdata.py

* Avoid generating duplicate variable names
2024-08-20 12:31:45 -05:00
graham sanderson
e930bf3261 Deprecate copro_dis.py - keep for now as it is used by bootrom build 2024-08-20 09:48:50 -05:00
graham sanderson
9430469e18 Revert "Delete tools/copro_dis.py (#1833)"
This reverts commit b271208071.
2024-08-20 09:48:50 -05:00
Graham Sanderson
fab47c8071
Fix Cmsis irq regression (#1821)
* #1817 fix regression with CMSIS interrupt renaming
2024-08-20 08:52:41 -05:00
will-v-pi
8886f272a9
Fix Windows CI build (#1846)
* Use powershell for windows CI build

* Remove unnecessary warning
2024-08-19 12:49:54 -05:00
Graham Sanderson
cd71c8953e
Fix missing Binary Info for boot_stage2 (#1844)
* fix boot stage2 not showing up in binary info; sync rp2040 and rp230 bs2 CMakeLists.txt
2024-08-19 12:47:29 -05:00
Graham Sanderson
62df126ad5
#1805 fix merge issue in pico_atomic which ended up with using IRQ disble instead of spin lock (#1838) 2024-08-19 12:13:51 -05:00
Andrew Scheller
b271208071
Delete tools/copro_dis.py (#1833)
This functionality has been moved into `picotool`, so remove this Python script to avoid confusion
2024-08-16 12:21:27 -05:00
graham sanderson
7a0f1f03dd #1829 .HEX files missing since SDK2.0.0 2024-08-15 14:15:29 -05:00
will-v-pi
a6f21b6e10
Include Platform Paths files for the host (#1826)
This fixes searching for installed picotool/pioasm on Windows, and generally improves default find_package behaviour
2024-08-15 11:29:22 -05:00
Peter Harper
e049f5063f
Support serial flash with 16 byte unique id (#1819)
* Support serial flash with 16 byte unique id

Flash devices like IS25LP016D have a 16 byte unique id. Reading just the
first 8 bytes causes devices to have duplicate unique ids as the numbers
only differ in the final 8 bytes.

Support overriding FLASH_UNIQUE_ID_SIZE_BYTES in the board header. Use
the final 8 bytes for the unique id.

Fixes #1641
2024-08-15 11:23:15 -05:00
J
a2642f93a4
.gitignore: Add .cache (#1825)
This is where clangd puts a bunch of junk,
so it's nice to have it ignored for folks who
use clangd.
2024-08-15 11:04:08 -05:00
graham sanderson
424e21ec07 #1788 fix missing static_assert message 2024-08-14 17:57:36 -05:00
graham sanderson
8177366292 bump version for sdk 2.0.1-develop 2024-08-14 16:12:37 -05:00
Andrew Scheller
f4a691a2c7
Update doxygen group for clock functions (#1808)
Fixes #1806
2024-08-12 16:01:07 -07:00
graham sanderson
efe2103f9b SDK 2.0.0 release 2024-08-08 08:54:38 -05:00
Andrew Scheller
45984e276f
Small tweak to extract_configs.py (#1776)
Always write the path as "abosolute" (relative to the root of pico-sdk) as that makes searching for it (when building the RP2040 datasheet) much faster. This matches the behaviour of extract_build_defines.py and extract_cmake_configs.py
2024-07-25 15:13:00 -05:00
andygpz11
b3bf690d0a
Clarify uart_write_blocking() API vs UART still busy sending (#1274) (#1709) 2024-07-25 11:12:21 -05:00
Andrew Scheller
9f85f25640
Add extra checks to check_board_header.py (#1775)
* Small whitespace fixup

* typo bugfix

* Small refactoring of check_board_header.py

* Make structure of rp2040_interface_pins.json more explicit, so that it can be more easily extended

* Move definition of valid-pins from python to json

* Check that each interface includes all (minimally) expected pins
Note that UART_CTS, UART_RTS & SPI_CSN are classed as optional

* Split "expected_functions" into "required" (all of these pins must be present) and "one_of" (at least one of these pins must be present)
2024-07-25 09:47:26 -05:00
WallyWare
6624098756
Add board file for Pi-Plates MICROPi (#1487) 2024-07-24 07:21:54 -05:00
graham sanderson
41b4d3adb4 rename gpio_set_function_mask to gpio_set_function_masked to match naming schema of other gpio functions 2024-07-24 07:00:37 -05:00
George Peppard
7c5b426a0f
Add gpio_set_function_mask function (#1462) 2024-07-24 06:47:59 -05:00
Gigahawk
af9b47c668
Add board definition for Adafruit Feather RP2040 with USB Type A Host (#1761) 2024-07-24 06:29:53 -05:00
Chris Burton
b45632b06e
Add 8086 USB Interposer board (#1767) 2024-07-24 06:27:38 -05:00
Peter Harper
5ec40711f4
Some doc issues (#1772)
* Fix doxygen for uart example

Fixes https://github.com/raspberrypi/pico-sdk/issues/1685

* Clarify uart write

will block until data "has been sent to the UART transmit buffer"

Fixes https://github.com/raspberrypi/pico-sdk/issues/1481

* Add note to flash API about erasing sectors

Fixes: https://github.com/raspberrypi/pico-sdk/issues/650
2024-07-23 13:00:41 -05:00
Peter Harper
6328fffc71
Update LwIP to 2.2.0 (#1769)
Fixes #1565
2024-07-22 10:01:24 -05:00
graham sanderson
7f37af837b add missing rtt cmake functions for host 2024-07-20 20:58:34 -05:00
Andrew Fernandes
0996a9e354
Add support for SEGGER RTT STDIO (updated) (#1411) 2024-07-20 20:52:41 -05:00
felixdoerre
c93c3f49ec
Use CYW43_PRINTF macro in cyw43-support code. (#1745)
Without this change, using cyw43 has a dependency on printf code for printing
error message. Everywhere else in cyw43-code this dependency is masked with the
CYW43_PRINTF-macro. This PR extends the usage of the CYW43-PRINTF macro to the
SPI-support code.
2024-07-09 10:32:43 -05:00
graham sanderson
b1abf96cec Revert "Add C11 standard atomic support (#1645)"
This reverts commit 01dec6fb6f.
2024-07-08 18:54:48 -05:00
Stephen Street
01dec6fb6f
Add C11 standard atomic support (#1645)
* Add runtime support for stdatomics

* Fix lock calculation and enable atomic_flag support
2024-07-08 18:38:06 -05:00
Mr. Jake
86aab81c47
IRQ enabling guard (when no callback set) (#1504) 2024-07-07 12:57:50 -05:00
Graham Sanderson
74b9ea4d46
use best_effort_wfe_or_timeout instead of wfe (#1404) 2024-07-07 11:42:07 -05:00
Jack Wilsdon
778221ba99
Add missing semicolon (#1750) 2024-06-27 17:45:55 -05:00
Graham Sanderson
73e719691d
#1748 replace incorrect license (#1749) 2024-06-27 09:58:42 -05:00
aizaki77
8b0146c142
Fixed an issue that caused incorrect settings when the SPI clock was less than 244141Hz. (#1633) 2024-06-27 09:28:46 -05:00
MarcinKlosowskiMobica
f5b7a9135b
corrected issue#1536 - used correct define to create a configuration mask (#1613) 2024-06-21 14:38:48 -05:00
Sonya Vasquez
9290bdde58
fix harware_alarm_irq_number typo (#1619) 2024-06-21 14:38:20 -05:00
Peter S. Hollander
2de70c79c2
Fix PICO_DEOPTIMIZED_DEBUG not updating compiler flags (#1620)
* Fix PICO_DEOPTIMIZED_DEBUG not updating compiler flags

Setting CMAKE_${LANG}_FLAGS_DEBUG_INIT specifically only sets the flags for the Debug config the first time it is configured by CMake, pulling the initially-configured flags from CMakeCache.txt on subsequent configurations. This causes PICO_DEOPTIMIZED_DEBUG to not have any effect after the initial configuration, causing breakpoint issues when debugging certain functions.

Clearing the cache of the debug flags allows the flags to be updated every configuration, and appended to appropriately (such as with "-g").

See Issue #1618 and the comments of Pull Request #1620 for further details.

Fixes #1618
2024-06-21 14:37:33 -05:00
Maarten van der Schrieck
f5fea7f09b
pico_cyw43_driver/cyw43_bus_pio_spi.c: make SPI_PROGRAM_NAME and CLOCK_DIV configurable in makefile (#1499) 2024-06-21 14:35:51 -05:00