Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request for RISCV LLVM compiler option in SDK #2228

Open
matsobdev opened this issue Feb 3, 2025 · 2 comments
Open

Request for RISCV LLVM compiler option in SDK #2228

matsobdev opened this issue Feb 3, 2025 · 2 comments
Milestone

Comments

@matsobdev
Copy link

matsobdev commented Feb 3, 2025

because... why not :D But messing with scripts and hardcoding, and deleting stuff, managed to compile some program that works. There was some warnings and SDK required some changes. Stable release and top-of-tree both has RISCV LLVM option. Latter one has newer 19.0.0 (and it's GCC/LLVM combo), and it works with -march=rv32ima_zicsr_zifencei_zba_zbb_zbs_zbkb_zca_zcb_zcmp, that is required after changing instruction:

.insn 0xb842 // cm.push {ra}, -16: Save ultimate return address

and
.insn 0xbe42 // cm.popret {ra}, 16

to its commented out form. Stable (16 something) was not complying with rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb. They both are shipped with newlib so set(PICO_CLIB newlib). Pico 2 W has similar instruction incompatibility somewhere in cyw43driver I believe, but there was not comment for that :D So deleting it, and it compiled spiting out uf2 file. I don't have Pico 2 W to test it, but I bet it might lack one instruction. I didn't dig deep enough for the replacement. Anyway, compiler is available (for Linux and macOS only in a binary form) and at the first glance it works.

PICO_SDK_PATH is /home/mateush/Dysk_RAM/pico-sdk-2.1.0
Target board (PICO_BOARD) is 'pico2'.
Using board configuration from /home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/boards/include/boards/pico2.h
Pico Platform (PICO_PLATFORM) is 'rp2350-riscv'.
Configuring toolchain based on PICO_COMPILER 'pico_riscv_clang'
-- The C compiler identification is Clang 19.0.0
-- The CXX compiler identification is Clang 19.0.0
-- The ASM compiler identification is Clang
-- Found assembler: /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/riscv32-unknown-elf-clang
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/riscv32-unknown-elf-clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/riscv32-unknown-elf-clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
Build type is Release
-- Found Python3: /usr/bin/python3.8 (found version "3.8.10") found components: Interpreter 
TinyUSB available at /home/mateush/Dysk_RAM/pico-sdk-2.1.0/lib/tinyusb/src/portable/raspberrypi/rp2040; enabling build support for USB.
BTstack available at /home/mateush/Dysk_RAM/pico-sdk-2.1.0/lib/btstack
cyw43-driver available at /home/mateush/Dysk_RAM/pico-sdk-2.1.0/lib/cyw43-driver
lwIP available at /home/mateush/Dysk_RAM/pico-sdk-2.1.0/lib/lwip
mbedtls available at /home/mateush/Dysk_RAM/pico-sdk-2.1.0/lib/mbedtls
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mateush/Dysk_RAM/hid_kbd_fix_LSM6DS3_a_s_RP2350_master/build
[2/58] Linking ASM executable pico-sdk/src/rp2350/boot_stage2/bs2_default.elf
Memory region         Used Size  Region Size  %age Used
            SRAM:         174 B        252 B     69.05%
[51/58] Building ASM object CMakeFiles...rc/rp2_common/pico_crt0/crt0_riscv.S.o
/tmp/crt0_riscv-9d7bc4.s:113:1: warning: isr_riscv_machine_external_irq changed binding to STB_WEAK
.weak isr_riscv_machine_external_irq
^
[58/58] Linking CXX executable hog_kbd.elf
GNU ld ('riscv-embecosm-embedded-ubuntu2004-20240407') 2.42.50.20240407
GNU ld ('riscv-embecosm-embedded-ubuntu2004-20240407') 2.42.50.20240407
  Supported emulations:
   elf32lriscv
   elf64lriscv
   elf32briscv
   elf64briscv
otwarto plik skryptowy /home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_crt0/rp2350/memmap_no_flash.ld
using external linker script:
==================================================
/* Based on GCC ARM embedded samples.
   Defines the following symbols for use by code:
    __exidx_start
    __exidx_end
    __etext
    __data_start__
    __preinit_array_start
    __preinit_array_end
    __init_array_start
    __init_array_end
    __fini_array_start
    __fini_array_end
    __data_end__
    __bss_start__
    __bss_end__
    __end__
    end
    __HeapLimit
    __StackLimit
    __StackTop
    __stack (== StackTop)
*/

MEMORY
{
    RAM(rwx) : ORIGIN =  0x20000000, LENGTH = 512k
    SCRATCH_X(rwx) : ORIGIN = 0x20080000, LENGTH = 4k
    SCRATCH_Y(rwx) : ORIGIN = 0x20081000, LENGTH = 4k
}

ENTRY(_entry_point)

SECTIONS
{
    /* Note unlike RP2040, we start the image with a vector table even for
       NO_FLASH builds. On Arm, the bootrom expects a VT at the start of the
       image by default; on RISC-V, the default is to enter the image at its
       lowest address, so an IMAGEDEF item is required to specify the
       nondefault entry point. */

    .text : {
        __logical_binary_start = .;
        /* Vectors require 512-byte alignment on v8-M when >48 IRQs are used,
           so we would waste RAM if the vector table were not at the
           start. */
        KEEP (*(.vectors))
        KEEP (*(.binary_info_header))
        __binary_info_header_end = .;
        KEEP (*(.embedded_block))
        __embedded_block_end = .;
        __reset_start = .;
        KEEP (*(.reset))
        __reset_end = .;
        *(.time_critical*)
        *(.text*)
        . = ALIGN(4);
        *(.init)
        *(.fini)
        /* Pull all c'tors into .text */
        *crtbegin.o(.ctors)
        *crtbegin?.o(.ctors)
        *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
        *(SORT(.ctors.*))
        *(.ctors)
        /* Followed by destructors */
        *crtbegin.o(.dtors)
        *crtbegin?.o(.dtors)
        *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
        *(SORT(.dtors.*))
        *(.dtors)

        *(.eh_frame*)
    } > RAM

    .rodata : {
        . = ALIGN(4);
        *(.rodata*)
        *(.srodata*)
        . = ALIGN(4);
        *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.flashdata*)))
        . = ALIGN(4);
    } > RAM

    .ARM.extab :
    {
        *(.ARM.extab* .gnu.linkonce.armextab.*)
    } > RAM

    __exidx_start = .;
    .ARM.exidx :
    {
        *(.ARM.exidx* .gnu.linkonce.armexidx.*)
    } > RAM
    __exidx_end = .;

    /* Machine inspectable binary information */
    . = ALIGN(4);
    __binary_info_start = .;
    .binary_info :
    {
        KEEP(*(.binary_info.keep.*))
        *(.binary_info.*)
    } > RAM
    __binary_info_end = .;
    . = ALIGN(4);

    .data : {
        __data_start__ = .;
        *(vtable)
        *(.data*)
        *(.sdata*)

        . = ALIGN(4);
        *(.after_data.*)
        . = ALIGN(4);
        /* preinit data */
        PROVIDE_HIDDEN (__mutex_array_start = .);
        KEEP(*(SORT(.mutex_array.*)))
        KEEP(*(.mutex_array))
        PROVIDE_HIDDEN (__mutex_array_end = .);

        . = ALIGN(4);
        /* preinit data */
        PROVIDE_HIDDEN (__preinit_array_start = .);
        KEEP(*(SORT(.preinit_array.*)))
        KEEP(*(.preinit_array))
        PROVIDE_HIDDEN (__preinit_array_end = .);

        . = ALIGN(4);
        /* init data */
        PROVIDE_HIDDEN (__init_array_start = .);
        KEEP(*(SORT(.init_array.*)))
        KEEP(*(.init_array))
        PROVIDE_HIDDEN (__init_array_end = .);

        . = ALIGN(4);
        /* finit data */
        PROVIDE_HIDDEN (__fini_array_start = .);
        *(SORT(.fini_array.*))
        *(.fini_array)
        PROVIDE_HIDDEN (__fini_array_end = .);

        *(.jcr)
        . = ALIGN(4);
   } > RAM

    .tdata : {
        . = ALIGN(4);
		*(.tdata .tdata.* .gnu.linkonce.td.*)
        /* All data end */
        __tdata_end = .;
    } > RAM
    PROVIDE(__data_end__ = .);

    .uninitialized_data (NOLOAD): {
        . = ALIGN(4);
        *(.uninitialized_data*)
    } > RAM
    /* __etext is (for backwards compatibility) the name of the .data init source pointer (...) */
    __etext = LOADADDR(.data);

    .tbss (NOLOAD) : {
        . = ALIGN(4);
        __bss_start__ = .;
        __tls_base = .;
        *(.tbss .tbss.* .gnu.linkonce.tb.*)
        *(.tcommon)

        __tls_end = .;
    } > RAM

    .bss (NOLOAD) : {
        . = ALIGN(4);
        __tbss_end = .;

        *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.bss*)))
        *(COMMON)
        PROVIDE(__global_pointer$ = . + 2K);
        *(.sbss*)
        . = ALIGN(4);
        __bss_end__ = .;
    } > RAM

    .heap (NOLOAD):
    {
        __end__ = .;
        end = __end__;
        KEEP(*(.heap*))
    } > RAM
    /* historically on GCC sbrk was growing past __HeapLimit to __StackLimit, however
       to be more compatible, we now set __HeapLimit explicitly to where the end of the heap is */
    __HeapLimit = ORIGIN(RAM) + LENGTH(RAM);

    /* Start and end symbols must be word-aligned */
    .scratch_x : {
        __scratch_x_start__ = .;
        *(.scratch_x.*)
        . = ALIGN(4);
        __scratch_x_end__ = .;
    } > SCRATCH_X
    __scratch_x_source__ = LOADADDR(.scratch_x);

    .scratch_y : {
        __scratch_y_start__ = .;
        *(.scratch_y.*)
        . = ALIGN(4);
        __scratch_y_end__ = .;
    } > SCRATCH_Y
    __scratch_y_source__ = LOADADDR(.scratch_y);

    /* .stack*_dummy section doesn't contains any symbols. It is only
     * used for linker to calculate size of stack sections, and assign
     * values to stack symbols later
     *
     * stack1 section may be empty/missing if platform_launch_core1 is not used */

    /* by default we put core 0 stack at the end of scratch Y, so that if core 1
     * stack is not used then all of SCRATCH_X is free.
     */
    .stack1_dummy (NOLOAD):
    {
        *(.stack1*)
    } > SCRATCH_X
    .stack_dummy (NOLOAD):
    {
        KEEP(*(.stack*))
    } > SCRATCH_Y

    /* stack limit is poorly named, but historically is maximum heap ptr */
    __StackLimit = ORIGIN(RAM) + LENGTH(RAM);
    __StackOneTop = ORIGIN(SCRATCH_X) + LENGTH(SCRATCH_X);
    __StackTop = ORIGIN(SCRATCH_Y) + LENGTH(SCRATCH_Y);
    __StackOneBottom = __StackOneTop - SIZEOF(.stack1_dummy);
    __StackBottom = __StackTop - SIZEOF(.stack_dummy);
    PROVIDE(__stack = __StackTop);

    /* picolibc and LLVM */
    PROVIDE (__heap_start = __end__);
    PROVIDE (__heap_end = __HeapLimit);
    PROVIDE( __tls_align = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)) );
    PROVIDE( __tls_size_align = (__tls_size + __tls_align - 1) & ~(__tls_align - 1));
    PROVIDE( __arm32_tls_tcb_offset = MAX(8, __tls_align) );

    /* llvm-libc */
    PROVIDE (_end = __end__);
    PROVIDE (__llvm_libc_heap_limit = __HeapLimit);

    /* Check if data + heap + stack exceeds RAM limit */
    ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed")

    ASSERT( __binary_info_header_end - __logical_binary_start <= 1024, "Binary info must be in first 1024 bytes of the binary")
    ASSERT( __embedded_block_end - __logical_binary_start <= 4096, "Embedded block must be in first 4096 bytes of the binary")

    /* todo assert on extra code */
}


