mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2026-02-05 15:23:03 +08:00
[bsp][hpmicro] fix the alignement check logic and the cache-maintenance logic
Some checks are pending
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:cpp11/cpp11.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:components/cpp11]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/atomic.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:kernel/atomic]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/atomic.conf QEMU_ARCH:riscv64 QEMU_MACHINE:virt RTT_BSP:bsp/qemu-virt64-riscv RUN:yes SD_FILE:None UTEST:kernel/atomic/riscv64]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/atomic_c11.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:kernel/atomic_c11]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/atomic_c11.conf QEMU_ARCH:riscv64 QEMU_MACHINE:virt RTT_BSP:bsp/qemu-virt64-riscv RUN:yes SD_FILE:None UTEST:kernel/atomic_c11/riscv64]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/device.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:kernel/device]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/ipc.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:kernel/ipc]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/irq.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:kernel/irq]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/mem.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:kernel/mem]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/mem.conf QEMU_ARCH:riscv64 QEMU_MACHINE:virt RTT_BSP:bsp/qemu-virt64-riscv RUN:yes SD_FILE:None UTEST:kernel/mem/riscv64]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/thread.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:kernel/thread]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/timer.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:kernel/timer]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:rtsmart/base.conf QEMU_ARCH:aarch64 QEMU_MACHINE:virt RTT_BSP:bsp/qemu-virt64-aarch64 RUN:no SD_FILE:sd.bin UTEST:rtsmart/aarch64]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:rtsmart/base.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:no SD_FILE:sd.bin UTEST:rtsmart/arm]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:rtsmart/base.conf QEMU_ARCH:riscv64 QEMU_MACHINE:virt RTT_BSP:bsp/qemu-virt64-riscv RUN:yes SD_FILE:None UTEST:rtsmart/riscv64]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:utest_self/self.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:components/utest]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:ESP32C3 RTT_TOOL_CHAIN:sourcery-riscv32-esp32 SUB_RTT_BSP:[ESP32_C3]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:Infineon_TI_microchip RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[Infineon/psoc6-cy8ckit-062S2-43012 Infineon/psoc6-cy8ckit-062-BLE Infineon/psoc6-cy8ckit-062s4 Infineon/psoc6-cy8ckit-062-WIFI-BT Infineon/psoc6-cy8c… (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:RT-Thread Online Packages (STM32F407 RT-Spark) RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[stm32/stm32f407-rt-spark]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:RTduino/Arduino Libraries (Raspberry Pico) RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[raspberry-pico]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:RTduino/Arduino Libraries (STM32F412 Nucleo) RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[stm32/stm32f412-st-nucleo]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:aarch64 RTT_TOOL_CHAIN:sourcery-aarch64 SUB_RTT_BSP:[qemu-virt64-aarch64 raspberry-pi/raspi3-64 raspberry-pi/raspi4-64 phytium/aarch64]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:gd32_n32_apm32 RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[gd32/arm/gd32103c-eval gd32/arm/gd32105c-eval gd32/arm/gd32105r-start gd32/arm/gd32107c-eval gd32/arm/gd32205r-start gd32/arm/gd32207i-eval gd32/arm/gd32303… (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:hpmicro RTT_TOOL_CHAIN:RISC-V-GCC-RV32 SUB_RTT_BSP:[hpmicro/hpm6750evkmini hpmicro/hpm6750evk hpmicro/hpm6750evk2 hpmicro/hpm6300evk hpmicro/hpm6200evk hpmicro/hpm5300evk hpmicro/hpm5301evklite hpmicro/hpm6800evk… (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:i386-unknown RTT_TOOL_CHAIN:sourcery-i386-unknown-elf SUB_RTT_BSP:[x86]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:llvm-arm RTT_TOOL_CHAIN:llvm-arm SUB_RTT_BSP:[stm32/stm32l475-atk-pandora]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:mips RTT_TOOL_CHAIN:sourcery-mips SUB_RTT_BSP:[loongson/ls1bdev loongson/ls2kdev loongson/ls1cdev]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:nordic(yml) RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[nrf5x/nrf51822 nrf5x/nrf52832 nrf5x/nrf52833 nrf5x/nrf52840 nrf5x/nrf5340]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:nuvoton RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[nuvoton/numaker-pfm-m487 nuvoton/numaker-hmi-ma35d1 nuvoton/numaker-iot-m487 nuvoton/numaker-m032ki nuvoton/numaker-iot-m467 nuvoton/numaker-m467hj nuvoton/nk-n9h3… (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:nxp_renesas RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[nxp/lpc/lpc55sxx/lpc55s69_nxp_evk nxp/lpc/lpc55sxx/lpc55s28_nxp_evk nxp/lpc/lpc55sxx/lpc55s06_nxp_evk nxp/lpc/lpc55sxx/lpc55s16_nxp_evk nxp/lpc/lpc55sxx/lpc55s… (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:others_at32_hc32_ht32 RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[qemu-vexpress-a9 airm2m/air32f103 acm32/acm32f0x0-nucleo CME_M7 apollo2 asm9260t allwinner_tina ft32/ft32f072xb-starter mini2440 at91/at91sam9g45 at9… (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:riscv-none RTT_TOOL_CHAIN:sourcery-riscv-none-embed SUB_RTT_BSP:[k210]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:riscv64-unknown RTT_TOOL_CHAIN:sourcery-riscv64-unknown-elf SUB_RTT_BSP:[bluetrum/ab32vg1-ab-prougen bouffalo_lab/bl60x bouffalo_lab/bl70x]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:simulator RTT_TOOL_CHAIN:gcc SUB_RTT_BSP:[simulator]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:stm32_f2_f4 RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[stm32/stm32f207-st-nucleo stm32/stm32f302-st-nucleo stm32/stm32f334-st-nucleo stm32/stm32f401-st-nucleo stm32/stm32f401-weact-blackpill stm32/stm32f405-smdz-br… (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:stm32_f7_g0_h7_mp15_u5_h5_wb5 RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[stm32/stm32f746-st-disco stm32/stm32f746-st-nucleo stm32/stm32f767-atk-apollo stm32/stm32f767-fire-challenger-v1 stm32/stm32f767-st-nucleo st… (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:stm32l4_f0_f1 RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[stm32/stm32l4r5-st-nucleo stm32/stm32l4r9-st-eval stm32/stm32l4r9-st-sensortile-box stm32/stm32l010-st-nucleo stm32/stm32l053-st-nucleo stm32/stm32l412-st-nu… (push) Waiting to run
BSP compilation with more drivers / BSP Compilation with More Drivers (push) Waiting to run
doc_doxygen / doxygen_doc generate (push) Waiting to run
doc_doxygen / deploy (push) Blocked by required conditions
pkgs_test / change (push) Waiting to run
Some checks are pending
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:cpp11/cpp11.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:components/cpp11]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/atomic.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:kernel/atomic]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/atomic.conf QEMU_ARCH:riscv64 QEMU_MACHINE:virt RTT_BSP:bsp/qemu-virt64-riscv RUN:yes SD_FILE:None UTEST:kernel/atomic/riscv64]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/atomic_c11.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:kernel/atomic_c11]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/atomic_c11.conf QEMU_ARCH:riscv64 QEMU_MACHINE:virt RTT_BSP:bsp/qemu-virt64-riscv RUN:yes SD_FILE:None UTEST:kernel/atomic_c11/riscv64]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/device.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:kernel/device]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/ipc.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:kernel/ipc]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/irq.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:kernel/irq]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/mem.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:kernel/mem]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/mem.conf QEMU_ARCH:riscv64 QEMU_MACHINE:virt RTT_BSP:bsp/qemu-virt64-riscv RUN:yes SD_FILE:None UTEST:kernel/mem/riscv64]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/thread.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:kernel/thread]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:kernel/timer.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:kernel/timer]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:rtsmart/base.conf QEMU_ARCH:aarch64 QEMU_MACHINE:virt RTT_BSP:bsp/qemu-virt64-aarch64 RUN:no SD_FILE:sd.bin UTEST:rtsmart/aarch64]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:rtsmart/base.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:no SD_FILE:sd.bin UTEST:rtsmart/arm]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:rtsmart/base.conf QEMU_ARCH:riscv64 QEMU_MACHINE:virt RTT_BSP:bsp/qemu-virt64-riscv RUN:yes SD_FILE:None UTEST:rtsmart/riscv64]) (push) Waiting to run
AutoTestCI / ${{ matrix.legs.UTEST }} (map[CONFIG_FILE:utest_self/self.conf QEMU_ARCH:arm QEMU_MACHINE:vexpress-a9 RTT_BSP:bsp/qemu-vexpress-a9 RUN:yes SD_FILE:sd.bin UTEST:components/utest]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:ESP32C3 RTT_TOOL_CHAIN:sourcery-riscv32-esp32 SUB_RTT_BSP:[ESP32_C3]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:Infineon_TI_microchip RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[Infineon/psoc6-cy8ckit-062S2-43012 Infineon/psoc6-cy8ckit-062-BLE Infineon/psoc6-cy8ckit-062s4 Infineon/psoc6-cy8ckit-062-WIFI-BT Infineon/psoc6-cy8c… (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:RT-Thread Online Packages (STM32F407 RT-Spark) RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[stm32/stm32f407-rt-spark]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:RTduino/Arduino Libraries (Raspberry Pico) RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[raspberry-pico]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:RTduino/Arduino Libraries (STM32F412 Nucleo) RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[stm32/stm32f412-st-nucleo]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:aarch64 RTT_TOOL_CHAIN:sourcery-aarch64 SUB_RTT_BSP:[qemu-virt64-aarch64 raspberry-pi/raspi3-64 raspberry-pi/raspi4-64 phytium/aarch64]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:gd32_n32_apm32 RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[gd32/arm/gd32103c-eval gd32/arm/gd32105c-eval gd32/arm/gd32105r-start gd32/arm/gd32107c-eval gd32/arm/gd32205r-start gd32/arm/gd32207i-eval gd32/arm/gd32303… (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:hpmicro RTT_TOOL_CHAIN:RISC-V-GCC-RV32 SUB_RTT_BSP:[hpmicro/hpm6750evkmini hpmicro/hpm6750evk hpmicro/hpm6750evk2 hpmicro/hpm6300evk hpmicro/hpm6200evk hpmicro/hpm5300evk hpmicro/hpm5301evklite hpmicro/hpm6800evk… (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:i386-unknown RTT_TOOL_CHAIN:sourcery-i386-unknown-elf SUB_RTT_BSP:[x86]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:llvm-arm RTT_TOOL_CHAIN:llvm-arm SUB_RTT_BSP:[stm32/stm32l475-atk-pandora]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:mips RTT_TOOL_CHAIN:sourcery-mips SUB_RTT_BSP:[loongson/ls1bdev loongson/ls2kdev loongson/ls1cdev]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:nordic(yml) RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[nrf5x/nrf51822 nrf5x/nrf52832 nrf5x/nrf52833 nrf5x/nrf52840 nrf5x/nrf5340]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:nuvoton RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[nuvoton/numaker-pfm-m487 nuvoton/numaker-hmi-ma35d1 nuvoton/numaker-iot-m487 nuvoton/numaker-m032ki nuvoton/numaker-iot-m467 nuvoton/numaker-m467hj nuvoton/nk-n9h3… (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:nxp_renesas RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[nxp/lpc/lpc55sxx/lpc55s69_nxp_evk nxp/lpc/lpc55sxx/lpc55s28_nxp_evk nxp/lpc/lpc55sxx/lpc55s06_nxp_evk nxp/lpc/lpc55sxx/lpc55s16_nxp_evk nxp/lpc/lpc55sxx/lpc55s… (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:others_at32_hc32_ht32 RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[qemu-vexpress-a9 airm2m/air32f103 acm32/acm32f0x0-nucleo CME_M7 apollo2 asm9260t allwinner_tina ft32/ft32f072xb-starter mini2440 at91/at91sam9g45 at9… (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:riscv-none RTT_TOOL_CHAIN:sourcery-riscv-none-embed SUB_RTT_BSP:[k210]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:riscv64-unknown RTT_TOOL_CHAIN:sourcery-riscv64-unknown-elf SUB_RTT_BSP:[bluetrum/ab32vg1-ab-prougen bouffalo_lab/bl60x bouffalo_lab/bl70x]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:simulator RTT_TOOL_CHAIN:gcc SUB_RTT_BSP:[simulator]]) (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:stm32_f2_f4 RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[stm32/stm32f207-st-nucleo stm32/stm32f302-st-nucleo stm32/stm32f334-st-nucleo stm32/stm32f401-st-nucleo stm32/stm32f401-weact-blackpill stm32/stm32f405-smdz-br… (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:stm32_f7_g0_h7_mp15_u5_h5_wb5 RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[stm32/stm32f746-st-disco stm32/stm32f746-st-nucleo stm32/stm32f767-atk-apollo stm32/stm32f767-fire-challenger-v1 stm32/stm32f767-st-nucleo st… (push) Waiting to run
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (map[RTT_BSP:stm32l4_f0_f1 RTT_TOOL_CHAIN:sourcery-arm SUB_RTT_BSP:[stm32/stm32l4r5-st-nucleo stm32/stm32l4r9-st-eval stm32/stm32l4r9-st-sensortile-box stm32/stm32l010-st-nucleo stm32/stm32l053-st-nucleo stm32/stm32l412-st-nu… (push) Waiting to run
BSP compilation with more drivers / BSP Compilation with More Drivers (push) Waiting to run
doc_doxygen / doxygen_doc generate (push) Waiting to run
doc_doxygen / deploy (push) Blocked by required conditions
pkgs_test / change (push) Waiting to run
- corrected the alignement check logic - optimized the cache maintenance logic Signed-off-by: Fan YANG <fan.yang@hpmicro.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2022-2024 HPMicro
|
||||
* Copyright (c) 2022-2025 HPMicro
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*
|
||||
@@ -44,7 +44,9 @@
|
||||
* Keep this option disabled by default, please enable it if the default setting cannot meet
|
||||
* real requirement of application.
|
||||
*/
|
||||
#ifndef HPM_SDXC_ALLOC_CACHELINE_ALIGNED_BUF
|
||||
#define HPM_SDXC_ALLOC_CACHELINE_ALIGNED_BUF 0
|
||||
#endif
|
||||
|
||||
struct hpm_mmcsd
|
||||
{
|
||||
@@ -395,7 +397,7 @@ static void hpm_sdmmc_request(struct rt_mmcsd_host *host, struct rt_mmcsd_req *r
|
||||
struct rt_mmcsd_cmd *cmd = req->cmd;
|
||||
struct rt_mmcsd_data *data = cmd->data;
|
||||
|
||||
/* configure command */
|
||||
/* configure command */
|
||||
sdxc_cmd.cmd_index = cmd->cmd_code;
|
||||
sdxc_cmd.cmd_argument = cmd->arg;
|
||||
sdxc_cmd.cmd_type = (cmd->cmd_code == STOP_TRANSMISSION) ? sdxc_cmd_type_abort_cmd : sdxc_cmd_type_normal_cmd;
|
||||
@@ -451,17 +453,17 @@ static void hpm_sdmmc_request(struct rt_mmcsd_host *host, struct rt_mmcsd_req *r
|
||||
adma_config.adma_table = (uint32_t*) core_local_mem_to_sys_address(BOARD_RUNNING_CORE,
|
||||
(uint32_t) mmcsd->sdxc_adma2_table);
|
||||
adma_config.adma_table_words = SDXC_ADMA_TABLE_WORDS;
|
||||
size_t xfer_buf_addr = (uint32_t)data->buf;
|
||||
rt_size_t xfer_buf_addr = (uint32_t)data->buf;
|
||||
uint32_t xfer_len = data->blks * data->blksize;
|
||||
if ((req->data->flags & DATA_DIR_WRITE) != 0U)
|
||||
{
|
||||
uint32_t write_size = xfer_len;
|
||||
size_t aligned_start;
|
||||
rt_size_t aligned_start;
|
||||
uint32_t aligned_size;
|
||||
#if defined(HPM_SDXC_ALLOC_CACHELINE_ALIGNED_BUF) && (HPM_SDXC_ALLOC_CACHELINE_ALIGNED_BUF == 1)
|
||||
if (!SDXC_IS_CACHELINE_ALIGNED(xfer_buf_addr) || !SDXC_IS_CACHELINE_ALIGNED(write_size))
|
||||
#else
|
||||
if ((xfer_buf_addr % 4 != 0) && (write_size % 4 != 0))
|
||||
if ((xfer_buf_addr % 4 != 0) || (write_size % 4 != 0))
|
||||
#endif
|
||||
{
|
||||
write_size = SDXC_CACHELINE_ALIGN_UP(xfer_len);
|
||||
@@ -481,12 +483,10 @@ static void hpm_sdmmc_request(struct rt_mmcsd_host *host, struct rt_mmcsd_req *r
|
||||
sdxc_data.tx_data = (uint32_t const *) core_local_mem_to_sys_address(BOARD_RUNNING_CORE, xfer_buf_addr);
|
||||
|
||||
aligned_start = SDXC_CACHELINE_ALIGN_DOWN(sdxc_data.tx_data);
|
||||
size_t aligned_end = SDXC_CACHELINE_ALIGN_UP((uint32_t)sdxc_data.tx_data + write_size);
|
||||
rt_size_t aligned_end = SDXC_CACHELINE_ALIGN_UP((uint32_t)sdxc_data.tx_data + write_size);
|
||||
aligned_size = aligned_end - aligned_start;
|
||||
}
|
||||
rt_base_t level = rt_hw_interrupt_disable();
|
||||
l1c_dc_flush(aligned_start, aligned_size);
|
||||
rt_hw_interrupt_enable(level);
|
||||
sdxc_data.rx_data = NULL;
|
||||
}
|
||||
else
|
||||
@@ -503,16 +503,23 @@ static void hpm_sdmmc_request(struct rt_mmcsd_host *host, struct rt_mmcsd_req *r
|
||||
RT_ASSERT(raw_alloc_buf != RT_NULL);
|
||||
aligned_buf = (uint32_t *) SDXC_CACHELINE_ALIGN_UP(raw_alloc_buf);
|
||||
sdxc_data.rx_data = (uint32_t*) core_local_mem_to_sys_address(BOARD_RUNNING_CORE, (uint32_t) aligned_buf);
|
||||
/* Invalidate cache-line for the new allocated buffer */
|
||||
l1c_dc_invalidate((uint32_t) sdxc_data.rx_data, aligned_read_size);
|
||||
}
|
||||
else
|
||||
{
|
||||
sdxc_data.rx_data = (uint32_t*) core_local_mem_to_sys_address(BOARD_RUNNING_CORE, xfer_buf_addr);
|
||||
size_t aligned_start = SDXC_CACHELINE_ALIGN_DOWN(sdxc_data.rx_data);
|
||||
size_t aligned_end = SDXC_CACHELINE_ALIGN_UP((uint32_t)sdxc_data.rx_data + read_size);
|
||||
uint32_t aligned_size = aligned_end - aligned_start;
|
||||
rt_base_t level = rt_hw_interrupt_disable();
|
||||
l1c_dc_flush(aligned_start, aligned_size);
|
||||
rt_hw_interrupt_enable(level);
|
||||
rt_size_t buf_start = (uint32_t) sdxc_data.rx_data;
|
||||
rt_size_t aligned_start = HPM_L1C_CACHELINE_ALIGN_DOWN(buf_start);
|
||||
rt_size_t end_addr = buf_start + xfer_len;
|
||||
/* FLUSH un-cacheline aligned memory region */
|
||||
if ((buf_start % HPM_L1C_CACHELINE_SIZE) != 0) {
|
||||
l1c_dc_writeback(aligned_start, HPM_L1C_CACHELINE_SIZE);
|
||||
}
|
||||
if ((end_addr % HPM_L1C_CACHELINE_SIZE) != 0) {
|
||||
uint32_t aligned_tail = HPM_L1C_CACHELINE_ALIGN_DOWN(end_addr);
|
||||
l1c_dc_writeback(aligned_tail, HPM_L1C_CACHELINE_SIZE);
|
||||
}
|
||||
}
|
||||
sdxc_data.tx_data = RT_NULL;
|
||||
}
|
||||
@@ -571,8 +578,8 @@ static void hpm_sdmmc_request(struct rt_mmcsd_host *host, struct rt_mmcsd_req *r
|
||||
}
|
||||
else
|
||||
{
|
||||
size_t aligned_start = SDXC_CACHELINE_ALIGN_DOWN(sdxc_data.rx_data);
|
||||
size_t aligned_end = SDXC_CACHELINE_ALIGN_UP((uint32_t)sdxc_data.rx_data + read_size);
|
||||
rt_size_t aligned_start = SDXC_CACHELINE_ALIGN_DOWN(sdxc_data.rx_data);
|
||||
rt_size_t aligned_end = SDXC_CACHELINE_ALIGN_UP((uint32_t)sdxc_data.rx_data + read_size);
|
||||
uint32_t aligned_size = aligned_end - aligned_start;
|
||||
rt_base_t level = rt_hw_interrupt_disable();
|
||||
l1c_dc_invalidate(aligned_start, aligned_size);
|
||||
|
||||
Reference in New Issue
Block a user