[BSP][GD32]: 修复硬件iic和pwm驱动的一些问题#11222
ToolsCI / Tools (push) Has been cancelled
RT-Thread BSP Static Build Check / 🔍 Summary of Git Diff Changes (push) Has been cancelled
pkgs_test / change (push) Has been cancelled
utest_auto_run / A9 :components/dfs.cfg (push) Has been cancelled
utest_auto_run / A9 :components/lwip.cfg (push) Has been cancelled
utest_auto_run / A9 :components/netdev.cfg (push) Has been cancelled
utest_auto_run / A9 :components/sal.cfg (push) Has been cancelled
utest_auto_run / A9 :cpp11/cpp11.cfg (push) Has been cancelled
utest_auto_run / AARCH64-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / A9-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / RISCV-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / XUANTIE-rtsmart :default.cfg (push) Has been cancelled
utest_auto_run / AARCH64 :default.cfg (push) Has been cancelled
utest_auto_run / AARCH64-smp :default.cfg (push) Has been cancelled
utest_auto_run / A9 :default.cfg (push) Has been cancelled
utest_auto_run / A9-smp :default.cfg (push) Has been cancelled
utest_auto_run / RISCV :default.cfg (push) Has been cancelled
utest_auto_run / RISCV-smp :default.cfg (push) Has been cancelled
utest_auto_run / A9 :kernel/atomic_c11.cfg (push) Has been cancelled
utest_auto_run / RISCV :kernel/atomic_c11.cfg (push) Has been cancelled
utest_auto_run / A9 :kernel/ipc.cfg (push) Has been cancelled
utest_auto_run / A9 :kernel/kernel_basic.cfg (push) Has been cancelled
utest_auto_run / A9 :kernel/mem.cfg (push) Has been cancelled
RT-Thread BSP Static Build Check / ${{ matrix.legs.RTT_BSP }} (push) Has been cancelled
RT-Thread BSP Static Build Check / collect-artifacts (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / Infineon/psoc6-pioneerkit_modus (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / airm2m/air105 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / allwinner/d1 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / allwinner/d1s (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / amebaz (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / avr32uc3b0 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / bf533 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / bouffalo_lab/bl61x (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / bouffalo_lab/bl808/d0 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / bouffalo_lab/bl808/lp (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / bouffalo_lab/bl808/m0 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / ck802 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / core-v-mcu/core-v-cv32e40p (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / essemi/es32f0654 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / essemi/es32f365x (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / fm33lc026 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / ft2004 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / hc32l136 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / hk32/hk32f030c8-mini (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / imx/imx6ull-smart (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / imxrt/imxrt1170-nxp-evk/m7 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / juicevm (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / lpc43xx/M0 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / lpc43xx/M4 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / lpc54608-LPCXpresso (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / lpc824 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / m16c62p (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / microblaze (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / mini4020 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / mm32f327x (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / mm32l07x (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / nios_ii (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / nuclei/nuclei_fpga_eval (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / nv32f100x (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / phytium/aarch32 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / pic32ethernet (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / raspberry-pi/raspi2 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / rockchip/rk2108 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / rv32m1_vega/ri5cy (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / rx (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / samd21 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / sep6200 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / synopsys/boards (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / tae32f5300 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / taihu (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / thead-smart (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / ti/c28x/tms320f28379d (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / tkm32F499 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / tms320c6678 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / upd70f3454 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / w60x (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / wch/arm/ch579m (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / wch/risc-v/ch32v103r-evt (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / wch/risc-v/ch569w-evt (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / wh44b0 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / x86 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / xplorer4330/M0 (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / yichip/yc3121-pos (push) Has been cancelled
manual_trigger_scons_fail_bsp_all.yml / yichip/yc3122-pos (push) Has been cancelled
Weekly CI Scheduler / Trigger and Monitor CIs (push) Has been cancelled
Weekly CI Scheduler / Create Discussion Report (push) Has been cancelled
manual_scons_dist_except_STM32_all / CME_M7 (push) Has been cancelled
manual_scons_dist_except_STM32_all / ESP32_C3 (push) Has been cancelled
manual_scons_dist_except_STM32_all / Infineon/psoc6-cy8ckit-062-BLE (push) Has been cancelled
manual_scons_dist_except_STM32_all / Infineon/psoc6-cy8ckit-062-WIFI-BT (push) Has been cancelled
manual_scons_dist_except_STM32_all / Infineon/psoc6-cy8ckit-062S2-43012 (push) Has been cancelled
manual_scons_dist_except_STM32_all / Infineon/psoc6-cy8ckit-062s4 (push) Has been cancelled
manual_scons_dist_except_STM32_all / Infineon/psoc6-cy8cproto-062S3-4343W (push) Has been cancelled
manual_scons_dist_except_STM32_all / Infineon/psoc6-evaluationkit-062S2 (push) Has been cancelled
manual_scons_dist_except_STM32_all / Vango/v85xx (push) Has been cancelled
manual_scons_dist_except_STM32_all / Vango/v85xxp (push) Has been cancelled
manual_scons_dist_except_STM32_all / acm32/acm32f0x0-nucleo (push) Has been cancelled
manual_scons_dist_except_STM32_all / acm32/acm32f4xx-nucleo (push) Has been cancelled
manual_scons_dist_except_STM32_all / airm2m/air32f103 (push) Has been cancelled
manual_scons_dist_except_STM32_all / allwinner_tina (push) Has been cancelled
manual_scons_dist_except_STM32_all / apm32/apm32e103ze-evalboard (push) Has been cancelled
manual_scons_dist_except_STM32_all / apm32/apm32e103ze-tinyboard (push) Has been cancelled
manual_scons_dist_except_STM32_all / apm32/apm32f030r8-miniboard (push) Has been cancelled
manual_scons_dist_except_STM32_all / apm32/apm32f051r8-evalboard (push) Has been cancelled
manual_scons_dist_except_STM32_all / apm32/apm32f072vb-miniboard (push) Has been cancelled
manual_scons_dist_except_STM32_all / apm32/apm32f091vc-miniboard (push) Has been cancelled
manual_scons_dist_except_STM32_all / apm32/apm32f103vb-miniboard (push) Has been cancelled
manual_scons_dist_except_STM32_all / apm32/apm32f103xe-minibroard (push) Has been cancelled
manual_scons_dist_except_STM32_all / apm32/apm32f107vc-evalboard (push) Has been cancelled
manual_scons_dist_except_STM32_all / apm32/apm32f407ig-minibroard (push) Has been cancelled
manual_scons_dist_except_STM32_all / apm32/apm32f407zg-evalboard (push) Has been cancelled
manual_scons_dist_except_STM32_all / apm32/apm32s103vb-miniboard (push) Has been cancelled
manual_scons_dist_except_STM32_all / apollo2 (push) Has been cancelled
manual_scons_dist_except_STM32_all / asm9260t (push) Has been cancelled
manual_scons_dist_except_STM32_all / at32/at32f403a-start (push) Has been cancelled
manual_scons_dist_except_STM32_all / at32/at32f407-start (push) Has been cancelled
manual_scons_dist_except_STM32_all / at32/at32f413-start (push) Has been cancelled
manual_scons_dist_except_STM32_all / at32/at32f415-start (push) Has been cancelled
manual_scons_dist_except_STM32_all / at32/at32f421-start (push) Has been cancelled
manual_scons_dist_except_STM32_all / at32/at32f423-start (push) Has been cancelled
manual_scons_dist_except_STM32_all / at32/at32f425-start (push) Has been cancelled
manual_scons_dist_except_STM32_all / at32/at32f435-start (push) Has been cancelled
manual_scons_dist_except_STM32_all / at32/at32f437-start (push) Has been cancelled
manual_scons_dist_except_STM32_all / at91/at91sam9260 (push) Has been cancelled
manual_scons_dist_except_STM32_all / at91/at91sam9g45 (push) Has been cancelled
manual_scons_dist_except_STM32_all / beaglebone (push) Has been cancelled
manual_scons_dist_except_STM32_all / bluetrum/ab32vg1-ab-prougen (push) Has been cancelled
manual_scons_dist_except_STM32_all / bm3803 (push) Has been cancelled
manual_scons_dist_except_STM32_all / bouffalo_lab/bl60x (push) Has been cancelled
manual_scons_dist_except_STM32_all / bouffalo_lab/bl70x (push) Has been cancelled
manual_scons_dist_except_STM32_all / dm365 (push) Has been cancelled
manual_scons_dist_except_STM32_all / efm32 (push) Has been cancelled
manual_scons_dist_except_STM32_all / essemi/es32f0654 (push) Has been cancelled
manual_scons_dist_except_STM32_all / essemi/es32f365x (push) Has been cancelled
manual_scons_dist_except_STM32_all / essemi/es32f369x (push) Has been cancelled
manual_scons_dist_except_STM32_all / essemi/es32vf2264 (push) Has been cancelled
manual_scons_dist_except_STM32_all / fm33lc026 (push) Has been cancelled
manual_scons_dist_except_STM32_all / frdm-k64f (push) Has been cancelled
manual_scons_dist_except_STM32_all / ft32/ft32f072xb-starter (push) Has been cancelled
manual_scons_dist_except_STM32_all / fujitsu/mb9x/mb9bf500r (push) Has been cancelled
manual_scons_dist_except_STM32_all / fujitsu/mb9x/mb9bf506r (push) Has been cancelled
manual_scons_dist_except_STM32_all / fujitsu/mb9x/mb9bf568r (push) Has been cancelled
manual_scons_dist_except_STM32_all / fujitsu/mb9x/mb9bf618s (push) Has been cancelled
manual_scons_dist_except_STM32_all / gd32/arm/gd32103c-eval (push) Has been cancelled
manual_scons_dist_except_STM32_all / gd32/arm/gd32105c-eval (push) Has been cancelled
manual_scons_dist_except_STM32_all / gd32/arm/gd32105r-start (push) Has been cancelled
manual_scons_dist_except_STM32_all / gd32/arm/gd32107c-eval (push) Has been cancelled
manual_scons_dist_except_STM32_all / gd32/arm/gd32205r-start (push) Has been cancelled
manual_scons_dist_except_STM32_all / gd32/arm/gd32207i-eval (push) Has been cancelled
manual_scons_dist_except_STM32_all / gd32/arm/gd32303c-start (push) Has been cancelled
manual_scons_dist_except_STM32_all / gd32/arm/gd32303e-eval (push) Has been cancelled
manual_scons_dist_except_STM32_all / gd32/arm/gd32305r-start (push) Has been cancelled
manual_scons_dist_except_STM32_all / gd32/arm/gd32307e-start (push) Has been cancelled
manual_scons_dist_except_STM32_all / gd32/arm/gd32407v-start (push) Has been cancelled
manual_scons_dist_except_STM32_all / gd32/arm/gd32450z-eval (push) Has been cancelled
manual_scons_dist_except_STM32_all / gd32/arm/gd32470z-lckfb (push) Has been cancelled
manual_scons_dist_except_STM32_all / gd32/risc-v/gd32vf103r-start (push) Has been cancelled
manual_scons_dist_except_STM32_all / gd32/risc-v/gd32vf103v-eval (push) Has been cancelled
manual_scons_dist_except_STM32_all / hc32/ev_hc32f460_lqfp100_v2 (push) Has been cancelled
manual_scons_dist_except_STM32_all / hc32/ev_hc32f4a0_lqfp176 (push) Has been cancelled
manual_scons_dist_except_STM32_all / hc32l136 (push) Has been cancelled
manual_scons_dist_except_STM32_all / hc32l196 (push) Has been cancelled
manual_scons_dist_except_STM32_all / hifive1 (push) Has been cancelled
manual_scons_dist_except_STM32_all / hpmicro/hpm6750evk (push) Has been cancelled
manual_scons_dist_except_STM32_all / hpmicro/hpm6750evkmini (push) Has been cancelled
manual_scons_dist_except_STM32_all / ht32/ht32f12366 (push) Has been cancelled
manual_scons_dist_except_STM32_all / ht32/ht32f52352 (push) Has been cancelled
manual_scons_dist_except_STM32_all / imx6sx/cortex-a9 (push) Has been cancelled
manual_scons_dist_except_STM32_all / imx6ul (push) Has been cancelled
manual_scons_dist_except_STM32_all / imxrt/imxrt1021-nxp-evk (push) Has been cancelled
manual_scons_dist_except_STM32_all / imxrt/imxrt1052-atk-commander (push) Has been cancelled
manual_scons_dist_except_STM32_all / imxrt/imxrt1052-fire-pro (push) Has been cancelled
manual_scons_dist_except_STM32_all / imxrt/imxrt1052-nxp-evk (push) Has been cancelled
manual_scons_dist_except_STM32_all / imxrt/imxrt1052-seeed-ArchMix (push) Has been cancelled
manual_scons_dist_except_STM32_all / imxrt/imxrt1060-nxp-evk (push) Has been cancelled
manual_scons_dist_except_STM32_all / imxrt/imxrt1061-forlinx-OK1061-S (push) Has been cancelled
manual_scons_dist_except_STM32_all / imxrt/imxrt1064-nxp-evk (push) Has been cancelled
manual_scons_dist_except_STM32_all / imxrt/imxrt1170-nxp-evk/m7 (push) Has been cancelled
manual_scons_dist_except_STM32_all / k210 (push) Has been cancelled
manual_scons_dist_except_STM32_all / lm3s8962 (push) Has been cancelled
manual_scons_dist_except_STM32_all / lm3s9b9x (push) Has been cancelled
manual_scons_dist_except_STM32_all / lm4f232 (push) Has been cancelled
manual_scons_dist_except_STM32_all / loongson/ls1bdev (push) Has been cancelled
manual_scons_dist_except_STM32_all / loongson/ls1cdev (push) Has been cancelled
manual_scons_dist_except_STM32_all / loongson/ls2kdev (push) Has been cancelled
manual_scons_dist_except_STM32_all / lpc1114 (push) Has been cancelled
manual_scons_dist_except_STM32_all / lpc176x (push) Has been cancelled
manual_scons_dist_except_STM32_all / lpc178x (push) Has been cancelled
manual_scons_dist_except_STM32_all / lpc2148 (push) Has been cancelled
manual_scons_dist_except_STM32_all / lpc2478 (push) Has been cancelled
manual_scons_dist_except_STM32_all / lpc408x (push) Has been cancelled
manual_scons_dist_except_STM32_all / lpc5410x (push) Has been cancelled
manual_scons_dist_except_STM32_all / lpc54114-lite (push) Has been cancelled
manual_scons_dist_except_STM32_all / lpc54608-LPCXpresso (push) Has been cancelled
manual_scons_dist_except_STM32_all / lpc55sxx/lpc55s06_nxp_evk (push) Has been cancelled
manual_scons_dist_except_STM32_all / lpc55sxx/lpc55s16_nxp_evk (push) Has been cancelled
manual_scons_dist_except_STM32_all / lpc55sxx/lpc55s28_nxp_evk (push) Has been cancelled
manual_scons_dist_except_STM32_all / lpc55sxx/lpc55s36_nxp_evk (push) Has been cancelled
manual_scons_dist_except_STM32_all / lpc55sxx/lpc55s69_nxp_evk (push) Has been cancelled
manual_scons_dist_except_STM32_all / lpc824 (push) Has been cancelled
manual_scons_dist_except_STM32_all / maxim/max32660-evsys (push) Has been cancelled
manual_scons_dist_except_STM32_all / mcx/mcxa/frdm-mcxa153 (push) Has been cancelled
manual_scons_dist_except_STM32_all / mcx/mcxa/frdm-mcxn947 (push) Has been cancelled
manual_scons_dist_except_STM32_all / mcx/mcxc/frdm-mcxc444 (push) Has been cancelled
manual_scons_dist_except_STM32_all / mcx/mcxn/frdm-mcxn236 (push) Has been cancelled
manual_scons_dist_except_STM32_all / microchip/samc21 (push) Has been cancelled
manual_scons_dist_except_STM32_all / microchip/same54 (push) Has been cancelled
manual_scons_dist_except_STM32_all / microchip/same70 (push) Has been cancelled
manual_scons_dist_except_STM32_all / microchip/saml10 (push) Has been cancelled
manual_scons_dist_except_STM32_all / mini2440 (push) Has been cancelled
manual_scons_dist_except_STM32_all / mipssim (push) Has been cancelled
manual_scons_dist_except_STM32_all / mm32/mm32f3270-100ask-pitaya (push) Has been cancelled
manual_scons_dist_except_STM32_all / mm32f103x (push) Has been cancelled
manual_scons_dist_except_STM32_all / mm32l07x (push) Has been cancelled
manual_scons_dist_except_STM32_all / mm32l3xx (push) Has been cancelled
manual_scons_dist_except_STM32_all / n32/n32g43xcl-stb (push) Has been cancelled
manual_scons_dist_except_STM32_all / n32/n32g457qel-stb (push) Has been cancelled
manual_scons_dist_except_STM32_all / n32/n32g45xcl-stb (push) Has been cancelled
manual_scons_dist_except_STM32_all / n32/n32g45xml-stb (push) Has been cancelled
manual_scons_dist_except_STM32_all / n32/n32g45xrl-stb (push) Has been cancelled
manual_scons_dist_except_STM32_all / n32/n32g45xvl-stb (push) Has been cancelled
manual_scons_dist_except_STM32_all / n32/n32g4frml-stb (push) Has been cancelled
manual_scons_dist_except_STM32_all / n32/n32l40xcl-stb (push) Has been cancelled
manual_scons_dist_except_STM32_all / n32/n32l436-evb (push) Has been cancelled
manual_scons_dist_except_STM32_all / n32/n32l43xml-stb (push) Has been cancelled
manual_scons_dist_except_STM32_all / n32/n32l43xrl-stb (push) Has been cancelled
manual_scons_dist_except_STM32_all / n32/n32wb45xl-evb (push) Has been cancelled
manual_scons_dist_except_STM32_all / n32g452xx/n32g452xx-mini-system (push) Has been cancelled
manual_scons_dist_except_STM32_all / nrf5x/nrf51822 (push) Has been cancelled
manual_scons_dist_except_STM32_all / nrf5x/nrf52832 (push) Has been cancelled
manual_scons_dist_except_STM32_all / nrf5x/nrf52833 (push) Has been cancelled
manual_scons_dist_except_STM32_all / nrf5x/nrf52840 (push) Has been cancelled
manual_scons_dist_except_STM32_all / nrf5x/nrf5340 (push) Has been cancelled
manual_scons_dist_except_STM32_all / nuclei/gd32vf103_rvstar (push) Has been cancelled
manual_scons_dist_except_STM32_all / nuvoton/ma35-rtp (push) Has been cancelled
manual_scons_dist_except_STM32_all / nuvoton/nk-980iot (push) Has been cancelled
manual_scons_dist_except_STM32_all / nuvoton/nk-n9h30 (push) Has been cancelled
manual_scons_dist_except_STM32_all / nuvoton/nk-rtu980 (push) Has been cancelled
manual_scons_dist_except_STM32_all / nuvoton/numaker-hmi-ma35d1 (push) Has been cancelled
manual_scons_dist_except_STM32_all / nuvoton/numaker-iot-m467 (push) Has been cancelled
manual_scons_dist_except_STM32_all / nuvoton/numaker-iot-m487 (push) Has been cancelled
manual_scons_dist_except_STM32_all / nuvoton/numaker-iot-ma35d1 (push) Has been cancelled
manual_scons_dist_except_STM32_all / nuvoton/numaker-m032ki (push) Has been cancelled
manual_scons_dist_except_STM32_all / nuvoton/numaker-m2354 (push) Has been cancelled
manual_scons_dist_except_STM32_all / nuvoton/numaker-m467hj (push) Has been cancelled
manual_scons_dist_except_STM32_all / nuvoton/numaker-pfm-m487 (push) Has been cancelled
manual_scons_dist_except_STM32_all / phytium/aarch64 (push) Has been cancelled
manual_scons_dist_except_STM32_all / qemu-vexpress-a9 (push) Has been cancelled
manual_scons_dist_except_STM32_all / qemu-virt64-aarch64 (push) Has been cancelled
manual_scons_dist_except_STM32_all / qemu-virt64-riscv (push) Has been cancelled
manual_scons_dist_except_STM32_all / raspberry-pi/raspi3-32 (push) Has been cancelled
manual_scons_dist_except_STM32_all / raspberry-pi/raspi3-64 (push) Has been cancelled
manual_scons_dist_except_STM32_all / raspberry-pi/raspi4-32 (push) Has been cancelled
manual_scons_dist_except_STM32_all / raspberry-pi/raspi4-64 (push) Has been cancelled
manual_scons_dist_except_STM32_all / raspberry-pico (push) Has been cancelled
manual_scons_dist_except_STM32_all / renesas/ebf_qi_min_6m5 (push) Has been cancelled
manual_scons_dist_except_STM32_all / renesas/ra2l1-cpk (push) Has been cancelled
manual_scons_dist_except_STM32_all / renesas/ra4m2-eco (push) Has been cancelled
manual_scons_dist_except_STM32_all / renesas/ra6m3-ek (push) Has been cancelled
manual_scons_dist_except_STM32_all / renesas/ra6m3-hmi-board (push) Has been cancelled
manual_scons_dist_except_STM32_all / renesas/ra6m4-cpk (push) Has been cancelled
manual_scons_dist_except_STM32_all / renesas/ra6m4-iot (push) Has been cancelled
manual_scons_dist_except_STM32_all / renesas/ra8d1-ek (push) Has been cancelled
manual_scons_dist_except_STM32_all / renesas/ra8m1-ek (push) Has been cancelled
manual_scons_dist_except_STM32_all / rm48x50 (push) Has been cancelled
manual_scons_dist_except_STM32_all / rockchip/rk3568 (push) Has been cancelled
manual_scons_dist_except_STM32_all / sam7x (push) Has been cancelled
manual_scons_dist_except_STM32_all / simulator (push) Has been cancelled
manual_scons_dist_except_STM32_all / smartfusion2 (push) Has been cancelled
manual_scons_dist_except_STM32_all / sparkfun-redv (push) Has been cancelled
manual_scons_dist_except_STM32_all / synwit/swm320-mini (push) Has been cancelled
manual_scons_dist_except_STM32_all / synwit/swm341-mini (push) Has been cancelled
manual_scons_dist_except_STM32_all / tm4c123bsp (push) Has been cancelled
manual_scons_dist_except_STM32_all / tm4c129x (push) Has been cancelled
manual_scons_dist_except_STM32_all / w60x (push) Has been cancelled
manual_scons_dist_except_STM32_all / wch/arm/ch32f103c8-core (push) Has been cancelled
manual_scons_dist_except_STM32_all / wch/arm/ch32f203r-evt (push) Has been cancelled
manual_scons_dist_except_STM32_all / wch/risc-v/ch32v208w-r0 (push) Has been cancelled
manual_scons_dist_except_STM32_all / wch/risc-v/ch32v307v-r1 (push) Has been cancelled
manual_scons_dist_except_STM32_all / xplorer4330/M4 (push) Has been cancelled
manual_scons_dist_except_STM32_all / yichip/yc3121-pos (push) Has been cancelled
manual_scons_dist_except_STM32_all / yichip/yc3122-pos (push) Has been cancelled
manual_scons_dist_except_STM32_all / zynqmp-r5-axu4ev (push) Has been cancelled

This commit is contained in:
ShiHongChao
2026-03-02 10:33:27 +08:00
committed by GitHub
parent 566e74af83
commit a10ac694e1
3 changed files with 514 additions and 309 deletions
@@ -24,6 +24,19 @@ if BSP_USING_USBD
# "ULPI: UTMI+ Low Pin Interface"
endif
if BSP_USING_HARD_I2C
choice
prompt "Select I2C Receiving Scheme"
default BSP_USING_RECEIVING_A
config BSP_USING_RECEIVING_A
bool "master receiving secheme A --- requires that the software be capable of responding quickly to the 12C event."
config BSP_USING_RECEIVING_B
bool "master receiving secheme B --- don't requires that the software be capable of responding quickly to the 12C event."
endchoice
endif
config BSP_USING_GD_DBG
bool
default y
@@ -6,6 +6,8 @@
* Change Logs:
* Date Author Notes
* 2021-12-20 BruceOu the first version
* 2026-01-11 ShiHongchao Fix the I2C master receive mode B software
* flow and add support for mode A
*/
#include "drv_hard_i2c.h"
@@ -15,7 +17,7 @@
#define LOG_TAG "drv.i2c"
#include <rtdbg.h>
#if !defined(BSP_USING_HARD_I2C0) && !defined(BSP_USING_HARD_I2C1) && !defined(BSP_USING_HARD_I2C2) && !defined(BSP_USING_HARD_I2C3) && !defined(BSP_USING_HARD_I2C4) && !defined(BSP_USING_HARD_I2C5)
#if !defined(BSP_USING_HARD_I2C0) && !defined(BSP_USING_HARD_I2C1) && !defined(BSP_USING_HARD_I2C2) && !defined(BSP_USING_HARD_I2C3) && !defined(BSP_USING_HARD_I2C4) && !defined(BSP_USING_HARD_I2C5)
#error "Please define at least one BSP_USING_I2Cx"
/* this driver can be disabled at menuconfig → RT-Thread Components → Device Drivers */
#endif
@@ -112,8 +114,8 @@ static const struct gd32_i2c_bus gd_i2c_config[] = {
RCU_I2C0, RCU_GPIOB, RCU_GPIOB, /* periph clock, scl gpio clock, sda gpio clock */
GPIOB, GPIO_AF_4, GPIO_PIN_6, /* scl port, scl alternate, scl pin */
GPIOB, GPIO_AF_4, GPIO_PIN_7, /* sda port, sda alternate, sda pin */
GPIOB, GPIO_AF_4, GPIO_PIN_8, /* scl port, scl alternate, scl pin */
GPIOB, GPIO_AF_4, GPIO_PIN_9, /* sda port, sda alternate, sda pin */
&i2c0,
"hwi2c0",
@@ -229,13 +231,52 @@ static void gd32_i2c_gpio_init(const struct gd32_i2c_bus *i2c)
static uint8_t gd32_i2c_read(rt_uint32_t i2c_periph, rt_uint8_t *p_buffer, rt_uint16_t data_byte)
{
if (data_byte == 0) return 1;
/* while there is data to be read */
#ifdef BSP_USING_RECEIVING_A
/*
In single-byte reception, disable ACK because the master needs to send
NACK after receiving the first byte,indicating no more data will be
received, then immediately send the stop condition
*/
if(data_byte == 1)
{
/* disable acknowledge */
i2c_ack_config(i2c_periph, I2C_ACK_DISABLE);
/* send a stop condition to I2C bus */
i2c_stop_on_bus(i2c_periph);
}
#endif
/* while there is data to be read */
while(data_byte)
{
#if defined (SOC_SERIES_GD32F5xx) || defined (SOC_SERIES_GD32F4xx)
if(IS_I2C_LEGACY(i2c_periph))
{
#ifdef BSP_USING_RECEIVING_A
/*
After receiving the second-to-last byte, ACK should be disabled
and STOP should be set, to ensure that NACK is sent after receiving
the last byte and the stop condition is transmitted
*/
if(2 == data_byte)
{
/* wait until BTC bit is set */
while(!i2c_flag_get(i2c_periph, I2C_FLAG_RBNE));
/* disable acknowledge */
i2c_ack_config(i2c_periph, I2C_ACK_DISABLE);
/* send a stop condition to I2C bus */
i2c_stop_on_bus(i2c_periph);
}
#elif defined(BSP_USING_RECEIVING_B)
/*
For 3-byte reception: Wait for byte transfer completion, then
disable ACK so NACK is automatically sent after receiving the
last byte
For 2-byte reception: Wait for byte transfer completion, then
send stop condition to ensure direct stop after receiving the
last byte instead of sending ACK
*/
if(3 == data_byte)
{
/* wait until BTC bit is set */
@@ -243,14 +284,16 @@ static uint8_t gd32_i2c_read(rt_uint32_t i2c_periph, rt_uint8_t *p_buffer, rt_ui
/* disable acknowledge */
i2c_ack_config(i2c_periph, I2C_ACK_DISABLE);
}
if(2 == data_byte)
else if(2 == data_byte)
{
/* wait until BTC bit is set */
while(!i2c_flag_get(i2c_periph, I2C_FLAG_BTC));
/* send a stop condition to I2C bus */
i2c_stop_on_bus(i2c_periph);
}
#else
#error "Please select the receiving scheme."
#endif
/* wait until RBNE bit is set */
if(i2c_flag_get(i2c_periph, I2C_FLAG_RBNE))
{
@@ -379,11 +422,18 @@ static rt_ssize_t gd32_i2c_master_xfer(struct rt_i2c_bus_device *bus, struct rt_
{
i2c_stop_on_bus(gd32_i2c->i2c_periph);
}
/* enable acknowledge */
/* enable acknowledge */
i2c_ack_config(gd32_i2c->i2c_periph, I2C_ACK_ENABLE);
/* i2c master sends start signal only when the bus is idle */
/* i2c master sends start signal only when the bus is idle */
while(i2c_flag_get(gd32_i2c->i2c_periph, I2C_FLAG_I2CBSY));
/* send the start signal */
#ifdef BSP_USING_RECEIVING_B
/* */
if(msg->len == 2)
{
i2c_ackpos_config(gd32_i2c->i2c_periph, I2C_ACKPOS_NEXT);
}
#endif
/* send the start signal */
i2c_start_on_bus(gd32_i2c->i2c_periph);
/* i2c master sends START signal successfully */
while(!i2c_flag_get(gd32_i2c->i2c_periph, I2C_FLAG_SBSEND));
@@ -391,14 +441,26 @@ static rt_ssize_t gd32_i2c_master_xfer(struct rt_i2c_bus_device *bus, struct rt_
i2c_master_addressing(gd32_i2c->i2c_periph, msg->addr, I2C_RECEIVER);
while(!i2c_flag_get(gd32_i2c->i2c_periph, I2C_FLAG_ADDSEND));
/* address flag set means i2c slave sends ACK */
#ifdef BSP_USING_RECEIVING_B
if(msg->len <= 2)
{
i2c_ack_config(gd32_i2c->i2c_periph, I2C_ACK_DISABLE);
}
#endif
/* address flag set means i2c slave sends ACK */
i2c_flag_clear(gd32_i2c->i2c_periph, I2C_FLAG_ADDSEND);
#ifdef BSP_USING_RECEIVING_B
if(msg->len == 1)
{
i2c_stop_on_bus(gd32_i2c->i2c_periph);
}
#endif
}else {
/* configure slave address */
/* configure slave address */
while(i2c_flag_get(gd32_i2c->i2c_periph, I2C_FLAG_I2CBSY));
//i2c_transfer_byte_number_config(gd32_i2c->i2c_periph, w_total_byte);
/* send a start condition to I2C bus */
//i2c_transfer_byte_number_config(gd32_i2c->i2c_periph, w_total_byte);
/* send a start condition to I2C bus */
i2c_start_on_bus(gd32_i2c->i2c_periph);
while(!i2c_flag_get(gd32_i2c->i2c_periph, I2C_FLAG_SBSEND));
@@ -559,4 +621,3 @@ int rt_hw_i2c_init(void)
INIT_BOARD_EXPORT(rt_hw_i2c_init);
#endif /* RT_USING_I2C */
File diff suppressed because it is too large Load Diff