==================================================
/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/riscv32-unknown-elf-ld: mode elf32lriscv
próba otwarcia CMakeFiles/hog_kbd.dir/main.c.o powiodła się
CMakeFiles/hog_kbd.dir/main.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/usbd_core.c.o powiodła się
CMakeFiles/hog_kbd.dir/usbd_core.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/usbd_hid.c.o powiodła się
CMakeFiles/hog_kbd.dir/usbd_hid.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/usb_dc.c.o powiodła się
CMakeFiles/hog_kbd.dir/usb_dc.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_stdlib/stdlib.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_stdlib/stdlib.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_gpio/gpio.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_gpio/gpio.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2350/pico_platform/platform.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2350/pico_platform/platform.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_platform_panic/panic.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_platform_panic/panic.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/hardware_claim/claim.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/hardware_claim/claim.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_sync/sync.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_sync/sync.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_sync_spin_lock/sync_spin_lock.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_sync_spin_lock/sync_spin_lock.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_irq/irq.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_irq/irq.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_irq/irq_handler_chain.S.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_irq/irq_handler_chain.S.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/pico_sync/sem.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/pico_sync/sem.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/pico_sync/lock_core.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/pico_sync/lock_core.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/pico_sync/mutex.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/pico_sync/mutex.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/pico_sync/critical_section.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/pico_sync/critical_section.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/pico_time/time.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/pico_time/time.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/pico_time/timeout_helper.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/pico_time/timeout_helper.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_timer/timer.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_timer/timer.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/pico_util/datetime.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/pico_util/datetime.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/pico_util/pheap.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/pico_util/pheap.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/pico_util/queue.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/common/pico_util/queue.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_uart/uart.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_uart/uart.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_clocks/clocks.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_clocks/clocks.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_pll/pll.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_pll/pll.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_vreg/vreg.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_vreg/vreg.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_watchdog/watchdog.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_watchdog/watchdog.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_ticks/ticks.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_ticks/ticks.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_bootrom/bootrom.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_bootrom/bootrom.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_bootrom/bootrom_lock.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_bootrom/bootrom_lock.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_boot_lock/boot_lock.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_boot_lock/boot_lock.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_flash/flash.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_flash/flash.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_xosc/xosc.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_xosc/xosc.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_rosc/rosc.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_rosc/rosc.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_divider/divider.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/hardware_divider/divider.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_runtime/runtime.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_runtime/runtime.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_runtime_init/runtime_init.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_runtime_init/runtime_init.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_runtime_init/runtime_init_clocks.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_runtime_init/runtime_init_clocks.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_runtime_init/runtime_init_stack_guard.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_runtime_init/runtime_init_stack_guard.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_bit_ops/bit_ops_aeabi.S.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_bit_ops/bit_ops_aeabi.S.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_divider/divider_compiler.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_divider/divider_compiler.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_float/float_single_hazard3.S.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_float/float_single_hazard3.S.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_malloc/malloc.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_malloc/malloc.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_atomic/atomic.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_atomic/atomic.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_cxx_options/new_delete.cpp.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_cxx_options/new_delete.cpp.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_standard_binary_info/standard_binary_info.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_standard_binary_info/standard_binary_info.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_printf/printf.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_printf/printf.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_crt0/crt0_riscv.S.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_crt0/crt0_riscv.S.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_clib_interface/newlib_interface.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_clib_interface/newlib_interface.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_stdio/stdio.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_stdio/stdio.c.o
próba otwarcia CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_stdio_uart/stdio_uart.c.o powiodła się
CMakeFiles/hog_kbd.dir/home/mateush/Dysk_RAM/pico-sdk-2.1.0/src/rp2_common/pico_stdio_uart/stdio_uart.c.o
próba otwarcia /home/mateush/Dysk_RAM/hid_kbd_fix_LSM6DS3_a_s_RP2350_master/build/libstdc++.so zawiodła
próba otwarcia /home/mateush/Dysk_RAM/hid_kbd_fix_LSM6DS3_a_s_RP2350_master/build/libstdc++.a zawiodła
próba otwarcia /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libstdc++.so zawiodła
próba otwarcia /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libstdc++.a zawiodła
próba otwarcia /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libstdc++.so zawiodła
próba otwarcia /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libstdc++.a powiodła się
/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libstdc++.a
próba otwarcia /home/mateush/Dysk_RAM/hid_kbd_fix_LSM6DS3_a_s_RP2350_master/build/libm.so zawiodła
próba otwarcia /home/mateush/Dysk_RAM/hid_kbd_fix_LSM6DS3_a_s_RP2350_master/build/libm.a zawiodła
próba otwarcia /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libm.so zawiodła
próba otwarcia /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libm.a zawiodła
próba otwarcia /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libm.so zawiodła
próba otwarcia /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libm.a powiodła się
/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libm.a
próba otwarcia /home/mateush/Dysk_RAM/hid_kbd_fix_LSM6DS3_a_s_RP2350_master/build/libc.so zawiodła
próba otwarcia /home/mateush/Dysk_RAM/hid_kbd_fix_LSM6DS3_a_s_RP2350_master/build/libc.a zawiodła
próba otwarcia /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libc.so zawiodła
próba otwarcia /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libc.a zawiodła
próba otwarcia /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.so zawiodła
próba otwarcia /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a powiodła się
/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-calloc.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-callocr.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-malloc.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-mallocr.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-mlock.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-realloc.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-reallocr.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-memcmp.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-lcltime_r.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-mktime.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-month_lengths.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-tzcalc_limits.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-tzlock.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-tzset.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-tzset_r.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-tzvars.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-impure.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-sbrkr.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-errno.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-memmove-stub.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-memset.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-memcpy.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-strlen.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-strcpy.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-strcmp.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-div.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-freer.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-getenv_r.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-strtoul.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-ctype_.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-siscanf.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-svfiscanf.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-findfp.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-fwalk.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-sccl.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-stdio.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-ungetc.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-strncmp.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-gettzinfo.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-gmtime_r.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-locale.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-closer.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-reent.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-lseekr.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-readr.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-writer.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-environ.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-envlock.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-mbtowc_r.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-strtol.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-wctomb_r.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-strtoll.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-strtoull.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-mbrtowc.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-iswspace.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-iswspace_l.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-fclose.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a)libc_a-fflush.o
próba otwarcia /home/mateush/Dysk_RAM/hid_kbd_fix_LSM6DS3_a_s_RP2350_master/build/libgloss.so zawiodła
próba otwarcia /home/mateush/Dysk_RAM/hid_kbd_fix_LSM6DS3_a_s_RP2350_master/build/libgloss.a zawiodła
próba otwarcia /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgloss.so zawiodła
próba otwarcia /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgloss.a zawiodła
próba otwarcia /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libgloss.so zawiodła
próba otwarcia /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libgloss.a powiodła się
/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libgloss.a
/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libc.a
/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/../../../../riscv32-unknown-elf/lib/libgloss.a
próba otwarcia /home/mateush/Dysk_RAM/hid_kbd_fix_LSM6DS3_a_s_RP2350_master/build/libgcc.so zawiodła
próba otwarcia /home/mateush/Dysk_RAM/hid_kbd_fix_LSM6DS3_a_s_RP2350_master/build/libgcc.a zawiodła
próba otwarcia /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.so zawiodła
próba otwarcia /media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a powiodła się
/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a)_divdi3.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a)_moddi3.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a)_udivdi3.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a)_umoddi3.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a)adddf3.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a)divdf3.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a)eqdf2.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a)gedf2.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a)ledf2.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a)muldf3.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a)subdf3.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a)unorddf2.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a)fixdfsi.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a)fixunsdfsi.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a)floatsidf.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a)floatunsidf.o
(/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/../lib/gcc/riscv32-unknown-elf/14.0.1/libgcc.a)_clz.o
/media/mateush/Dane/Download/Pico_2/riscv-embecosm-embedded-ubuntu2004-20240407/bin/riscv32-unknown-elf-ld: warning: hog_kbd.elf has a LOAD segment with RWX permissions
Memory region         Used Size  Region Size  %age Used
             RAM:       20972 B       512 KB      4.00%
       SCRATCH_X:           0 B         4 KB      0.00%
       SCRATCH_Y:          2 KB         4 KB     50.00%
