alan@dev:~$ ls -l ~/pico-sdk/src/common/pico_base_headers/include/ total 8 drwxrwxr-x 2 alan alan 4096 dez 15 16:42 pico -rw-rw-r-- 1 alan alan 1054 dez 11 2024 pico.h alan@dev:~$ ls -l ~/pico-sdk/src/common/pico_base_headers/include/pico/ total 20 -rw-rw-r-- 1 alan alan 1411 dez 11 2024 assert.h -rw-rw-r-- 1 alan alan 872 dez 11 2024 config.h -rw-rw-r-- 1 alan alan 3095 dez 11 2024 error.h -rw-rw-r-- 1 alan alan 3628 dez 11 2024 types.h -rw-rw-r-- 1 alan alan 535 dez 11 2024 version.h.in alan@dev:~$
On Wed, Jan 28, 2026 at 5:48 PM Anders <[email protected]> wrote: > Hello Alan > > Strange indeed. > > What is the contents of your directories > ~/pico-sdk/src/common/pico_base_headers/include/ > and > ~/pico-sdk/src/common/pico_base_headers/include/pico/ > > The output of ls -l would be nice. > > Cheers > Anders > > > > > -------- Original Message -------- > On Sunday, 01/25/26 at 15:33 Alan C. Assis <[email protected]> wrote: > Hi Anders, > > Strange, "it works fine on my machine" TM. > > Please see the steps below: > > alan@dev:~/nuttxspace/nuttx$ export PICO_SDK_PATH=/home/alan/pico-sdk > alan@dev:~/nuttxspace/nuttx$ ./tools/configure.sh raspberrypi-pico:nsh > alan@dev:~/nuttxspace/nuttx$ make -j > ... > LD: nuttx > Memory region Used Size Region Size %age Used > flash: 152 KB 2 MB 7.42% > sram: 8312 B 264 KB 3.07% > Generating: nuttx.uf2 > Done. > > > alan@dev:~/nuttxspace/nuttx$ git diff > diff --git a/arch/arm/src/rp2040/boot2/Make.defs > b/arch/arm/src/rp2040/boot2/Make.defs > index d8b376af71..506f5d76a7 100644 > --- a/arch/arm/src/rp2040/boot2/Make.defs > +++ b/arch/arm/src/rp2040/boot2/Make.defs > @@ -46,17 +46,18 @@ BOOT2CFLAGS += > -I$(PICO_SDK_PATH)/src/rp2_common/pico_platform_sections/include > BOOT2CFLAGS += > -I$(PICO_SDK_PATH)/src/rp2_common/pico_platform_panic/include > BOOT2CFLAGS += -Wl,--no-warn-rwx-segments > > -$(BOOT_STAGE2).S: %.S: %.bin > - python3 $(BOOT2DIR)/pad_checksum -s 0xffffffff $< $@ > +BOOT2_STAMP := $(TOPDIR)/.boot_stage2.stamp > > -$(BOOT_STAGE2).bin: %.bin: %.elf > - $(OBJCOPY) -Obinary $< $@ > +$(BOOT2_STAMP): $(BOOT_STAGE2).elf > + $(Q) touch $@ > > $(BOOT_STAGE2).elf: $(BOOT2SRC) > - $(Q) touch > $(PICO_SDK_PATH)/src/common/pico_base_headers/include/pico/version.h > - $(Q) touch > $(PICO_SDK_PATH)/src/common/pico_base_headers/include/pico/config_autogen.h > $(CC) -nostdlib -T$(ARCHSCRIPT) $(BOOT2CFLAGS) -o $@ $< > - $(DELFILE) > $(PICO_SDK_PATH)/src/common/pico_base_headers/include/pico/version.h > - $(DELFILE) > $(PICO_SDK_PATH)/src/common/pico_base_headers/include/pico/config_autogen.h > + > +$(BOOT_STAGE2).S: $(BOOT_STAGE2).bin > + python3 $(BOOT2DIR)/pad_checksum -s 0xffffffff $< $@ > + > +$(BOOT_STAGE2).bin: $(BOOT_STAGE2).elf $(BOOT2_STAMP) > + $(OBJCOPY) -Obinary $< $@ > > EXTRADELFILE = $(BOOT_STAGE2).* > > > alan@dev:~/nuttxspace/nuttx$ cd ~/pico-sdk > alan@dev:~/pico-sdk$ git log > commit efe2103f9b28458a1615ff096054479743ade236 (HEAD, tag: 2.0.0) > Author: graham sanderson <[email protected]> > Date: Thu Aug 8 06:02:04 2024 -0500 > > SDK 2.0.0 release > > ... > > BR, > > Alan > > On Sun, Jan 25, 2026 at 11:02 AM Anders <[email protected]> wrote: > > > Alan, thanks for the patch to try. However it doesn't work. Here are some > > details. > > > > Original arch/arm/src/rp2040/boot2/Make.defs from NuttX release 12.12 > > works fine for PICO_SDK_PATH pointing to location > > /home/user/pico/pico-sdk, where user has read and write permissions. > > Without write permissions on the directory > > /home/user/pico/pico-sdk/src/common/pico_base_headers/include the > > build fails, essentially with the same error message as if > > PICO_SDK_PATH is pointing to /usr/src/pico-sdk: > > > > user@computer:~/path/nuttx_12_12.2040/nuttx$ echo $PICO_SDK_PATH > > /usr/src/pico-sdk > > user@computer:~/path/nuttx_12_12.2040/nuttx$ make > > touch: cannot touch > > '/usr/src/pico-sdk/src/common/pico_base_headers/include/pico/version.h': > > Permission denied > > make[1]: *** [chip/boot2/Make.defs:56: rp2040_boot_stage2.elf] Error 1 > > make: *** [tools/Unix.mk:552: nuttx] Error 2 > > > > > > After modifying nuttx/arch/arm/src/rp2040/boot2/Make.defs according to > > Alan's patch in a previous mail, the compilation fails regardless of > > whether PICO_SDK_PATH is pointing to /usr/src/pico-sdk or > > /home/user/pico/pico-sdk (with user rw permissions on the complete > > tree). The error message is > > > > user@computer:~/path/nuttx_12_12.2040/nuttx$ make > > In file included from > > /usr/src/pico-sdk/src/rp2040/pico_platform/include/pico/asm_helper.S:7, > > from > > /usr/src/pico-sdk/src/rp2040/boot_stage2/boot2_w25q080.S:29: > > /usr/src/pico-sdk/src/common/pico_base_headers/include/pico.h:27:10: > fatal > > error: pico/version.h: No such file or directory > > 27 | #include "pico/version.h" > > | ^~~~~~~~~~~~~~~~ > > compilation terminated. > > make[1]: *** [chip/boot2/Make.defs:55: rp2040_boot_stage2.elf] Error 1 > > make: *** [tools/Unix.mk:552: nuttx] Error 2 > > > > > > Cheers, > > Anders > > > > > > > > > > > > > > > > > > -------- Original Message -------- > > On Friday, 01/23/26 at 14:10 Alan C. Assis <[email protected]> wrote: > > Hi Anders, > > > > Good catch, I think it is abusing touch for a recompilation. > > > > Could you try this alternative option: > > > > ... > > BOOT2CFLAGS += -Wl,--no-warn-rwx-segments > > > > BOOT2_STAMP := $(TOPDIR)/.boot_stage2.stamp > > > > $(BOOT2_STAMP): $(BOOT_STAGE2).elf > > $(Q) touch $@ > > > > $(BOOT_STAGE2).elf: $(BOOT2SRC) > > $(CC) -nostdlib -T$(ARCHSCRIPT) $(BOOT2CFLAGS) -o $@ $< > > > > $(BOOT_STAGE2).S: $(BOOT_STAGE2).bin > > python3 $(BOOT2DIR)/pad_checksum -s 0xffffffff $< $@ > > > > $(BOOT_STAGE2).bin: $(BOOT_STAGE2).elf $(BOOT2_STAMP) > > $(OBJCOPY) -Obinary $< $@ > > > > EXTRADELFILE = $(BOOT_STAGE2).* > > > > Just remember to replace the 4 spaces with \t (TAB). > > > > Please let me know if it worked for you, then we can change the code to > use > > it. > > > > BR, > > > > Alan > > > > > > On Thu, Jan 22, 2026 at 5:44 PM Anders <[email protected]> wrote: > > > > > Building NuttX for rp2040 touches two files below the pico-sdk > directory, > > > as can be seen in nuttx/arch/arm/src/rp2040/boot2/Make.defs > > > Soon after the (empty) files are used they are deleted. > > > > > > This obviously fails if there is no write access to the directory where > > it > > > tries to write. For instance if one has installed the pico-sdk-src > > package > > > on Debian or Ubuntu. > > > > > > What is the need for this method? Is it necessary to have write access > to > > > the pico-sdk tree? > > > > > > Btw, similar stuff seem to be in other makefiles elsewhere in the NuttX > > > source tree. > > > > > > Anders > > > > > >
