Commit graph

1057 commits

Author SHA1 Message Date
Andrew Scheller
7d5d9276a8
Workaround gcc/newlib issue on Ubuntu 24 (#1863) 2024-08-23 10:59:36 -05:00
Peter Harper
aa8cf17732
Fix assert in gpio_set_irq_enabled (#1864)
* Fix assert in gpio_set_irq_enabled
2024-08-23 10:58:38 -05:00
Taylor Cramer
7dc10d7aad
Bazel: disable link_extra_lib when building bootloader (#1854)
Fixes #1853
2024-08-22 11:56:51 -05:00
will-v-pi
9b16c797b4
Reorder pins in bi_pins_with_names to work with mask (#1858) 2024-08-22 11:56:16 -05:00
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