Only 48MHz, 72MHz, 96MHz and 120 MHz system clocks derived from an
external crystal are suitable for the usb peripheral, as the internal
oscillator is not stable enough. Also the usb-prescaler only supports
division by 1 (48MHZ), 1.5(72MHz), 2(96MHz) and 2.5(120Mhz).
120Mhz is also out of spec and not added here.
Instead of using the HAL functions we can just use the defines from the
board support for the longan nano that comes with the nuclei-sdk. Also
we move some includes and defines to the header file.
- added back pre-existing board directories which now just select PICO_BOARD
- added boards/pico_sdk which just uses the pre-existing PICO_BOARD setting
- fixed rp2040/family.cmake to include the magic string "CFG_TUSB_MCU=OPT_MCU_RP2040" expected by build_family.py
- Examples should be CMake buildable from their own subdirectory; such a build will error out based on
matching .skip.MCU_xxx or a mismatched .only.MCU_
- It should be possible to build from a higher level and use .skip.MCU_ and .only.MCU_ to filter which
examples get built
- The intention is for the CMakeLists.txts in the examples to be non family specific and without MCU based IFs. I have
started this work, but am not really sure the state of the esp32 stuff; in any case the plan is to have
everything encapsulated in the FAMILY/family.cmake
- pico_examples now just includes examples/device/CMakeLists.txt and examples/host/CMakeLists.txt directly, as they
also build correctly when included from there.
Note that .skip.MCU_ for esp32 in the directories it wasn't previously avaiable has not been added, as the .skip is common to the regular Makefile builds also. It isn't clear whether these examples should build for esp32, but if not .skip should be added.