Loading into RAM:     [==============================]  100%

The device was rebooted to start the application.
mateush@mateush:~/Dysk_RAM/hid_kbd_fix_LSM6DS3_a_s_RP2350_master$ 
@kilograham kilograham added this to the 2.2.0 milestone Feb 3, 2025
@matsobdev
Copy link
Author

So, pico_riscv_clang.cmake needs to be created here: https://github.com/raspberrypi/pico-sdk/tree/master/cmake/preload/toolchains:

set(CMAKE_SYSTEM_PROCESSOR hazard3)

set(PICO_CLANG_RUNTIMES riscv32-unknown-elf)

set(PICO_COMMON_LANG_FLAGS " -march=rv32ima_zicsr_zifencei_zba_zbb_zbs_zbkb_zca_zcb_zcmp -mabi=ilp32")

include(${CMAKE_CURRENT_LIST_DIR}/util/pico_riscv_clang_common.cmake)

and pico_riscv_clang_common.cmake here: https://github.com/raspberrypi/pico-sdk/tree/master/cmake/preload/toolchains/util:

include(${CMAKE_CURRENT_LIST_DIR}/find_compiler.cmake)

# include our Platform/PICO.cmake
set(CMAKE_SYSTEM_NAME PICO)

# Find Clang
pico_find_compiler(PICO_COMPILER_CC riscv32-unknown-elf-clang)
pico_find_compiler(PICO_COMPILER_CXX riscv32-unknown-elf-clang++)
set(PICO_COMPILER_ASM "${PICO_COMPILER_CC}" CACHE INTERNAL "")
pico_find_compiler(PICO_OBJCOPY llvm-objcopy)
pico_find_compiler(PICO_OBJDUMP llvm-objdump)

