diff --git a/Makefile b/Makefile index 9989955e2..84411cc7c 100755 --- a/Makefile +++ b/Makefile @@ -70,8 +70,8 @@ flash: all @echo "ok." -.PHONY: create-image -create-image: +.PHONY: create-images +create-images: $(MAKE) clean-build $(MAKE) cmake-create-debug PICO_BOARD=pico $(MAKE) all diff --git a/README.adoc b/README.adoc index 8d9f08fc6..85f5743b7 100644 --- a/README.adoc +++ b/README.adoc @@ -427,18 +427,60 @@ rtt.println("sub module"); ## Internals -### Notes -* Frequencies -** the CPU is overclocked to 168MHz (=7*24MHz) -** SWD frequency limits -*** RP2040: 25MHz, actually allowed are 24MHz; default is 15MHz -*** nRF528xx: 10MHz, actually allowed are 8MHz; default is 6MHz -* sigrok -** PIO is running 7x faster in auto trigger mode than the specified sample rate +### Building from Source + +Building from source is done with the help of a stub Makefile which eases integration into Eclipse (but can be +used from command line as well). The Makefile creates via cmake a `build.ninja` which is responsible for +the actual build process. + +To build the project, there must be somewhere a recent https://github.com/raspberrypi/pico-sdk[Pico SDK] and +the environment variable `PICO_SDK_PATH` must point to it. + +Requirements: + +* arm-none-eabi-gcc +* make, cmake, ninja +* Pico SDK + +.Clone yapicoprobe including submodules +[source,bash] +---- +git clone https://github.com/rgrr/yapicoprobe.git +cd yapicoprobe +git submodule update --init +---- + +.General build sequence +[source,bash] +---- +# create build/ninja.build for a debug target +make cmake-create-debug + +# build yapicoprobe, output in build/picoprobe.uf2 +make all + +# clean build files +make clean +---- + +.Build sequence for a specific board [pico|pico_w|pico_debug_probe] +[source,bash] +---- +make clean-build +make cmake-create-debug PICO_BOARD=pico_debug_probe +make all +---- + +.Build firmware images for supported boards, images can be found in images/yapicoprobe*.uf2 +[source,bash] +---- +make create-images +---- ### Code Inherited +[%autowidth] [%header] |=== | | @@ -457,6 +499,31 @@ rtt.println("sub module"); |=== +### Some Links + +[%autowidth] +[%header] +|=== +| | + +| https://documentation-service.arm.com/static/5f900b1af86e16515cdc0642[Debug Interface v5.2 Architecture Specification] +| if the link does not work, try https://developer.arm.com/documentation/ihi0031/latest/[this] + +| https://github.com/raspberrypi/pico-sdk[Raspberry Pi Pico SDK] +| + +|=== + + +### Notes +* Frequencies +** the CPU is overclocked to 168MHz (=7*24MHz) +** SWD frequency limits +*** RP2040: 25MHz, actually allowed are 24MHz; default is 15MHz +*** nRF52xxx: 10MHz, actually allowed are 8MHz; default is 6MHz +* sigrok +** PIO is running 7x faster in auto trigger mode than the specified sample rate + ## More Text * more link:doc/hardware.adoc[hardware information] and some ideas concerning a probe hardware diff --git a/src/daplink-pico/family/raspberry/rp2040/target_reset_rp2040.c b/src/daplink-pico/family/raspberry/rp2040/target_reset_rp2040.c index e6b319511..94cbe33e1 100755 --- a/src/daplink-pico/family/raspberry/rp2040/target_reset_rp2040.c +++ b/src/daplink-pico/family/raspberry/rp2040/target_reset_rp2040.c @@ -120,6 +120,7 @@ static void swd_targetsel(uint8_t core) /** * @brief Does the basic core select and then reads DP_IDCODE as required * + * See also ADIv5.2 specification, "B4.3.4 Target selection protocol, SWD protocol version 2" * @param _core * @return true -> ok */