Hello,
I have ported FreeRTOS on Raspberry Pi Pico based on RP2040. It is a basic port that is able to blink the onboard LED. Most of the files are based on the Pico SDK. Where do I submit a pull request?
Build output:
*make -C boot2*
*make[1]: Entering directory '/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC/boot2'*
*mkdir -p build/boot2*
*arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -I ../includes -c boot2_w25q080.S -o build/boot2/boot2.o*
*mkdir -p build/boot2*
*arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -I ../includes -T ../linker_scripts/boot_stage2.ld --specs=nosys.specs -*
*Xlinker -Map=build/output.map -nostartfiles build/boot2/boot2.o -o build/boot2/boot2.elf*
*arm-none-eabi-objcopy -Obinary build/boot2/boot2.elf build/boot2/boot2.bin*
*python3 pad_checksum -s 0xffffffff build/boot2/boot2.bin build/boot2/boot2_checksummed.S*
*make[1]: Leaving directory '/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC/boot2'*
*mkdir -p build//home/romit/code/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0*
*arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -I/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC*
*-I/home/romit/code/FreeRTOS/FreeRTOS/Source/include -I/home/romit/code/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0 -I includes -DHEAP3 -*
*MMD -c /home/romit/code/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0/port.c -o build//home/romit/code/FreeRTOS/FreeRTOS/Source/portable/G*
*CC/ARM_CM0/port.o*
*mkdir -p build//home/romit/code/FreeRTOS/FreeRTOS/Source*
*arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -I/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC*
*-I/home/romit/code/FreeRTOS/FreeRTOS/Source/include -I/home/romit/code/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0 -I includes -DHEAP3 -*
*MMD -c /home/romit/code/FreeRTOS/FreeRTOS/Source/tasks.c -o build//home/romit/code/FreeRTOS/FreeRTOS/Source/tasks.o*
*mkdir -p build//home/romit/code/FreeRTOS/FreeRTOS/Source*
*arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -I/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC*
*-I/home/romit/code/FreeRTOS/FreeRTOS/Source/include -I/home/romit/code/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0 -I includes -DHEAP3 -*
*MMD -c /home/romit/code/FreeRTOS/FreeRTOS/Source/list.c -o build//home/romit/code/FreeRTOS/FreeRTOS/Source/list.o*
*mkdir -p build//home/romit/code/FreeRTOS/FreeRTOS/Source*
*arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -I/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC*
*-I/home/romit/code/FreeRTOS/FreeRTOS/Source/include -I/home/romit/code/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0 -I includes -DHEAP3 -*
*MMD -c /home/romit/code/FreeRTOS/FreeRTOS/Source/queue.c -o build//home/romit/code/FreeRTOS/FreeRTOS/Source/queue.o*
*mkdir -p build//home/romit/code/FreeRTOS/FreeRTOS/Source*
*arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -I/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC*
*-I/home/romit/code/FreeRTOS/FreeRTOS/Source/include -I/home/romit/code/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0 -I includes -DHEAP3 -*
*MMD -c /home/romit/code/FreeRTOS/FreeRTOS/Source/timers.c -o build//home/romit/code/FreeRTOS/FreeRTOS/Source/timers.o*
*mkdir -p build//home/romit/code/FreeRTOS/FreeRTOS/Source*
*arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -I/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC*
*-I/home/romit/code/FreeRTOS/FreeRTOS/Source/include -I/home/romit/code/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0 -I includes -DHEAP3 -*
*MMD -c /home/romit/code/FreeRTOS/FreeRTOS/Source/event_groups.c -o build//home/romit/code/FreeRTOS/FreeRTOS/Source/event_groups.o*
*mkdir -p build//home/romit/code/FreeRTOS/FreeRTOS/Source/portable/MemMang*
*arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -I/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC*
*-I/home/romit/code/FreeRTOS/FreeRTOS/Source/include -I/home/romit/code/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0 -I includes -DHEAP3 -*
*MMD -c /home/romit/code/FreeRTOS/FreeRTOS/Source/portable/MemMang/heap_3.c -o build//home/romit/code/FreeRTOS/FreeRTOS/Source/portable/Mem*
*Mang/heap_3.o*
*mkdir -p build*
*arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -I/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC*
*-I/home/romit/code/FreeRTOS/FreeRTOS/Source/include -I/home/romit/code/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0 -I includes -DHEAP3 -*
*MMD -c bootrom.c -o build/bootrom.o*
*mkdir -p build*
*arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -I/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC*
*-I/home/romit/code/FreeRTOS/FreeRTOS/Source/include -I/home/romit/code/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0 -I includes -DHEAP3 -*
*MMD -c clocks.c -o build/clocks.o*
*mkdir -p build*
*arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -I/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC*
*-I/home/romit/code/FreeRTOS/FreeRTOS/Source/include -I/home/romit/code/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0 -I includes -DHEAP3 -*
*MMD -c gpio.c -o build/gpio.o*
*mkdir -p build*
*arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -I/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC*
*-I/home/romit/code/FreeRTOS/FreeRTOS/Source/include -I/home/romit/code/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0 -I includes -DHEAP3 -*
*MMD -c pll.c -o build/pll.o*
*mkdir -p build*
*arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -I/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC*
*-I/home/romit/code/FreeRTOS/FreeRTOS/Source/include -I/home/romit/code/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0 -I includes -DHEAP3 -*
*MMD -c startup.c -o build/startup.o*
*mkdir -p build*
*arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -I/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC*
*-I/home/romit/code/FreeRTOS/FreeRTOS/Source/include -I/home/romit/code/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0 -I includes -DHEAP3 -*
*MMD -c xosc.c -o build/xosc.o*
*mkdir -p build*
*arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -I/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC*
*-I/home/romit/code/FreeRTOS/FreeRTOS/Source/include -I/home/romit/code/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0 -I includes -DHEAP3 -*
*MMD -c blinky.c -o build/blinky.o*
*arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -I/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC*
*-I/home/romit/code/FreeRTOS/FreeRTOS/Source/include -I/home/romit/code/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0 -I includes -T linker*
*_scripts/memmap_default.ld --specs=nosys.specs -Xlinker -Map=build/output.map -c crt0.S -o build/crt0.o*
*make -C elf2uf2*
*make[1]: Entering directory '/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC/elf2uf2'*
*mkdir -p build/elf2uf2*
*g++ -std=c++14 main.cpp -o build/elf2uf2/elf2uf2*
*make[1]: Leaving directory '/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC/elf2uf2'*
*arm-none-eabi-gcc -march=armv6-m -mcpu=cortex-m0plus -mthumb -O3 -I/home/romit/code/FreeRTOS/FreeRTOS/Demo/CORTEX_M0+_RaspberryPiPico_GCC*
*-I/home/romit/code/FreeRTOS/FreeRTOS/Source/include -I/home/romit/code/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0 -I includes -T linker*
*_scripts/memmap_default.ld --specs=nosys.specs -Xlinker -Map=build/output.map -Wl,--build-id=none -Wl,--gc-sections build//home/romit/cod*
*e/FreeRTOS/FreeRTOS/Source/portable/GCC/ARM_CM0/port.o build//home/romit/code/FreeRTOS/FreeRTOS/Source/tasks.o build//home/romit/code/Free*
*RTOS/FreeRTOS/Source/list.o build//home/romit/code/FreeRTOS/FreeRTOS/Source/queue.o build//home/romit/code/FreeRTOS/FreeRTOS/Source/timers*
*.o build//home/romit/code/FreeRTOS/FreeRTOS/Source/event_groups.o build//home/romit/code/FreeRTOS/FreeRTOS/Source/portable/MemMang/heap_3.*
*o build/bootrom.o build/clocks.o build/gpio.o build/pll.o build/startup.o build/xosc.o build/blinky.o build/crt0.o -o build/blinky.elf boo*
*t2/build/boot2/boot2_checksummed.S*
*elf2uf2/build/elf2uf2/elf2uf2 build/blinky.elf build/blinky.uf2*
Thanks
-Romit