# Specify the cross compiler.
set(CMAKE_C_COMPILER ${PICO_COMPILER_CC} CACHE FILEPATH "C compiler")
set(CMAKE_CXX_COMPILER ${PICO_COMPILER_CXX} CACHE FILEPATH "C++ compiler")
set(CMAKE_ASM_COMPILER ${PICO_COMPILER_ASM} CACHE FILEPATH "ASM compiler")

# workaround for projects that don't enable ASM
set(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT>   -c <SOURCE>")
set(CMAKE_INCLUDE_FLAG_ASM "-I")

set(CMAKE_OBJCOPY ${PICO_OBJCOPY} CACHE FILEPATH "")
set(CMAKE_OBJDUMP ${PICO_OBJDUMP} CACHE FILEPATH "")

foreach(LANG IN ITEMS C CXX ASM)
    set(CMAKE_${LANG}_OUTPUT_EXTENSION .o)
endforeach()

# Add target system root to cmake find path.
get_filename_component(PICO_COMPILER_DIR "${PICO_COMPILER_CC}" DIRECTORY)
get_filename_component(CMAKE_FIND_ROOT_PATH "${PICO_COMPILER_DIR}" DIRECTORY)

# Look for includes and libraries only in the target system prefix.
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)

# Oz is preferred for Clang (verses CMake default -Os) see also https://gitlab.kitware.com/cmake/cmake/-/issues/22458
foreach(LANG IN ITEMS C CXX ASM)
    set(CMAKE_${LANG}_FLAGS_MINSIZEREL_INIT "-Oz -DNDEBUG")
endforeach()

include(${CMAKE_CURRENT_LIST_DIR}/set_flags.cmake)

@matsobdev
Copy link
Author

For Pico 2 W, the problematic line is:


but I think solution is there #1922:

 : "+r" (a), "=r" (tmp)); 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants