diff options
| author | sheltonyu <[email protected]> | 2022-05-19 11:07:28 +0800 |
|---|---|---|
| committer | guo <[email protected]> | 2022-05-19 15:00:03 +0800 |
| commit | d466bd054045d9a92fc36069793ac75d242e5583 (patch) | |
| tree | 687989b794428154bbccf166c77d454098c0f0eb /bsp | |
| parent | 53be4393aa49257c53e9854439d1e442daa3edce (diff) | |
[bsp/at32] 1、调整文件结构,合并各系列独立的rt-drivers,以便维护。 2、更新各系列library和工程相关内容
Diffstat (limited to 'bsp')
| -rw-r--r-- | bsp/at32/at32f403a-start/.config | 14 | ||||
| -rw-r--r-- | bsp/at32/at32f403a-start/SConstruct | 5 | ||||
| -rw-r--r-- | bsp/at32/at32f403a-start/applications/main.c | 4 | ||||
| -rw-r--r-- | bsp/at32/at32f403a-start/board/SConscript | 6 | ||||
| -rw-r--r-- | bsp/at32/at32f403a-start/project.ewp | 136 | ||||
| -rw-r--r-- | bsp/at32/at32f403a-start/project.uvproj | 162 | ||||
| -rw-r--r-- | bsp/at32/at32f403a-start/project.uvprojx | 140 | ||||
| -rw-r--r-- | bsp/at32/at32f403a-start/rtconfig.h | 2 | ||||
| -rw-r--r-- | bsp/at32/at32f407-start/.config | 19 | ||||
| -rw-r--r-- | bsp/at32/at32f407-start/SConstruct | 5 | ||||
| -rw-r--r-- | bsp/at32/at32f407-start/applications/main.c | 4 | ||||
| -rw-r--r-- | bsp/at32/at32f407-start/board/SConscript | 6 | ||||
| -rw-r--r-- | bsp/at32/at32f407-start/project.ewp | 154 | ||||
| -rw-r--r-- | bsp/at32/at32f407-start/project.uvproj | 166 | ||||
| -rw-r--r-- | bsp/at32/at32f407-start/project.uvprojx | 186 | ||||
| -rw-r--r-- | bsp/at32/at32f407-start/rtconfig.h | 2 | ||||
| -rw-r--r-- | bsp/at32/at32f413-start/.config | 2 | ||||
| -rw-r--r-- | bsp/at32/at32f413-start/SConstruct | 5 | ||||
| -rw-r--r-- | bsp/at32/at32f413-start/applications/main.c | 4 | ||||
| -rw-r--r-- | bsp/at32/at32f413-start/board/SConscript | 6 | ||||
| -rw-r--r-- | bsp/at32/at32f413-start/project.ewp | 132 | ||||
| -rw-r--r-- | bsp/at32/at32f413-start/project.uvproj | 158 | ||||
| -rw-r--r-- | bsp/at32/at32f413-start/project.uvprojx | 134 | ||||
| -rw-r--r-- | bsp/at32/at32f415-start/.config | 10 | ||||
| -rw-r--r-- | bsp/at32/at32f415-start/SConstruct | 5 | ||||
| -rw-r--r-- | bsp/at32/at32f415-start/applications/main.c | 4 | ||||
| -rw-r--r-- | bsp/at32/at32f415-start/board/SConscript | 6 | ||||
| -rw-r--r-- | bsp/at32/at32f415-start/project.ewp | 122 | ||||
| -rw-r--r-- | bsp/at32/at32f415-start/project.uvoptx | 826 | ||||
| -rw-r--r-- | bsp/at32/at32f415-start/project.uvproj | 162 | ||||
| -rw-r--r-- | bsp/at32/at32f415-start/project.uvprojx | 370 | ||||
| -rw-r--r-- | bsp/at32/at32f435-start/.config | 9 | ||||
| -rw-r--r-- | bsp/at32/at32f435-start/SConstruct | 5 | ||||
| -rw-r--r-- | bsp/at32/at32f435-start/applications/main.c | 4 | ||||
| -rw-r--r-- | bsp/at32/at32f435-start/board/SConscript | 6 | ||||
| -rw-r--r-- | bsp/at32/at32f435-start/project.ewp | 160 | ||||
| -rw-r--r-- | bsp/at32/at32f435-start/project.uvproj | 122 | ||||
| -rw-r--r-- | bsp/at32/at32f435-start/project.uvprojx | 134 | ||||
| -rw-r--r-- | bsp/at32/at32f435-start/rtconfig.h | 5 | ||||
| -rw-r--r-- | bsp/at32/at32f437-start/.config | 24 | ||||
| -rw-r--r-- | bsp/at32/at32f437-start/SConstruct | 5 | ||||
| -rw-r--r-- | bsp/at32/at32f437-start/applications/main.c | 4 | ||||
| -rw-r--r-- | bsp/at32/at32f437-start/board/SConscript | 6 | ||||
| -rw-r--r-- | bsp/at32/at32f437-start/project.ewp | 156 | ||||
| -rw-r--r-- | bsp/at32/at32f437-start/project.uvproj | 160 | ||||
| -rw-r--r-- | bsp/at32/at32f437-start/project.uvprojx | 128 | ||||
| -rw-r--r-- | bsp/at32/at32f437-start/rtconfig.h | 5 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/SConscript (renamed from bsp/at32/libraries/f403a_407/firmware/SConscript) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/arm_common_tables.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/arm_common_tables.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/arm_const_structs.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/arm_const_structs.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/arm_helium_utils.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/arm_helium_utils.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/arm_math.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/arm_math.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/arm_mve_tables.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/arm_mve_tables.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/arm_vec_math.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/arm_vec_math.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_armcc.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_armcc.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_armclang.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang_ltm.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_armclang_ltm.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_compiler.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_compiler.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_gcc.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_gcc.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_iccarm.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_iccarm.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_version.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_version.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/core_cm4.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/core_cm4.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/mpu_armv7.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/mpu_armv7.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/mpu_armv8.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/mpu_armv8.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/pmu_armv8.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/pmu_armv8.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/at32f403a_407.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/at32f403a_407.h) | 6 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/at32f403a_407_conf_template.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/at32f403a_407_conf_template.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxC_FLASH.ld (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxC_FLASH.ld) | 6 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxE_FLASH.ld (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxE_FLASH.ld) | 6 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxG_FLASH.ld (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxG_FLASH.ld) | 6 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F407xC_FLASH.ld (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F407xC_FLASH.ld) | 6 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F407xE_FLASH.ld (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F407xE_FLASH.ld) | 6 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F407xG_FLASH.ld (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F407xG_FLASH.ld) | 6 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/startup_at32f403a_407.s (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/startup_at32f403a_407.s) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F403AxC.icf (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F403AxC.icf) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F403AxE.icf (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F403AxE.icf) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F403AxG.icf (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F403AxG.icf) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F407xC.icf (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F407xC.icf) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F407xE.icf (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F407xE.icf) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F407xG.icf (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F407xG.icf) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/startup_at32f403a_407.s (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/startup_at32f403a_407.s) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/mdk/startup_at32f403a_407.s (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/mdk/startup_at32f403a_407.s) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/system_at32f403a_407.c (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/system_at32f403a_407.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/system_at32f403a_407.h (renamed from bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/system_at32f403a_407.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_acc.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_acc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_adc.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_adc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_bpr.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_bpr.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_can.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_can.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_crc.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_crc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_crm.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_crm.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_dac.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_dac.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_debug.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_debug.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_def.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_def.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_dma.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_dma.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_emac.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_emac.h) | 7 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_exint.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_exint.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_flash.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_flash.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_gpio.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_gpio.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_i2c.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_i2c.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_misc.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_misc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_pwc.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_pwc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_rtc.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_rtc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_sdio.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_sdio.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_spi.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_spi.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_tmr.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_tmr.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_usart.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_usart.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_usb.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_usb.h) | 5 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_wdt.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_wdt.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_wwdt.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_wwdt.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_xmc.h (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_xmc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_acc.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_acc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_adc.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_adc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_bpr.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_bpr.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_can.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_can.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_crc.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_crc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_crm.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_crm.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_dac.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_dac.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_debug.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_debug.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_dma.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_dma.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_emac.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_emac.c) | 39 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_exint.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_exint.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_flash.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_flash.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_gpio.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_gpio.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_i2c.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_i2c.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_misc.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_misc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_pwc.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_pwc.c) | 10 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_rtc.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_rtc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_sdio.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_sdio.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_spi.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_spi.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_tmr.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_tmr.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_usart.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_usart.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_usb.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_usb.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_wdt.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_wdt.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_wwdt.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_wwdt.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_xmc.c (renamed from bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_xmc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/SConscript (renamed from bsp/at32/libraries/f413/firmware/SConscript) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/arm_common_tables.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/arm_common_tables.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/arm_const_structs.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/arm_const_structs.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/arm_helium_utils.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/arm_helium_utils.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/arm_math.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/arm_math.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/arm_mve_tables.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/arm_mve_tables.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/arm_vec_math.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/arm_vec_math.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_armcc.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_armcc.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_armclang.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang_ltm.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_armclang_ltm.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_compiler.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_compiler.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_gcc.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_gcc.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_iccarm.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_iccarm.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_version.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_version.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/core_cm4.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/core_cm4.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/mpu_armv7.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/mpu_armv7.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/mpu_armv8.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/mpu_armv8.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/pmu_armv8.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/pmu_armv8.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/at32f413.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/at32f413.h) | 6 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/at32f413_conf_template.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/at32f413_conf_template.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F413x8_FLASH.ld (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F413x8_FLASH.ld) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F413xB_FLASH.ld (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F413xB_FLASH.ld) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F413xC_FLASH.ld (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F413xC_FLASH.ld) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/gcc/startup_at32f413.s (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/gcc/startup_at32f413.s) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F413x8.icf (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F413x8.icf) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F413xB.icf (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F413xB.icf) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F413xC.icf (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F413xC.icf) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/iar/startup_at32f413.s (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/iar/startup_at32f413.s) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/mdk/startup_at32f413.s (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/mdk/startup_at32f413.s) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/system_at32f413.c (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/system_at32f413.c) | 10 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/system_at32f413.h (renamed from bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/system_at32f413.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_acc.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_acc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_adc.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_adc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_bpr.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_bpr.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_can.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_can.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_crc.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_crc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_crm.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_crm.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_debug.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_debug.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_def.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_def.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_dma.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_dma.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_exint.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_exint.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_flash.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_flash.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_gpio.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_gpio.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_i2c.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_i2c.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_misc.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_misc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_pwc.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_pwc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_rtc.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_rtc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_sdio.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_sdio.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_spi.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_spi.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_tmr.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_tmr.h) | 9 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_usart.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_usart.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_usb.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_usb.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_wdt.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_wdt.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_wwdt.h (renamed from bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_wwdt.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_acc.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_acc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_adc.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_adc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_bpr.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_bpr.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_can.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_can.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_crc.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_crc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_crm.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_crm.c) | 11 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_debug.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_debug.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_dma.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_dma.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_exint.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_exint.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_flash.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_flash.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_gpio.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_gpio.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_i2c.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_i2c.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_misc.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_misc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_pwc.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_pwc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_rtc.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_rtc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_sdio.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_sdio.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_spi.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_spi.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_tmr.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_tmr.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_usart.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_usart.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_usb.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_usb.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_wdt.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_wdt.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_wwdt.c (renamed from bsp/at32/libraries/f413/firmware/drivers/src/at32f413_wwdt.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/SConscript (renamed from bsp/at32/libraries/f415/firmware/SConscript) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/arm_common_tables.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/arm_common_tables.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/arm_const_structs.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/arm_const_structs.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/arm_helium_utils.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/arm_helium_utils.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/arm_math.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/arm_math.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/arm_mve_tables.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/arm_mve_tables.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/arm_vec_math.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/arm_vec_math.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_armcc.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_armcc.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_armclang.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang_ltm.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_armclang_ltm.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_compiler.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_compiler.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_gcc.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_gcc.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_iccarm.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_iccarm.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_version.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_version.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/core_cm4.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/core_cm4.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/mpu_armv7.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/mpu_armv7.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/mpu_armv8.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/mpu_armv8.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/pmu_armv8.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/pmu_armv8.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/at32f415.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/at32f415.h) | 6 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/at32f415_conf_template.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/at32f415_conf_template.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F415x8_FLASH.ld (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F415x8_FLASH.ld) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F415xB_FLASH.ld (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F415xB_FLASH.ld) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F415xC_FLASH.ld (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F415xC_FLASH.ld) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/gcc/startup_at32f415.s (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/gcc/startup_at32f415.s) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F415x8.icf (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F415x8.icf) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F415xB.icf (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F415xB.icf) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F415xC.icf (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F415xC.icf) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/iar/startup_at32f415.s (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/iar/startup_at32f415.s) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/mdk/startup_at32f415.s (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/mdk/startup_at32f415.s) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/system_at32f415.c (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/system_at32f415.c) | 10 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/system_at32f415.h (renamed from bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/system_at32f415.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_adc.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_adc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_can.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_can.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_cmp.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_cmp.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_crc.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_crc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_crm.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_crm.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_debug.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_debug.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_def.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_def.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_dma.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_dma.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_ertc.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_ertc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_exint.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_exint.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_flash.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_flash.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_gpio.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_gpio.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_i2c.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_i2c.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_misc.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_misc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_pwc.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_pwc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_sdio.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_sdio.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_spi.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_spi.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_tmr.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_tmr.h) | 10 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_usart.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_usart.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_usb.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_usb.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_wdt.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_wdt.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_wwdt.h (renamed from bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_wwdt.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_adc.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_adc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_can.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_can.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_cmp.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_cmp.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_crc.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_crc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_crm.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_crm.c) | 11 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_debug.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_debug.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_dma.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_dma.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_ertc.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_ertc.c) | 10 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_exint.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_exint.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_flash.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_flash.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_gpio.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_gpio.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_i2c.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_i2c.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_misc.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_misc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_pwc.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_pwc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_sdio.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_sdio.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_spi.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_spi.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_tmr.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_tmr.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_usart.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_usart.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_usb.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_usb.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_wdt.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_wdt.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_wwdt.c (renamed from bsp/at32/libraries/f415/firmware/drivers/src/at32f415_wwdt.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/SConscript (renamed from bsp/at32/libraries/f435_437/firmware/SConscript) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/arm_common_tables.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/arm_common_tables.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/arm_const_structs.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/arm_const_structs.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/arm_helium_utils.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/arm_helium_utils.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/arm_math.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/arm_math.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/arm_mve_tables.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/arm_mve_tables.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/arm_vec_math.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/arm_vec_math.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_armcc.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_armcc.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_armclang.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang_ltm.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_armclang_ltm.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_compiler.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_compiler.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_gcc.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_gcc.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_iccarm.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_iccarm.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_version.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_version.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/core_cm4.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/core_cm4.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/mpu_armv7.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/mpu_armv7.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/mpu_armv8.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/mpu_armv8.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/pmu_armv8.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/pmu_armv8.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/at32f435_437.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/at32f435_437.h) | 6 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/at32f435_437_conf_template.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/at32f435_437_conf_template.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xC_FLASH.ld (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xC_FLASH.ld) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xG_FLASH.ld (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xG_FLASH.ld) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xM_FLASH.ld (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xM_FLASH.ld) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F437xC_FLASH.ld (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F437xC_FLASH.ld) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F437xG_FLASH.ld (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F437xG_FLASH.ld) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F437xM_FLASH.ld (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F437xM_FLASH.ld) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/startup_at32f435_437.s (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/startup_at32f435_437.s) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F435xC.icf (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F435xC.icf) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F435xG.icf (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F435xG.icf) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F435xM.icf (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F435xM.icf) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F437xC.icf (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F437xC.icf) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F437xG.icf (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F437xG.icf) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F437xM.icf (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F437xM.icf) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/startup_at32f435_437.s (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/startup_at32f435_437.s) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/mdk/startup_at32f435_437.s (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/mdk/startup_at32f435_437.s) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/system_at32f435_437.c (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/system_at32f435_437.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/system_at32f435_437.h (renamed from bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/system_at32f435_437.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_acc.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_acc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_adc.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_adc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_can.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_can.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_crc.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_crc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_crm.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_crm.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_dac.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_dac.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_debug.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_debug.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_def.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_def.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_dma.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_dma.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_dvp.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_dvp.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_edma.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_edma.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_emac.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_emac.h) | 6 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_ertc.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_ertc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_exint.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_exint.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_flash.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_flash.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_gpio.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_gpio.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_i2c.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_i2c.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_misc.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_misc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_pwc.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_pwc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_qspi.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_qspi.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_scfg.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_scfg.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_sdio.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_sdio.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_spi.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_spi.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_tmr.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_tmr.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_usart.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_usart.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_usb.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_usb.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_wdt.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_wdt.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_wwdt.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_wwdt.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_xmc.h (renamed from bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_xmc.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_acc.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_acc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_adc.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_adc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_can.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_can.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_crc.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_crc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_crm.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_crm.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_dac.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_dac.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_debug.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_debug.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_dma.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_dma.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_dvp.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_dvp.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_edma.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_edma.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_emac.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_emac.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_ertc.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_ertc.c) | 10 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_exint.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_exint.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_flash.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_flash.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_gpio.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_gpio.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_i2c.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_i2c.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_misc.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_misc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_pwc.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_pwc.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_qspi.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_qspi.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_scfg.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_scfg.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_sdio.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_sdio.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_spi.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_spi.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_tmr.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_tmr.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_usart.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_usart.c) | 6 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_usb.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_usb.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_wdt.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_wdt.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_wwdt.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_wwdt.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_xmc.c (renamed from bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_xmc.c) | 6 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/.ignore_format.yml | 6 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/SConscript | 14 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/rt_drivers/SConscript | 60 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/rt_drivers/drv_adc.c | 151 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/rt_drivers/drv_adc.h | 54 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/rt_drivers/drv_can.h | 52 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/rt_drivers/drv_common.c | 149 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/rt_drivers/drv_common.h | 36 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/rt_drivers/drv_emac.c | 868 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/rt_drivers/drv_emac.h | 89 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/rt_drivers/drv_flash.c | 210 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/rt_drivers/drv_gpio.c | 557 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/rt_drivers/drv_gpio.h | 53 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/rt_drivers/drv_rtc.c | 146 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/rt_drivers/drv_sdio.c | 823 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/rt_drivers/drv_sdio.h | 203 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/rt_drivers/drv_soft_i2c.c | 219 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/rt_drivers/drv_spi.c | 340 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/rt_drivers/drv_spi.h | 40 | ||||
| -rw-r--r-- | bsp/at32/libraries/f403a_407/rt_drivers/drv_wdt.c | 127 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/SConscript | 14 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/SConscript | 57 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_adc.c | 146 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_adc.h | 46 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_can.c | 850 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_can.h | 52 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_common.h | 36 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_flash.c | 210 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_flash.h | 30 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_gpio.c | 557 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_hwtimer.c | 383 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_hwtimer.h | 80 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_log.h | 27 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_pwm.c | 483 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_pwm.h | 123 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_rtc.c | 146 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_sdio.c | 823 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_sdio.h | 203 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_soft_i2c.c | 218 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_soft_i2c.h | 61 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_spi.c | 331 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_spi.h | 40 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_usart.c | 295 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_usart.h | 21 | ||||
| -rw-r--r-- | bsp/at32/libraries/f413/rt_drivers/drv_wdt.c | 127 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/SConscript | 14 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/SConscript | 57 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_adc.c | 141 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_adc.h | 54 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_can.c | 677 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_common.c | 149 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_common.h | 36 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_flash.c | 210 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_flash.h | 30 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_gpio.c | 557 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_gpio.h | 53 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_hwtimer.c | 375 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_hwtimer.h | 80 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_log.h | 27 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_pwm.c | 464 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_pwm.h | 167 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_sdio.c | 823 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_sdio.h | 203 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_soft_i2c.c | 214 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_soft_i2c.h | 61 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_usart.c | 295 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_usart.h | 21 | ||||
| -rw-r--r-- | bsp/at32/libraries/f415/rt_drivers/drv_wdt.c | 127 | ||||
| -rw-r--r-- | bsp/at32/libraries/f435_437/.ignore_format.yml | 6 | ||||
| -rw-r--r-- | bsp/at32/libraries/f435_437/SConscript | 14 | ||||
| -rw-r--r-- | bsp/at32/libraries/f435_437/rt_drivers/drv_can.c | 868 | ||||
| -rw-r--r-- | bsp/at32/libraries/f435_437/rt_drivers/drv_can.h | 52 | ||||
| -rw-r--r-- | bsp/at32/libraries/f435_437/rt_drivers/drv_common.c | 149 | ||||
| -rw-r--r-- | bsp/at32/libraries/f435_437/rt_drivers/drv_flash.h | 30 | ||||
| -rw-r--r-- | bsp/at32/libraries/f435_437/rt_drivers/drv_gpio.h | 53 | ||||
| -rw-r--r-- | bsp/at32/libraries/f435_437/rt_drivers/drv_hwtimer.c | 431 | ||||
| -rw-r--r-- | bsp/at32/libraries/f435_437/rt_drivers/drv_hwtimer.h | 80 | ||||
| -rw-r--r-- | bsp/at32/libraries/f435_437/rt_drivers/drv_log.h | 27 | ||||
| -rw-r--r-- | bsp/at32/libraries/f435_437/rt_drivers/drv_pwm.c | 541 | ||||
| -rw-r--r-- | bsp/at32/libraries/f435_437/rt_drivers/drv_pwm.h | 167 | ||||
| -rw-r--r-- | bsp/at32/libraries/f435_437/rt_drivers/drv_rtc.c | 175 | ||||
| -rw-r--r-- | bsp/at32/libraries/f435_437/rt_drivers/drv_soft_i2c.h | 61 | ||||
| -rw-r--r-- | bsp/at32/libraries/f435_437/rt_drivers/drv_spi.c | 340 | ||||
| -rw-r--r-- | bsp/at32/libraries/f435_437/rt_drivers/drv_spi.h | 40 | ||||
| -rw-r--r-- | bsp/at32/libraries/f435_437/rt_drivers/drv_usart.c | 347 | ||||
| -rw-r--r-- | bsp/at32/libraries/f435_437/rt_drivers/drv_usart.h | 21 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/SConscript (renamed from bsp/at32/libraries/f435_437/rt_drivers/SConscript) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_adc.c (renamed from bsp/at32/libraries/f435_437/rt_drivers/drv_adc.c) | 21 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_adc.h (renamed from bsp/at32/libraries/f435_437/rt_drivers/drv_adc.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_can.c (renamed from bsp/at32/libraries/f403a_407/rt_drivers/drv_can.c) | 123 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_can.h (renamed from bsp/at32/libraries/f415/rt_drivers/drv_can.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_common.c (renamed from bsp/at32/libraries/f413/rt_drivers/drv_common.c) | 3 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_common.h (renamed from bsp/at32/libraries/f435_437/rt_drivers/drv_common.h) | 3 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_emac.c (renamed from bsp/at32/libraries/f435_437/rt_drivers/drv_emac.c) | 47 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_emac.h (renamed from bsp/at32/libraries/f435_437/rt_drivers/drv_emac.h) | 10 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_flash.c (renamed from bsp/at32/libraries/f435_437/rt_drivers/drv_flash.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_flash.h (renamed from bsp/at32/libraries/f403a_407/rt_drivers/drv_flash.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_gpio.c (renamed from bsp/at32/libraries/f435_437/rt_drivers/drv_gpio.c) | 19 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_gpio.h (renamed from bsp/at32/libraries/f413/rt_drivers/drv_gpio.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_hwtimer.c (renamed from bsp/at32/libraries/f403a_407/rt_drivers/drv_hwtimer.c) | 39 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_hwtimer.h (renamed from bsp/at32/libraries/f403a_407/rt_drivers/drv_hwtimer.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_log.h (renamed from bsp/at32/libraries/f403a_407/rt_drivers/drv_log.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_pwm.c (renamed from bsp/at32/libraries/f403a_407/rt_drivers/drv_pwm.c) | 40 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_pwm.h (renamed from bsp/at32/libraries/f403a_407/rt_drivers/drv_pwm.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_qspi.c (renamed from bsp/at32/libraries/f435_437/rt_drivers/drv_qspi.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_qspi.h (renamed from bsp/at32/libraries/f435_437/rt_drivers/drv_qspi.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_rtc.c (renamed from bsp/at32/libraries/f415/rt_drivers/drv_rtc.c) | 55 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_sdio.c (renamed from bsp/at32/libraries/f435_437/rt_drivers/drv_sdio.c) | 12 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_sdio.h (renamed from bsp/at32/libraries/f435_437/rt_drivers/drv_sdio.h) | 19 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_sdram.c (renamed from bsp/at32/libraries/f435_437/rt_drivers/drv_sdram.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_sdram.h (renamed from bsp/at32/libraries/f435_437/rt_drivers/drv_sdram.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_soft_i2c.c (renamed from bsp/at32/libraries/f435_437/rt_drivers/drv_soft_i2c.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_soft_i2c.h (renamed from bsp/at32/libraries/f403a_407/rt_drivers/drv_soft_i2c.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_spi.c (renamed from bsp/at32/libraries/f415/rt_drivers/drv_spi.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_spi.h (renamed from bsp/at32/libraries/f415/rt_drivers/drv_spi.h) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_usart.c (renamed from bsp/at32/libraries/f403a_407/rt_drivers/drv_usart.c) | 4 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_usart.h (renamed from bsp/at32/libraries/f403a_407/rt_drivers/drv_usart.h) | 0 | ||||
| -rw-r--r-- | bsp/at32/libraries/rt_drivers/drv_wdt.c (renamed from bsp/at32/libraries/f435_437/rt_drivers/drv_wdt.c) | 4 |
497 files changed, 2428 insertions, 20726 deletions
diff --git a/bsp/at32/at32f403a-start/.config b/bsp/at32/at32f403a-start/.config index 98bbea454c..f923b5a583 100644 --- a/bsp/at32/at32f403a-start/.config +++ b/bsp/at32/at32f403a-start/.config @@ -126,6 +126,14 @@ CONFIG_FINSH_ARG_MAX=10 # Device virtual file system # # CONFIG_RT_USING_DFS is not set +# CONFIG_RT_DFS_ELM_USE_LFN_0 is not set +# CONFIG_RT_DFS_ELM_USE_LFN_1 is not set +# CONFIG_RT_DFS_ELM_USE_LFN_2 is not set +# CONFIG_RT_DFS_ELM_USE_LFN_3 is not set +# CONFIG_RT_DFS_ELM_LFN_UNICODE_0 is not set +# CONFIG_RT_DFS_ELM_LFN_UNICODE_1 is not set +# CONFIG_RT_DFS_ELM_LFN_UNICODE_2 is not set +# CONFIG_RT_DFS_ELM_LFN_UNICODE_3 is not set # # Device Drivers @@ -416,10 +424,12 @@ CONFIG_BSP_USING_SERIAL=y CONFIG_BSP_USING_GPIO=y # CONFIG_BSP_USING_ON_CHIP_FLASH is not set # CONFIG_BSP_USING_RTC is not set +# CONFIG_BSP_RTC_USING_LEXT is not set +# CONFIG_BSP_RTC_USING_LICK is not set CONFIG_BSP_USING_UART=y CONFIG_BSP_USING_UART1=y -CONFIG_BSP_USING_UART2=y -CONFIG_BSP_USING_UART3=y +# CONFIG_BSP_USING_UART2 is not set +# CONFIG_BSP_USING_UART3 is not set # CONFIG_BSP_USING_PWM is not set # CONFIG_BSP_USING_HWTIMER is not set # CONFIG_BSP_USING_SPI is not set diff --git a/bsp/at32/at32f403a-start/SConstruct b/bsp/at32/at32f403a-start/SConstruct index fc83bac5bb..2e8fe7dc96 100644 --- a/bsp/at32/at32f403a-start/SConstruct +++ b/bsp/at32/at32f403a-start/SConstruct @@ -46,11 +46,14 @@ Export('SDK_LIB') # prepare building environment objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) -at32_library = 'f403a_407' +at32_library = 'AT32F403A_407_Firmware_Library' rtconfig.BSP_LIBRARY_TYPE = at32_library # include libraries objs.extend(SConscript(os.path.join(libraries_path_prefix, at32_library, 'SConscript'))) +# include drivers +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'rt_drivers', 'SConscript'))) + # make a building DoBuilding(TARGET, objs) diff --git a/bsp/at32/at32f403a-start/applications/main.c b/bsp/at32/at32f403a-start/applications/main.c index e7610d47e4..75d464a465 100644 --- a/bsp/at32/at32f403a-start/applications/main.c +++ b/bsp/at32/at32f403a-start/applications/main.c @@ -5,12 +5,12 @@ * * Change Logs: * Date Author Notes - * 2022-03-08 shelton first version + * 2022-05-16 shelton first version */ #include <rtthread.h> #include <rtdevice.h> -#include "board.h" +#include "drv_common.h" #include "drv_gpio.h" /* defined the led2 pin: pd13 */ diff --git a/bsp/at32/at32f403a-start/board/SConscript b/bsp/at32/at32f403a-start/board/SConscript index dae1c31ce9..a5970038c8 100644 --- a/bsp/at32/at32f403a-start/board/SConscript +++ b/bsp/at32/at32f403a-start/board/SConscript @@ -18,11 +18,11 @@ path += [cwd + '/inc'] startup_path_prefix = SDK_LIB if rtconfig.PLATFORM == 'gcc': - src += [startup_path_prefix + '/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/startup_at32f403a_407.s'] + src += [startup_path_prefix + '/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/startup_at32f403a_407.s'] elif rtconfig.PLATFORM in ['armcc', 'armclang']: - src += [startup_path_prefix + '/f403a_407/firmware/cmsis/cm4/device_support/startup/mdk/startup_at32f403a_407.s'] + src += [startup_path_prefix + '/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/mdk/startup_at32f403a_407.s'] elif rtconfig.CROSS_TOOL == 'iar': - src += [startup_path_prefix + '/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/startup_at32f403a_407.s'] + src += [startup_path_prefix + '/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/startup_at32f403a_407.s'] CPPDEFINES = ['AT32F403AVGT7'] group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES) diff --git a/bsp/at32/at32f403a-start/project.ewp b/bsp/at32/at32f403a-start/project.ewp index dfcd218882..80ffcf2b31 100644 --- a/bsp/at32/at32f403a-start/project.ewp +++ b/bsp/at32/at32f403a-start/project.ewp @@ -348,23 +348,23 @@ <option>
<name>CCIncludePath2</name>
<state />
- <state>$PROJ_DIR$\..\libraries\f403a_407\firmware\cmsis\cm4\core_support</state>
+ <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
<state>$PROJ_DIR$\..\..\..\components\finsh</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
<state>$PROJ_DIR$\board\inc</state>
<state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
- <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\core_support</state>
+ <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
<state>$PROJ_DIR$\.</state>
- <state>$PROJ_DIR$\..\libraries\f403a_407\rt_drivers</state>
<state>$PROJ_DIR$\applications</state>
- <state>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\inc</state>
<state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common</state>
- <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
- <state>$PROJ_DIR$\..\libraries\f403a_407\firmware\cmsis\cm4\device_support</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\inc</state>
<state>$PROJ_DIR$\..\..\..\include</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support</state>
<state>$PROJ_DIR$\board</state>
</option>
<option>
@@ -1388,23 +1388,23 @@ <option>
<name>CCIncludePath2</name>
<state />
- <state>$PROJ_DIR$\..\libraries\f403a_407\firmware\cmsis\cm4\core_support</state>
+ <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
<state>$PROJ_DIR$\..\..\..\components\finsh</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
<state>$PROJ_DIR$\board\inc</state>
<state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
- <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\core_support</state>
+ <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
<state>$PROJ_DIR$\.</state>
- <state>$PROJ_DIR$\..\libraries\f403a_407\rt_drivers</state>
<state>$PROJ_DIR$\applications</state>
- <state>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\inc</state>
<state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common</state>
- <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
- <state>$PROJ_DIR$\..\libraries\f403a_407\firmware\cmsis\cm4\device_support</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\inc</state>
<state>$PROJ_DIR$\..\..\..\include</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support</state>
<state>$PROJ_DIR$\board</state>
</option>
<option>
@@ -2095,16 +2095,13 @@ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\stdlib.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscalls.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscalls.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_read.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c</name>
@@ -2113,25 +2110,28 @@ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_read.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c</name>
</file>
</group>
<group>
<name>CPU</name>
<file>
- <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c</name>
+ <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\div0.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\libcpu\arm\common\backtrace.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\div0.c</name>
+ <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\context_iar.S</name>
@@ -2143,10 +2143,13 @@ <group>
<name>DeviceDrivers</name>
<file>
- <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\pipe.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\ringbuffer.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\pipe.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\drivers\ipc\waitqueue.c</name>
@@ -2158,10 +2161,7 @@ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\ringbuffer.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\drivers\misc\pin.c</name>
@@ -2173,22 +2173,22 @@ <group>
<name>Drivers</name>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\cmsis\cm4\device_support\startup\iar\startup_at32f403a_407.s</name>
- </file>
- <file>
<name>$PROJ_DIR$\board\src\at32_msp.c</name>
</file>
<file>
<name>$PROJ_DIR$\board\src\board.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\rt_drivers\drv_gpio.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f403a_407.s</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_gpio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\rt_drivers\drv_usart.c</name>
+ <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_usart.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\rt_drivers\drv_common.c</name>
+ <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
</file>
</group>
<group>
@@ -2206,7 +2206,7 @@ <group>
<name>Kernel</name>
<file>
- <name>$PROJ_DIR$\..\..\..\src\thread.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\device.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\src\mempool.c</name>
@@ -2218,6 +2218,9 @@ <name>$PROJ_DIR$\..\..\..\src\mem.c</name>
</file>
<file>
+ <name>$PROJ_DIR$\..\..\..\src\scheduler.c</name>
+ </file>
+ <file>
<name>$PROJ_DIR$\..\..\..\src\irq.c</name>
</file>
<file>
@@ -2227,7 +2230,7 @@ <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\object.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\thread.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\src\memheap.c</name>
@@ -2236,97 +2239,94 @@ <name>$PROJ_DIR$\..\..\..\src\clock.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\scheduler.c</name>
- </file>
- <file>
<name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\object.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\device.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
</file>
</group>
<group>
<name>Libraries</name>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_exint.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_exint.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_emac.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_emac.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_rtc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_rtc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_spi.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_spi.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_dac.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dac.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_bpr.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_bpr.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_gpio.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_gpio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_sdio.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_sdio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_wdt.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wdt.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_usart.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usart.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\cmsis\cm4\device_support\system_at32f403a_407.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\system_at32f403a_407.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_flash.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_flash.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_dma.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dma.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_pwc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_pwc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_acc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_acc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_can.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_can.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_crm.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crm.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_crc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_wwdt.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wwdt.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_debug.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_debug.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_usb.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usb.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_adc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_adc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_i2c.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_i2c.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_misc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_misc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_tmr.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_tmr.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_xmc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_xmc.c</name>
</file>
</group>
<group>
diff --git a/bsp/at32/at32f403a-start/project.uvproj b/bsp/at32/at32f403a-start/project.uvproj index 23d964c938..4caf8bef0c 100644 --- a/bsp/at32/at32f403a-start/project.uvproj +++ b/bsp/at32/at32f403a-start/project.uvproj @@ -359,7 +359,7 @@ <MiscControls /> <Define>USE_STDPERIPH_DRIVER, __RTTHREAD__, AT32F403AVGT7, RT_USING_ARM_LIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define> <Undefine /> - <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\f403a_407\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\f403a_407\firmware\cmsis\cm4\device_support;..\libraries\f403a_407\firmware\cmsis\cm4\core_support;..\libraries\f403a_407\firmware\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> + <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\core_support;..\libraries\AT32F403A_407_Firmware_Library\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> </VariousControls> </Cads> <Aads> @@ -444,6 +444,13 @@ <GroupName>CPU</GroupName> <Files> <File> + <FileName>showmem.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\libcpu\arm\common\showmem.c</FilePath> + </File> + </Files> + <Files> + <File> <FileName>div0.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\libcpu\arm\common\div0.c</FilePath> @@ -458,9 +465,9 @@ </Files> <Files> <File> - <FileName>showmem.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\libcpu\arm\common\showmem.c</FilePath> + <FileName>context_rvds.S</FileName> + <FileType>2</FileType> + <FilePath>..\..\..\libcpu\arm\cortex-m4\context_rvds.S</FilePath> </File> </Files> <Files> @@ -470,13 +477,6 @@ <FilePath>..\..\..\libcpu\arm\cortex-m4\cpuport.c</FilePath> </File> </Files> - <Files> - <File> - <FileName>context_rvds.S</FileName> - <FileType>2</FileType> - <FilePath>..\..\..\libcpu\arm\cortex-m4\context_rvds.S</FilePath> - </File> - </Files> </Group> <Group> <GroupName>DeviceDrivers</GroupName> @@ -489,37 +489,37 @@ </Files> <Files> <File> - <FileName>dataqueue.c</FileName> + <FileName>pipe.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\dataqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\pipe.c</FilePath> </File> </Files> <Files> <File> - <FileName>workqueue.c</FileName> + <FileName>completion.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\workqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> </File> </Files> <Files> <File> - <FileName>ringbuffer.c</FileName> + <FileName>workqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\ringbuffer.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\workqueue.c</FilePath> </File> </Files> <Files> <File> - <FileName>pipe.c</FileName> + <FileName>ringbuffer.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\pipe.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\ringbuffer.c</FilePath> </File> </Files> <Files> <File> - <FileName>completion.c</FileName> + <FileName>dataqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\dataqueue.c</FilePath> </File> </Files> <Files> @@ -548,13 +548,6 @@ <GroupName>Drivers</GroupName> <Files> <File> - <FileName>startup_at32f403a_407.s</FileName> - <FileType>2</FileType> - <FilePath>..\libraries\f403a_407\firmware\cmsis\cm4\device_support\startup\mdk\startup_at32f403a_407.s</FilePath> - </File> - </Files> - <Files> - <File> <FileName>at32_msp.c</FileName> <FileType>1</FileType> <FilePath>board\src\at32_msp.c</FilePath> @@ -569,23 +562,30 @@ </Files> <Files> <File> + <FileName>startup_at32f403a_407.s</FileName> + <FileType>2</FileType> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f403a_407.s</FilePath> + </File> + </Files> + <Files> + <File> <FileName>drv_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\rt_drivers\drv_gpio.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\rt_drivers\drv_usart.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_common.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\rt_drivers\drv_common.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_common.c</FilePath> </File> </Files> </Group> @@ -617,6 +617,20 @@ <GroupName>Kernel</GroupName> <Files> <File> + <FileName>mempool.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\src\mempool.c</FilePath> + </File> + </Files> + <Files> + <File> + <FileName>components.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\src\components.c</FilePath> + </File> + </Files> + <Files> + <File> <FileName>mem.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\src\mem.c</FilePath> @@ -645,9 +659,9 @@ </Files> <Files> <File> - <FileName>timer.c</FileName> + <FileName>thread.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\timer.c</FilePath> + <FilePath>..\..\..\src\thread.c</FilePath> </File> </Files> <Files> @@ -666,16 +680,16 @@ </Files> <Files> <File> - <FileName>kservice.c</FileName> + <FileName>timer.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\kservice.c</FilePath> + <FilePath>..\..\..\src\timer.c</FilePath> </File> </Files> <Files> <File> - <FileName>scheduler.c</FileName> + <FileName>kservice.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\scheduler.c</FilePath> + <FilePath>..\..\..\src\kservice.c</FilePath> </File> </Files> <Files> @@ -687,30 +701,16 @@ </Files> <Files> <File> - <FileName>device.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\src\device.c</FilePath> - </File> - </Files> - <Files> - <File> - <FileName>mempool.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\src\mempool.c</FilePath> - </File> - </Files> - <Files> - <File> - <FileName>thread.c</FileName> + <FileName>scheduler.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\thread.c</FilePath> + <FilePath>..\..\..\src\scheduler.c</FilePath> </File> </Files> <Files> <File> - <FileName>components.c</FileName> + <FileName>device.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\components.c</FilePath> + <FilePath>..\..\..\src\device.c</FilePath> </File> </Files> </Group> @@ -720,182 +720,182 @@ <File> <FileName>at32f403a_407_exint.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_exint.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_exint.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_emac.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_emac.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_emac.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_rtc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_rtc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_rtc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_spi.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_spi.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_spi.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_dac.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_dac.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dac.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_bpr.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_bpr.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_bpr.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_gpio.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_sdio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_sdio.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_sdio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_wdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_wdt.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_usart.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>system_at32f403a_407.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\cmsis\cm4\device_support\system_at32f403a_407.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\system_at32f403a_407.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_flash.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_flash.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_flash.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_dma.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_dma.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dma.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_pwc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_pwc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_pwc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_acc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_acc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_acc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_can.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_can.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_can.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_crm.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_crm.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crm.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_crc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_crc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_wwdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_wwdt.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wwdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_debug.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_debug.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_debug.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_usb.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_usb.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usb.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_adc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_adc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_adc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_i2c.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_i2c.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_i2c.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_misc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_misc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_misc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_tmr.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_tmr.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_tmr.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_xmc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_xmc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_xmc.c</FilePath> </File> </Files> </Group> diff --git a/bsp/at32/at32f403a-start/project.uvprojx b/bsp/at32/at32f403a-start/project.uvprojx index a8a4e37e16..cf99b796c5 100644 --- a/bsp/at32/at32f403a-start/project.uvprojx +++ b/bsp/at32/at32f403a-start/project.uvprojx @@ -335,7 +335,7 @@ <MiscControls /> <Define>USE_STDPERIPH_DRIVER, __RTTHREAD__, AT32F403AVGT7, RT_USING_ARM_LIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define> <Undefine /> - <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\f403a_407\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\f403a_407\firmware\cmsis\cm4\device_support;..\libraries\f403a_407\firmware\cmsis\cm4\core_support;..\libraries\f403a_407\firmware\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> + <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\core_support;..\libraries\AT32F403A_407_Firmware_Library\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> </VariousControls> </Cads> <Aads> @@ -404,16 +404,16 @@ </Files> <Files> <File> - <FileName>stdlib.c</FileName> + <FileName>time.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\libc\compilers\common\stdlib.c</FilePath> + <FilePath>..\..\..\components\libc\compilers\common\time.c</FilePath> </File> </Files> <Files> <File> - <FileName>time.c</FileName> + <FileName>stdlib.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\libc\compilers\common\time.c</FilePath> + <FilePath>..\..\..\components\libc\compilers\common\stdlib.c</FilePath> </File> </Files> </Group> @@ -459,51 +459,51 @@ <GroupName>DeviceDrivers</GroupName> <Files> <File> - <FileName>ringbuffer.c</FileName> + <FileName>waitqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\ringbuffer.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\waitqueue.c</FilePath> </File> </Files> <Files> <File> - <FileName>pipe.c</FileName> + <FileName>ringblk_buf.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\pipe.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\ringblk_buf.c</FilePath> </File> </Files> <Files> <File> - <FileName>completion.c</FileName> + <FileName>dataqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\dataqueue.c</FilePath> </File> </Files> <Files> <File> - <FileName>waitqueue.c</FileName> + <FileName>workqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\waitqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\workqueue.c</FilePath> </File> </Files> <Files> <File> - <FileName>ringblk_buf.c</FileName> + <FileName>ringbuffer.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\ringblk_buf.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\ringbuffer.c</FilePath> </File> </Files> <Files> <File> - <FileName>dataqueue.c</FileName> + <FileName>pipe.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\dataqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\pipe.c</FilePath> </File> </Files> <Files> <File> - <FileName>workqueue.c</FileName> + <FileName>completion.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\workqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> </File> </Files> <Files> @@ -525,13 +525,6 @@ <GroupName>Drivers</GroupName> <Files> <File> - <FileName>startup_at32f403a_407.s</FileName> - <FileType>2</FileType> - <FilePath>..\libraries\f403a_407\firmware\cmsis\cm4\device_support\startup\mdk\startup_at32f403a_407.s</FilePath> - </File> - </Files> - <Files> - <File> <FileName>at32_msp.c</FileName> <FileType>1</FileType> <FilePath>board\src\at32_msp.c</FilePath> @@ -546,23 +539,30 @@ </Files> <Files> <File> + <FileName>startup_at32f403a_407.s</FileName> + <FileType>2</FileType> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f403a_407.s</FilePath> + </File> + </Files> + <Files> + <File> <FileName>drv_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\rt_drivers\drv_gpio.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\rt_drivers\drv_usart.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_common.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\rt_drivers\drv_common.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_common.c</FilePath> </File> </Files> </Group> @@ -594,9 +594,9 @@ <GroupName>Kernel</GroupName> <Files> <File> - <FileName>thread.c</FileName> + <FileName>device.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\thread.c</FilePath> + <FilePath>..\..\..\src\device.c</FilePath> </File> </Files> <Files> @@ -622,6 +622,13 @@ </Files> <Files> <File> + <FileName>scheduler.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\src\scheduler.c</FilePath> + </File> + </Files> + <Files> + <File> <FileName>irq.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\src\irq.c</FilePath> @@ -643,9 +650,9 @@ </Files> <Files> <File> - <FileName>object.c</FileName> + <FileName>thread.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\object.c</FilePath> + <FilePath>..\..\..\src\thread.c</FilePath> </File> </Files> <Files> @@ -664,13 +671,6 @@ </Files> <Files> <File> - <FileName>scheduler.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\src\scheduler.c</FilePath> - </File> - </Files> - <Files> - <File> <FileName>kservice.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\src\kservice.c</FilePath> @@ -678,16 +678,16 @@ </Files> <Files> <File> - <FileName>ipc.c</FileName> + <FileName>object.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\ipc.c</FilePath> + <FilePath>..\..\..\src\object.c</FilePath> </File> </Files> <Files> <File> - <FileName>device.c</FileName> + <FileName>ipc.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\device.c</FilePath> + <FilePath>..\..\..\src\ipc.c</FilePath> </File> </Files> </Group> @@ -697,182 +697,182 @@ <File> <FileName>at32f403a_407_exint.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_exint.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_exint.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_emac.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_emac.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_emac.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_rtc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_rtc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_rtc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_spi.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_spi.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_spi.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_dac.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_dac.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dac.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_bpr.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_bpr.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_bpr.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_gpio.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_sdio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_sdio.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_sdio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_wdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_wdt.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_usart.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>system_at32f403a_407.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\cmsis\cm4\device_support\system_at32f403a_407.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\system_at32f403a_407.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_flash.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_flash.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_flash.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_dma.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_dma.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dma.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_pwc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_pwc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_pwc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_acc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_acc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_acc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_can.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_can.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_can.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_crm.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_crm.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crm.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_crc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_crc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_wwdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_wwdt.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wwdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_debug.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_debug.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_debug.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_usb.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_usb.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usb.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_adc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_adc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_adc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_i2c.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_i2c.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_i2c.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_misc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_misc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_misc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_tmr.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_tmr.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_tmr.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_xmc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_xmc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_xmc.c</FilePath> </File> </Files> </Group> diff --git a/bsp/at32/at32f403a-start/rtconfig.h b/bsp/at32/at32f403a-start/rtconfig.h index 67fa0442da..92dbb53365 100644 --- a/bsp/at32/at32f403a-start/rtconfig.h +++ b/bsp/at32/at32f403a-start/rtconfig.h @@ -174,7 +174,5 @@ #define BSP_USING_GPIO #define BSP_USING_UART #define BSP_USING_UART1 -#define BSP_USING_UART2 -#define BSP_USING_UART3 #endif diff --git a/bsp/at32/at32f407-start/.config b/bsp/at32/at32f407-start/.config index e3571da93a..4f1cd8e2f8 100644 --- a/bsp/at32/at32f407-start/.config +++ b/bsp/at32/at32f407-start/.config @@ -126,14 +126,6 @@ CONFIG_FINSH_ARG_MAX=10 # Device virtual file system # # CONFIG_RT_USING_DFS is not set -# CONFIG_RT_DFS_ELM_USE_LFN_0 is not set -# CONFIG_RT_DFS_ELM_USE_LFN_1 is not set -# CONFIG_RT_DFS_ELM_USE_LFN_2 is not set -# CONFIG_RT_DFS_ELM_USE_LFN_3 is not set -# CONFIG_RT_DFS_ELM_LFN_UNICODE_0 is not set -# CONFIG_RT_DFS_ELM_LFN_UNICODE_1 is not set -# CONFIG_RT_DFS_ELM_LFN_UNICODE_2 is not set -# CONFIG_RT_DFS_ELM_LFN_UNICODE_3 is not set # # Device Drivers @@ -208,9 +200,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 # CONFIG_RT_USING_SAL is not set # CONFIG_RT_USING_NETDEV is not set # CONFIG_RT_USING_LWIP is not set -# CONFIG_RT_USING_LWIP141 is not set -# CONFIG_RT_USING_LWIP203 is not set -# CONFIG_RT_USING_LWIP212 is not set # CONFIG_RT_USING_AT is not set # @@ -427,15 +416,11 @@ CONFIG_BSP_USING_SERIAL=y CONFIG_BSP_USING_GPIO=y # CONFIG_BSP_USING_ON_CHIP_FLASH is not set # CONFIG_BSP_USING_EMAC is not set -# CONFIG_PHY_USING_DM9162 is not set -# CONFIG_PHY_USING_DP83848 is not set # CONFIG_BSP_USING_RTC is not set -# CONFIG_BSP_RTC_USING_LEXT is not set -# CONFIG_BSP_RTC_USING_LICK is not set CONFIG_BSP_USING_UART=y CONFIG_BSP_USING_UART1=y -CONFIG_BSP_USING_UART2=y -CONFIG_BSP_USING_UART3=y +# CONFIG_BSP_USING_UART2 is not set +# CONFIG_BSP_USING_UART3 is not set # CONFIG_BSP_USING_PWM is not set # CONFIG_BSP_USING_HWTIMER is not set # CONFIG_BSP_USING_SPI is not set diff --git a/bsp/at32/at32f407-start/SConstruct b/bsp/at32/at32f407-start/SConstruct index fc83bac5bb..2e8fe7dc96 100644 --- a/bsp/at32/at32f407-start/SConstruct +++ b/bsp/at32/at32f407-start/SConstruct @@ -46,11 +46,14 @@ Export('SDK_LIB') # prepare building environment objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) -at32_library = 'f403a_407' +at32_library = 'AT32F403A_407_Firmware_Library' rtconfig.BSP_LIBRARY_TYPE = at32_library # include libraries objs.extend(SConscript(os.path.join(libraries_path_prefix, at32_library, 'SConscript'))) +# include drivers +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'rt_drivers', 'SConscript'))) + # make a building DoBuilding(TARGET, objs) diff --git a/bsp/at32/at32f407-start/applications/main.c b/bsp/at32/at32f407-start/applications/main.c index e7610d47e4..75d464a465 100644 --- a/bsp/at32/at32f407-start/applications/main.c +++ b/bsp/at32/at32f407-start/applications/main.c @@ -5,12 +5,12 @@ * * Change Logs: * Date Author Notes - * 2022-03-08 shelton first version + * 2022-05-16 shelton first version */ #include <rtthread.h> #include <rtdevice.h> -#include "board.h" +#include "drv_common.h" #include "drv_gpio.h" /* defined the led2 pin: pd13 */ diff --git a/bsp/at32/at32f407-start/board/SConscript b/bsp/at32/at32f407-start/board/SConscript index 509d11d5c9..66967ab0eb 100644 --- a/bsp/at32/at32f407-start/board/SConscript +++ b/bsp/at32/at32f407-start/board/SConscript @@ -18,11 +18,11 @@ path += [cwd + '/inc'] startup_path_prefix = SDK_LIB if rtconfig.PLATFORM == 'gcc': - src += [startup_path_prefix + '/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/startup_at32f403a_407.s'] + src += [startup_path_prefix + '/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/startup_at32f403a_407.s'] elif rtconfig.PLATFORM in ['armcc', 'armclang']: - src += [startup_path_prefix + '/f403a_407/firmware/cmsis/cm4/device_support/startup/mdk/startup_at32f403a_407.s'] + src += [startup_path_prefix + '/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/mdk/startup_at32f403a_407.s'] elif rtconfig.CROSS_TOOL == 'iar': - src += [startup_path_prefix + '/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/startup_at32f403a_407.s'] + src += [startup_path_prefix + '/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/startup_at32f403a_407.s'] CPPDEFINES = ['AT32F407VGT7'] group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES) diff --git a/bsp/at32/at32f407-start/project.ewp b/bsp/at32/at32f407-start/project.ewp index ae0167099d..c32b9b0a2d 100644 --- a/bsp/at32/at32f407-start/project.ewp +++ b/bsp/at32/at32f407-start/project.ewp @@ -348,23 +348,23 @@ <option>
<name>CCIncludePath2</name>
<state />
- <state>$PROJ_DIR$\..\libraries\f403a_407\firmware\cmsis\cm4\core_support</state>
+ <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
<state>$PROJ_DIR$\..\..\..\components\finsh</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
<state>$PROJ_DIR$\board\inc</state>
<state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
- <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\core_support</state>
+ <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
<state>$PROJ_DIR$\.</state>
- <state>$PROJ_DIR$\..\libraries\f403a_407\rt_drivers</state>
<state>$PROJ_DIR$\applications</state>
- <state>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\inc</state>
<state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common</state>
- <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
- <state>$PROJ_DIR$\..\libraries\f403a_407\firmware\cmsis\cm4\device_support</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\inc</state>
<state>$PROJ_DIR$\..\..\..\include</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support</state>
<state>$PROJ_DIR$\board</state>
</option>
<option>
@@ -1388,23 +1388,23 @@ <option>
<name>CCIncludePath2</name>
<state />
- <state>$PROJ_DIR$\..\libraries\f403a_407\firmware\cmsis\cm4\core_support</state>
+ <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
<state>$PROJ_DIR$\..\..\..\components\finsh</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
<state>$PROJ_DIR$\board\inc</state>
<state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
- <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\core_support</state>
+ <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
<state>$PROJ_DIR$\.</state>
- <state>$PROJ_DIR$\..\libraries\f403a_407\rt_drivers</state>
<state>$PROJ_DIR$\applications</state>
- <state>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\inc</state>
<state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common</state>
- <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
- <state>$PROJ_DIR$\..\libraries\f403a_407\firmware\cmsis\cm4\device_support</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\inc</state>
<state>$PROJ_DIR$\..\..\..\include</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support</state>
<state>$PROJ_DIR$\board</state>
</option>
<option>
@@ -2089,51 +2089,51 @@ <group>
<name>Compiler</name>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\time.c</name>
- </file>
- <file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\stdlib.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\time.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscalls.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscalls.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_read.c</name>
</file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c</name>
+ </file>
</group>
<group>
<name>CPU</name>
<file>
- <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\div0.c</name>
- </file>
- <file>
<name>$PROJ_DIR$\..\..\..\libcpu\arm\common\backtrace.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c</name>
</file>
<file>
+ <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\div0.c</name>
+ </file>
+ <file>
<name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\context_iar.S</name>
</file>
<file>
@@ -2143,12 +2143,6 @@ <group>
<name>DeviceDrivers</name>
<file>
- <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\ringblk_buf.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
- </file>
- <file>
<name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
</file>
<file>
@@ -2164,6 +2158,12 @@ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\waitqueue.c</name>
</file>
<file>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\ringblk_buf.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
+ </file>
+ <file>
<name>$PROJ_DIR$\..\..\..\components\drivers\misc\pin.c</name>
</file>
<file>
@@ -2173,22 +2173,22 @@ <group>
<name>Drivers</name>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\cmsis\cm4\device_support\startup\iar\startup_at32f403a_407.s</name>
- </file>
- <file>
<name>$PROJ_DIR$\board\src\at32_msp.c</name>
</file>
<file>
<name>$PROJ_DIR$\board\src\board.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\rt_drivers\drv_gpio.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f403a_407.s</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_gpio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\rt_drivers\drv_usart.c</name>
+ <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_usart.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\rt_drivers\drv_common.c</name>
+ <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
</file>
</group>
<group>
@@ -2206,127 +2206,127 @@ <group>
<name>Kernel</name>
<file>
- <name>$PROJ_DIR$\..\..\..\src\object.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\device.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\mempool.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\memheap.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\components.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\clock.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\mem.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\scheduler.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\object.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\device.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\mempool.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\memheap.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\components.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\clock.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\thread.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\mem.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\thread.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\scheduler.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
</file>
</group>
<group>
<name>Libraries</name>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_exint.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_exint.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_emac.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_emac.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_rtc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_rtc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_spi.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_spi.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_dac.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dac.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_bpr.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_bpr.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_gpio.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_gpio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_sdio.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_sdio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_wdt.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wdt.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_usart.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usart.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\cmsis\cm4\device_support\system_at32f403a_407.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\system_at32f403a_407.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_flash.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_flash.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_dma.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dma.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_pwc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_pwc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_acc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_acc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_can.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_can.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_crm.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crm.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_crc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_wwdt.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wwdt.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_debug.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_debug.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_usb.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usb.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_adc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_adc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_i2c.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_i2c.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_misc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_misc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_tmr.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_tmr.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_xmc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_xmc.c</name>
</file>
</group>
<group>
diff --git a/bsp/at32/at32f407-start/project.uvproj b/bsp/at32/at32f407-start/project.uvproj index bba94d52c9..8f28bb98da 100644 --- a/bsp/at32/at32f407-start/project.uvproj +++ b/bsp/at32/at32f407-start/project.uvproj @@ -359,7 +359,7 @@ <MiscControls /> <Define>USE_STDPERIPH_DRIVER, AT32F407VGT7, __RTTHREAD__, RT_USING_ARM_LIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define> <Undefine /> - <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\f403a_407\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\f403a_407\firmware\cmsis\cm4\device_support;..\libraries\f403a_407\firmware\cmsis\cm4\core_support;..\libraries\f403a_407\firmware\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> + <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\core_support;..\libraries\AT32F403A_407_Firmware_Library\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> </VariousControls> </Cads> <Aads> @@ -444,23 +444,23 @@ <GroupName>CPU</GroupName> <Files> <File> - <FileName>backtrace.c</FileName> + <FileName>showmem.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\libcpu\arm\common\backtrace.c</FilePath> + <FilePath>..\..\..\libcpu\arm\common\showmem.c</FilePath> </File> </Files> <Files> <File> - <FileName>showmem.c</FileName> + <FileName>div0.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\libcpu\arm\common\showmem.c</FilePath> + <FilePath>..\..\..\libcpu\arm\common\div0.c</FilePath> </File> </Files> <Files> <File> - <FileName>div0.c</FileName> + <FileName>backtrace.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\libcpu\arm\common\div0.c</FilePath> + <FilePath>..\..\..\libcpu\arm\common\backtrace.c</FilePath> </File> </Files> <Files> @@ -482,51 +482,51 @@ <GroupName>DeviceDrivers</GroupName> <Files> <File> - <FileName>waitqueue.c</FileName> + <FileName>ringbuffer.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\waitqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\ringbuffer.c</FilePath> </File> </Files> <Files> <File> - <FileName>ringblk_buf.c</FileName> + <FileName>pipe.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\ringblk_buf.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\pipe.c</FilePath> </File> </Files> <Files> <File> - <FileName>dataqueue.c</FileName> + <FileName>completion.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\dataqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> </File> </Files> <Files> <File> - <FileName>workqueue.c</FileName> + <FileName>waitqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\workqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\waitqueue.c</FilePath> </File> </Files> <Files> <File> - <FileName>ringbuffer.c</FileName> + <FileName>ringblk_buf.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\ringbuffer.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\ringblk_buf.c</FilePath> </File> </Files> <Files> <File> - <FileName>pipe.c</FileName> + <FileName>dataqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\pipe.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\dataqueue.c</FilePath> </File> </Files> <Files> <File> - <FileName>completion.c</FileName> + <FileName>workqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\workqueue.c</FilePath> </File> </Files> <Files> @@ -548,13 +548,6 @@ <GroupName>Drivers</GroupName> <Files> <File> - <FileName>startup_at32f403a_407.s</FileName> - <FileType>2</FileType> - <FilePath>..\libraries\f403a_407\firmware\cmsis\cm4\device_support\startup\mdk\startup_at32f403a_407.s</FilePath> - </File> - </Files> - <Files> - <File> <FileName>at32_msp.c</FileName> <FileType>1</FileType> <FilePath>board\src\at32_msp.c</FilePath> @@ -569,23 +562,30 @@ </Files> <Files> <File> + <FileName>startup_at32f403a_407.s</FileName> + <FileType>2</FileType> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f403a_407.s</FilePath> + </File> + </Files> + <Files> + <File> <FileName>drv_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\rt_drivers\drv_gpio.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\rt_drivers\drv_usart.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_common.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\rt_drivers\drv_common.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_common.c</FilePath> </File> </Files> </Group> @@ -617,44 +617,44 @@ <GroupName>Kernel</GroupName> <Files> <File> - <FileName>device.c</FileName> + <FileName>components.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\device.c</FilePath> + <FilePath>..\..\..\src\components.c</FilePath> </File> </Files> <Files> <File> - <FileName>mempool.c</FileName> + <FileName>thread.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\mempool.c</FilePath> + <FilePath>..\..\..\src\thread.c</FilePath> </File> </Files> <Files> <File> - <FileName>components.c</FileName> + <FileName>mem.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\components.c</FilePath> + <FilePath>..\..\..\src\mem.c</FilePath> </File> </Files> <Files> <File> - <FileName>mem.c</FileName> + <FileName>irq.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\mem.c</FilePath> + <FilePath>..\..\..\src\irq.c</FilePath> </File> </Files> <Files> <File> - <FileName>scheduler.c</FileName> + <FileName>idle.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\scheduler.c</FilePath> + <FilePath>..\..\..\src\idle.c</FilePath> </File> </Files> <Files> <File> - <FileName>irq.c</FileName> + <FileName>object.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\irq.c</FilePath> + <FilePath>..\..\..\src\object.c</FilePath> </File> </Files> <Files> @@ -666,51 +666,51 @@ </Files> <Files> <File> - <FileName>idle.c</FileName> + <FileName>memheap.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\idle.c</FilePath> + <FilePath>..\..\..\src\memheap.c</FilePath> </File> </Files> <Files> <File> - <FileName>object.c</FileName> + <FileName>clock.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\object.c</FilePath> + <FilePath>..\..\..\src\clock.c</FilePath> </File> </Files> <Files> <File> - <FileName>thread.c</FileName> + <FileName>kservice.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\thread.c</FilePath> + <FilePath>..\..\..\src\kservice.c</FilePath> </File> </Files> <Files> <File> - <FileName>memheap.c</FileName> + <FileName>scheduler.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\memheap.c</FilePath> + <FilePath>..\..\..\src\scheduler.c</FilePath> </File> </Files> <Files> <File> - <FileName>clock.c</FileName> + <FileName>ipc.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\clock.c</FilePath> + <FilePath>..\..\..\src\ipc.c</FilePath> </File> </Files> <Files> <File> - <FileName>kservice.c</FileName> + <FileName>device.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\kservice.c</FilePath> + <FilePath>..\..\..\src\device.c</FilePath> </File> </Files> <Files> <File> - <FileName>ipc.c</FileName> + <FileName>mempool.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\ipc.c</FilePath> + <FilePath>..\..\..\src\mempool.c</FilePath> </File> </Files> </Group> @@ -720,182 +720,182 @@ <File> <FileName>at32f403a_407_exint.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_exint.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_exint.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_emac.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_emac.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_emac.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_rtc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_rtc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_rtc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_spi.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_spi.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_spi.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_dac.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_dac.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dac.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_bpr.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_bpr.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_bpr.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_gpio.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_sdio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_sdio.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_sdio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_wdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_wdt.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_usart.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>system_at32f403a_407.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\cmsis\cm4\device_support\system_at32f403a_407.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\system_at32f403a_407.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_flash.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_flash.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_flash.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_dma.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_dma.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dma.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_pwc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_pwc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_pwc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_acc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_acc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_acc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_can.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_can.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_can.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_crm.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_crm.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crm.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_crc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_crc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_wwdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_wwdt.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wwdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_debug.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_debug.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_debug.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_usb.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_usb.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usb.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_adc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_adc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_adc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_i2c.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_i2c.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_i2c.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_misc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_misc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_misc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_tmr.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_tmr.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_tmr.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_xmc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_xmc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_xmc.c</FilePath> </File> </Files> </Group> diff --git a/bsp/at32/at32f407-start/project.uvprojx b/bsp/at32/at32f407-start/project.uvprojx index f61dfd5d7b..3cbbca05b9 100644 --- a/bsp/at32/at32f407-start/project.uvprojx +++ b/bsp/at32/at32f407-start/project.uvprojx @@ -335,7 +335,7 @@ <MiscControls /> <Define>USE_STDPERIPH_DRIVER, AT32F407VGT7, __RTTHREAD__, RT_USING_ARM_LIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define> <Undefine /> - <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\f403a_407\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\f403a_407\firmware\cmsis\cm4\device_support;..\libraries\f403a_407\firmware\cmsis\cm4\core_support;..\libraries\f403a_407\firmware\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> + <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\core_support;..\libraries\AT32F403A_407_Firmware_Library\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> </VariousControls> </Cads> <Aads> @@ -390,30 +390,30 @@ <GroupName>Compiler</GroupName> <Files> <File> - <FileName>syscalls.c</FileName> + <FileName>syscall_mem.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\libc\compilers\armlibc\syscalls.c</FilePath> + <FilePath>..\..\..\components\libc\compilers\armlibc\syscall_mem.c</FilePath> </File> </Files> <Files> <File> - <FileName>syscall_mem.c</FileName> + <FileName>syscalls.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\libc\compilers\armlibc\syscall_mem.c</FilePath> + <FilePath>..\..\..\components\libc\compilers\armlibc\syscalls.c</FilePath> </File> </Files> <Files> <File> - <FileName>stdlib.c</FileName> + <FileName>time.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\libc\compilers\common\stdlib.c</FilePath> + <FilePath>..\..\..\components\libc\compilers\common\time.c</FilePath> </File> </Files> <Files> <File> - <FileName>time.c</FileName> + <FileName>stdlib.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\libc\compilers\common\time.c</FilePath> + <FilePath>..\..\..\components\libc\compilers\common\stdlib.c</FilePath> </File> </Files> </Group> @@ -442,16 +442,16 @@ </Files> <Files> <File> - <FileName>context_rvds.S</FileName> - <FileType>2</FileType> - <FilePath>..\..\..\libcpu\arm\cortex-m4\context_rvds.S</FilePath> + <FileName>cpuport.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\libcpu\arm\cortex-m4\cpuport.c</FilePath> </File> </Files> <Files> <File> - <FileName>cpuport.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\libcpu\arm\cortex-m4\cpuport.c</FilePath> + <FileName>context_rvds.S</FileName> + <FileType>2</FileType> + <FilePath>..\..\..\libcpu\arm\cortex-m4\context_rvds.S</FilePath> </File> </Files> </Group> @@ -459,51 +459,51 @@ <GroupName>DeviceDrivers</GroupName> <Files> <File> - <FileName>pipe.c</FileName> + <FileName>waitqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\pipe.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\waitqueue.c</FilePath> </File> </Files> <Files> <File> - <FileName>workqueue.c</FileName> + <FileName>ringblk_buf.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\workqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\ringblk_buf.c</FilePath> </File> </Files> <Files> <File> - <FileName>completion.c</FileName> + <FileName>dataqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\dataqueue.c</FilePath> </File> </Files> <Files> <File> - <FileName>ringblk_buf.c</FileName> + <FileName>workqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\ringblk_buf.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\workqueue.c</FilePath> </File> </Files> <Files> <File> - <FileName>dataqueue.c</FileName> + <FileName>ringbuffer.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\dataqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\ringbuffer.c</FilePath> </File> </Files> <Files> <File> - <FileName>waitqueue.c</FileName> + <FileName>pipe.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\waitqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\pipe.c</FilePath> </File> </Files> <Files> <File> - <FileName>ringbuffer.c</FileName> + <FileName>completion.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\ringbuffer.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> </File> </Files> <Files> @@ -525,13 +525,6 @@ <GroupName>Drivers</GroupName> <Files> <File> - <FileName>startup_at32f403a_407.s</FileName> - <FileType>2</FileType> - <FilePath>..\libraries\f403a_407\firmware\cmsis\cm4\device_support\startup\mdk\startup_at32f403a_407.s</FilePath> - </File> - </Files> - <Files> - <File> <FileName>at32_msp.c</FileName> <FileType>1</FileType> <FilePath>board\src\at32_msp.c</FilePath> @@ -546,23 +539,30 @@ </Files> <Files> <File> + <FileName>startup_at32f403a_407.s</FileName> + <FileType>2</FileType> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f403a_407.s</FilePath> + </File> + </Files> + <Files> + <File> <FileName>drv_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\rt_drivers\drv_gpio.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\rt_drivers\drv_usart.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_common.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\rt_drivers\drv_common.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_common.c</FilePath> </File> </Files> </Group> @@ -594,100 +594,100 @@ <GroupName>Kernel</GroupName> <Files> <File> - <FileName>irq.c</FileName> + <FileName>device.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\irq.c</FilePath> + <FilePath>..\..\..\src\device.c</FilePath> </File> </Files> <Files> <File> - <FileName>idle.c</FileName> + <FileName>mempool.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\idle.c</FilePath> + <FilePath>..\..\..\src\mempool.c</FilePath> </File> </Files> <Files> <File> - <FileName>scheduler.c</FileName> + <FileName>thread.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\scheduler.c</FilePath> + <FilePath>..\..\..\src\thread.c</FilePath> </File> </Files> <Files> <File> - <FileName>mem.c</FileName> + <FileName>components.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\mem.c</FilePath> + <FilePath>..\..\..\src\components.c</FilePath> </File> </Files> <Files> <File> - <FileName>memheap.c</FileName> + <FileName>mem.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\memheap.c</FilePath> + <FilePath>..\..\..\src\mem.c</FilePath> </File> </Files> <Files> <File> - <FileName>clock.c</FileName> + <FileName>irq.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\clock.c</FilePath> + <FilePath>..\..\..\src\irq.c</FilePath> </File> </Files> <Files> <File> - <FileName>thread.c</FileName> + <FileName>idle.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\thread.c</FilePath> + <FilePath>..\..\..\src\idle.c</FilePath> </File> </Files> <Files> <File> - <FileName>kservice.c</FileName> + <FileName>object.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\kservice.c</FilePath> + <FilePath>..\..\..\src\object.c</FilePath> </File> </Files> <Files> <File> - <FileName>object.c</FileName> + <FileName>timer.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\object.c</FilePath> + <FilePath>..\..\..\src\timer.c</FilePath> </File> </Files> <Files> <File> - <FileName>ipc.c</FileName> + <FileName>memheap.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\ipc.c</FilePath> + <FilePath>..\..\..\src\memheap.c</FilePath> </File> </Files> <Files> <File> - <FileName>device.c</FileName> + <FileName>clock.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\device.c</FilePath> + <FilePath>..\..\..\src\clock.c</FilePath> </File> </Files> <Files> <File> - <FileName>components.c</FileName> + <FileName>kservice.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\components.c</FilePath> + <FilePath>..\..\..\src\kservice.c</FilePath> </File> </Files> <Files> <File> - <FileName>timer.c</FileName> + <FileName>scheduler.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\timer.c</FilePath> + <FilePath>..\..\..\src\scheduler.c</FilePath> </File> </Files> <Files> <File> - <FileName>mempool.c</FileName> + <FileName>ipc.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\mempool.c</FilePath> + <FilePath>..\..\..\src\ipc.c</FilePath> </File> </Files> </Group> @@ -697,182 +697,182 @@ <File> <FileName>at32f403a_407_exint.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_exint.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_exint.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_emac.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_emac.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_emac.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_rtc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_rtc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_rtc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_spi.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_spi.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_spi.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_dac.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_dac.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dac.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_bpr.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_bpr.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_bpr.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_gpio.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_sdio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_sdio.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_sdio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_wdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_wdt.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_usart.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>system_at32f403a_407.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\cmsis\cm4\device_support\system_at32f403a_407.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\cmsis\cm4\device_support\system_at32f403a_407.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_flash.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_flash.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_flash.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_dma.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_dma.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_dma.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_pwc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_pwc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_pwc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_acc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_acc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_acc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_can.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_can.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_can.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_crm.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_crm.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crm.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_crc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_crc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_crc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_wwdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_wwdt.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_wwdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_debug.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_debug.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_debug.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_usb.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_usb.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_usb.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_adc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_adc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_adc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_i2c.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_i2c.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_i2c.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_misc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_misc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_misc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_tmr.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_tmr.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_tmr.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f403a_407_xmc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f403a_407\firmware\drivers\src\at32f403a_407_xmc.c</FilePath> + <FilePath>..\libraries\AT32F403A_407_Firmware_Library\drivers\src\at32f403a_407_xmc.c</FilePath> </File> </Files> </Group> diff --git a/bsp/at32/at32f407-start/rtconfig.h b/bsp/at32/at32f407-start/rtconfig.h index 1516b550f1..e11405a1e5 100644 --- a/bsp/at32/at32f407-start/rtconfig.h +++ b/bsp/at32/at32f407-start/rtconfig.h @@ -174,7 +174,5 @@ #define BSP_USING_GPIO #define BSP_USING_UART #define BSP_USING_UART1 -#define BSP_USING_UART2 -#define BSP_USING_UART3 #endif diff --git a/bsp/at32/at32f413-start/.config b/bsp/at32/at32f413-start/.config index b5d599d00b..16f22d7449 100644 --- a/bsp/at32/at32f413-start/.config +++ b/bsp/at32/at32f413-start/.config @@ -416,6 +416,8 @@ CONFIG_BSP_USING_SERIAL=y CONFIG_BSP_USING_GPIO=y # CONFIG_BSP_USING_ON_CHIP_FLASH is not set # CONFIG_BSP_USING_RTC is not set +# CONFIG_BSP_RTC_USING_LEXT is not set +# CONFIG_BSP_RTC_USING_LICK is not set CONFIG_BSP_USING_UART=y CONFIG_BSP_USING_UART1=y # CONFIG_BSP_USING_UART2 is not set diff --git a/bsp/at32/at32f413-start/SConstruct b/bsp/at32/at32f413-start/SConstruct index 6159121dcf..01bab30749 100644 --- a/bsp/at32/at32f413-start/SConstruct +++ b/bsp/at32/at32f413-start/SConstruct @@ -46,11 +46,14 @@ Export('SDK_LIB') # prepare building environment objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) -at32_library = 'f413' +at32_library = 'AT32F413_Firmware_Library' rtconfig.BSP_LIBRARY_TYPE = at32_library # include libraries objs.extend(SConscript(os.path.join(libraries_path_prefix, at32_library, 'SConscript'))) +# include drivers +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'rt_drivers', 'SConscript'))) + # make a building DoBuilding(TARGET, objs) diff --git a/bsp/at32/at32f413-start/applications/main.c b/bsp/at32/at32f413-start/applications/main.c index 0351aae960..b069536169 100644 --- a/bsp/at32/at32f413-start/applications/main.c +++ b/bsp/at32/at32f413-start/applications/main.c @@ -5,12 +5,12 @@ * * Change Logs: * Date Author Notes - * 2022-05-10 shelton first version + * 2022-05-16 shelton first version */ #include <rtthread.h> #include <rtdevice.h> -#include "board.h" +#include "drv_common.h" #include "drv_gpio.h" /* defined the led2 pin: pc2 */ diff --git a/bsp/at32/at32f413-start/board/SConscript b/bsp/at32/at32f413-start/board/SConscript index 5c7cf6a240..51fe4c11aa 100644 --- a/bsp/at32/at32f413-start/board/SConscript +++ b/bsp/at32/at32f413-start/board/SConscript @@ -18,11 +18,11 @@ path += [cwd + '/inc'] startup_path_prefix = SDK_LIB if rtconfig.CROSS_TOOL == 'gcc': - src += [startup_path_prefix + '/f413/firmware/cmsis/cm4/device_support/startup/gcc/startup_at32f413.s'] + src += [startup_path_prefix + '/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/gcc/startup_at32f413.s'] elif rtconfig.CROSS_TOOL == 'keil': - src += [startup_path_prefix + '/f413/firmware/cmsis/cm4/device_support/startup/mdk/startup_at32f413.s'] + src += [startup_path_prefix + '/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/mdk/startup_at32f413.s'] elif rtconfig.CROSS_TOOL == 'iar': - src += [startup_path_prefix + '/f413/firmware/cmsis/cm4/device_support/startup/iar/startup_at32f413.s'] + src += [startup_path_prefix + '/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/iar/startup_at32f413.s'] CPPDEFINES = ['AT32F413RCT7'] group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES) diff --git a/bsp/at32/at32f413-start/project.ewp b/bsp/at32/at32f413-start/project.ewp index 03226e3370..6a72f14740 100644 --- a/bsp/at32/at32f413-start/project.ewp +++ b/bsp/at32/at32f413-start/project.ewp @@ -348,23 +348,23 @@ <option>
<name>CCIncludePath2</name>
<state />
- <state>$PROJ_DIR$\..\libraries\f413\firmware\cmsis\cm4\core_support</state>
<state>$PROJ_DIR$\..\..\..\components\finsh</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
<state>$PROJ_DIR$\board\inc</state>
<state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
<state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
<state>$PROJ_DIR$\.</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\inc</state>
<state>$PROJ_DIR$\applications</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support</state>
<state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
- <state>$PROJ_DIR$\..\libraries\f413\firmware\cmsis\cm4\device_support</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\cmsis\cm4\core_support</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common</state>
<state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
- <state>$PROJ_DIR$\..\libraries\f413\firmware\drivers\inc</state>
<state>$PROJ_DIR$\..\..\..\include</state>
- <state>$PROJ_DIR$\..\libraries\f413\rt_drivers</state>
<state>$PROJ_DIR$\board</state>
</option>
<option>
@@ -1388,23 +1388,23 @@ <option>
<name>CCIncludePath2</name>
<state />
- <state>$PROJ_DIR$\..\libraries\f413\firmware\cmsis\cm4\core_support</state>
<state>$PROJ_DIR$\..\..\..\components\finsh</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
<state>$PROJ_DIR$\board\inc</state>
<state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
<state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
<state>$PROJ_DIR$\.</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\inc</state>
<state>$PROJ_DIR$\applications</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support</state>
<state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
- <state>$PROJ_DIR$\..\libraries\f413\firmware\cmsis\cm4\device_support</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\cmsis\cm4\core_support</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common</state>
<state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
- <state>$PROJ_DIR$\..\libraries\f413\firmware\drivers\inc</state>
<state>$PROJ_DIR$\..\..\..\include</state>
- <state>$PROJ_DIR$\..\libraries\f413\rt_drivers</state>
<state>$PROJ_DIR$\board</state>
</option>
<option>
@@ -2095,6 +2095,12 @@ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\stdlib.c</name>
</file>
<file>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c</name>
+ </file>
+ <file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c</name>
</file>
<file>
@@ -2115,25 +2121,19 @@ <file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c</name>
</file>
- <file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c</name>
- </file>
</group>
<group>
<name>CPU</name>
<file>
- <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c</name>
- </file>
- <file>
<name>$PROJ_DIR$\..\..\..\libcpu\arm\common\div0.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\libcpu\arm\common\backtrace.c</name>
</file>
<file>
+ <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c</name>
+ </file>
+ <file>
<name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\context_iar.S</name>
</file>
<file>
@@ -2143,10 +2143,13 @@ <group>
<name>DeviceDrivers</name>
<file>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\ringblk_buf.c</name>
+ </file>
+ <file>
<name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\waitqueue.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\drivers\ipc\ringbuffer.c</name>
@@ -2155,13 +2158,10 @@ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\pipe.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\waitqueue.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\ringblk_buf.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\drivers\misc\pin.c</name>
@@ -2173,22 +2173,22 @@ <group>
<name>Drivers</name>
<file>
- <name>$PROJ_DIR$\board\src\at32_msp.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f413.s</name>
</file>
<file>
- <name>$PROJ_DIR$\board\src\board.c</name>
+ <name>$PROJ_DIR$\board\src\at32_msp.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\cmsis\cm4\device_support\startup\iar\startup_at32f413.s</name>
+ <name>$PROJ_DIR$\board\src\board.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\rt_drivers\drv_gpio.c</name>
+ <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_gpio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\rt_drivers\drv_usart.c</name>
+ <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_usart.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\rt_drivers\drv_common.c</name>
+ <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
</file>
</group>
<group>
@@ -2206,118 +2206,118 @@ <group>
<name>Kernel</name>
<file>
- <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\components.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\src\timer.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\object.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\thread.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\thread.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\memheap.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\clock.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\object.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\memheap.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\mem.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\device.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\clock.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\src\mempool.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\components.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\mem.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\scheduler.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\scheduler.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\src\device.c</name>
</file>
</group>
<group>
<name>Libraries</name>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_gpio.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_gpio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_wdt.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_wdt.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_usart.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_usart.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_spi.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_spi.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_rtc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_rtc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_wwdt.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_wwdt.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_tmr.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_tmr.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_pwc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_pwc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_acc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_acc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_debug.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_debug.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_adc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_adc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_i2c.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_i2c.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_sdio.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_sdio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_bpr.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_bpr.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_crc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_crc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_dma.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_dma.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_crm.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_crm.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_misc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_misc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_exint.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_exint.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_flash.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_flash.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_usb.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_usb.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\cmsis\cm4\device_support\system_at32f413.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support\system_at32f413.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f413\firmware\drivers\src\at32f413_can.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_can.c</name>
</file>
</group>
<group>
diff --git a/bsp/at32/at32f413-start/project.uvproj b/bsp/at32/at32f413-start/project.uvproj index 726638ea84..9e07f44226 100644 --- a/bsp/at32/at32f413-start/project.uvproj +++ b/bsp/at32/at32f413-start/project.uvproj @@ -359,7 +359,7 @@ <MiscControls /> <Define>AT32F413RCT7, USE_STDPERIPH_DRIVER, __RTTHREAD__, RT_USING_ARM_LIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define> <Undefine /> - <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\f413\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\f413\firmware\cmsis\cm4\device_support;..\libraries\f413\firmware\cmsis\cm4\core_support;..\libraries\f413\firmware\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> + <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32F413_Firmware_Library\cmsis\cm4\core_support;..\libraries\AT32F413_Firmware_Library\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> </VariousControls> </Cads> <Aads> @@ -413,16 +413,16 @@ <GroupName>Compiler</GroupName> <Files> <File> - <FileName>syscalls.c</FileName> + <FileName>syscall_mem.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\libc\compilers\armlibc\syscalls.c</FilePath> + <FilePath>..\..\..\components\libc\compilers\armlibc\syscall_mem.c</FilePath> </File> </Files> <Files> <File> - <FileName>syscall_mem.c</FileName> + <FileName>syscalls.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\libc\compilers\armlibc\syscall_mem.c</FilePath> + <FilePath>..\..\..\components\libc\compilers\armlibc\syscalls.c</FilePath> </File> </Files> <Files> @@ -444,23 +444,23 @@ <GroupName>CPU</GroupName> <Files> <File> - <FileName>backtrace.c</FileName> + <FileName>showmem.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\libcpu\arm\common\backtrace.c</FilePath> + <FilePath>..\..\..\libcpu\arm\common\showmem.c</FilePath> </File> </Files> <Files> <File> - <FileName>showmem.c</FileName> + <FileName>div0.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\libcpu\arm\common\showmem.c</FilePath> + <FilePath>..\..\..\libcpu\arm\common\div0.c</FilePath> </File> </Files> <Files> <File> - <FileName>div0.c</FileName> + <FileName>backtrace.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\libcpu\arm\common\div0.c</FilePath> + <FilePath>..\..\..\libcpu\arm\common\backtrace.c</FilePath> </File> </Files> <Files> @@ -482,51 +482,51 @@ <GroupName>DeviceDrivers</GroupName> <Files> <File> - <FileName>dataqueue.c</FileName> + <FileName>completion.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\dataqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> </File> </Files> <Files> <File> - <FileName>workqueue.c</FileName> + <FileName>waitqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\workqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\waitqueue.c</FilePath> </File> </Files> <Files> <File> - <FileName>ringbuffer.c</FileName> + <FileName>ringblk_buf.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\ringbuffer.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\ringblk_buf.c</FilePath> </File> </Files> <Files> <File> - <FileName>pipe.c</FileName> + <FileName>dataqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\pipe.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\dataqueue.c</FilePath> </File> </Files> <Files> <File> - <FileName>completion.c</FileName> + <FileName>workqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\workqueue.c</FilePath> </File> </Files> <Files> <File> - <FileName>waitqueue.c</FileName> + <FileName>ringbuffer.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\waitqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\ringbuffer.c</FilePath> </File> </Files> <Files> <File> - <FileName>ringblk_buf.c</FileName> + <FileName>pipe.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\ringblk_buf.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\pipe.c</FilePath> </File> </Files> <Files> @@ -548,13 +548,6 @@ <GroupName>Drivers</GroupName> <Files> <File> - <FileName>startup_at32f413.s</FileName> - <FileType>2</FileType> - <FilePath>..\libraries\f413\firmware\cmsis\cm4\device_support\startup\mdk\startup_at32f413.s</FilePath> - </File> - </Files> - <Files> - <File> <FileName>at32_msp.c</FileName> <FileType>1</FileType> <FilePath>board\src\at32_msp.c</FilePath> @@ -569,23 +562,30 @@ </Files> <Files> <File> + <FileName>startup_at32f413.s</FileName> + <FileType>2</FileType> + <FilePath>..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f413.s</FilePath> + </File> + </Files> + <Files> + <File> <FileName>drv_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\rt_drivers\drv_gpio.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\rt_drivers\drv_usart.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_common.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\rt_drivers\drv_common.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_common.c</FilePath> </File> </Files> </Group> @@ -617,6 +617,13 @@ <GroupName>Kernel</GroupName> <Files> <File> + <FileName>kservice.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\src\kservice.c</FilePath> + </File> + </Files> + <Files> + <File> <FileName>irq.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\src\irq.c</FilePath> @@ -631,16 +638,16 @@ </Files> <Files> <File> - <FileName>timer.c</FileName> + <FileName>mem.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\timer.c</FilePath> + <FilePath>..\..\..\src\mem.c</FilePath> </File> </Files> <Files> <File> - <FileName>object.c</FileName> + <FileName>clock.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\object.c</FilePath> + <FilePath>..\..\..\src\clock.c</FilePath> </File> </Files> <Files> @@ -652,30 +659,23 @@ </Files> <Files> <File> - <FileName>memheap.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\src\memheap.c</FilePath> - </File> - </Files> - <Files> - <File> - <FileName>clock.c</FileName> + <FileName>scheduler.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\clock.c</FilePath> + <FilePath>..\..\..\src\scheduler.c</FilePath> </File> </Files> <Files> <File> - <FileName>kservice.c</FileName> + <FileName>ipc.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\kservice.c</FilePath> + <FilePath>..\..\..\src\ipc.c</FilePath> </File> </Files> <Files> <File> - <FileName>ipc.c</FileName> + <FileName>memheap.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\ipc.c</FilePath> + <FilePath>..\..\..\src\memheap.c</FilePath> </File> </Files> <Files> @@ -701,16 +701,16 @@ </Files> <Files> <File> - <FileName>mem.c</FileName> + <FileName>timer.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\mem.c</FilePath> + <FilePath>..\..\..\src\timer.c</FilePath> </File> </Files> <Files> <File> - <FileName>scheduler.c</FileName> + <FileName>object.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\scheduler.c</FilePath> + <FilePath>..\..\..\src\object.c</FilePath> </File> </Files> </Group> @@ -720,161 +720,161 @@ <File> <FileName>at32f413_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_gpio.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_wdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_wdt.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_wdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_usart.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_spi.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_spi.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_spi.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_rtc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_rtc.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_rtc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_wwdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_wwdt.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_wwdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_tmr.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_tmr.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_tmr.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_pwc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_pwc.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_pwc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_acc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_acc.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_acc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_debug.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_debug.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_debug.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_adc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_adc.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_adc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_i2c.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_i2c.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_i2c.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_sdio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_sdio.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_sdio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_bpr.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_bpr.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_bpr.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_crc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_crc.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_crc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_dma.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_dma.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_dma.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_crm.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_crm.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_crm.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_misc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_misc.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_misc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_exint.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_exint.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_exint.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_flash.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_flash.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_flash.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_usb.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_usb.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_usb.c</FilePath> </File> </Files> <Files> <File> <FileName>system_at32f413.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\cmsis\cm4\device_support\system_at32f413.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support\system_at32f413.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_can.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_can.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_can.c</FilePath> </File> </Files> </Group> diff --git a/bsp/at32/at32f413-start/project.uvprojx b/bsp/at32/at32f413-start/project.uvprojx index 7fe558727b..1585677f5b 100644 --- a/bsp/at32/at32f413-start/project.uvprojx +++ b/bsp/at32/at32f413-start/project.uvprojx @@ -335,7 +335,7 @@ <MiscControls /> <Define>AT32F413RCT7, USE_STDPERIPH_DRIVER, __RTTHREAD__, RT_USING_ARM_LIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define> <Undefine /> - <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\f413\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\f413\firmware\cmsis\cm4\device_support;..\libraries\f413\firmware\cmsis\cm4\core_support;..\libraries\f413\firmware\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> + <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32F413_Firmware_Library\cmsis\cm4\core_support;..\libraries\AT32F413_Firmware_Library\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> </VariousControls> </Cads> <Aads> @@ -442,16 +442,16 @@ </Files> <Files> <File> - <FileName>cpuport.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\libcpu\arm\cortex-m4\cpuport.c</FilePath> + <FileName>context_rvds.S</FileName> + <FileType>2</FileType> + <FilePath>..\..\..\libcpu\arm\cortex-m4\context_rvds.S</FilePath> </File> </Files> <Files> <File> - <FileName>context_rvds.S</FileName> - <FileType>2</FileType> - <FilePath>..\..\..\libcpu\arm\cortex-m4\context_rvds.S</FilePath> + <FileName>cpuport.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\libcpu\arm\cortex-m4\cpuport.c</FilePath> </File> </Files> </Group> @@ -459,6 +459,13 @@ <GroupName>DeviceDrivers</GroupName> <Files> <File> + <FileName>pipe.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\components\drivers\ipc\pipe.c</FilePath> + </File> + </Files> + <Files> + <File> <FileName>completion.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> @@ -501,13 +508,6 @@ </Files> <Files> <File> - <FileName>pipe.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\pipe.c</FilePath> - </File> - </Files> - <Files> - <File> <FileName>pin.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\components\drivers\misc\pin.c</FilePath> @@ -525,13 +525,6 @@ <GroupName>Drivers</GroupName> <Files> <File> - <FileName>startup_at32f413.s</FileName> - <FileType>2</FileType> - <FilePath>..\libraries\f413\firmware\cmsis\cm4\device_support\startup\mdk\startup_at32f413.s</FilePath> - </File> - </Files> - <Files> - <File> <FileName>at32_msp.c</FileName> <FileType>1</FileType> <FilePath>board\src\at32_msp.c</FilePath> @@ -546,23 +539,30 @@ </Files> <Files> <File> + <FileName>startup_at32f413.s</FileName> + <FileType>2</FileType> + <FilePath>..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f413.s</FilePath> + </File> + </Files> + <Files> + <File> <FileName>drv_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\rt_drivers\drv_gpio.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\rt_drivers\drv_usart.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_common.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\rt_drivers\drv_common.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_common.c</FilePath> </File> </Files> </Group> @@ -594,16 +594,16 @@ <GroupName>Kernel</GroupName> <Files> <File> - <FileName>mem.c</FileName> + <FileName>thread.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\mem.c</FilePath> + <FilePath>..\..\..\src\thread.c</FilePath> </File> </Files> <Files> <File> - <FileName>scheduler.c</FileName> + <FileName>components.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\scheduler.c</FilePath> + <FilePath>..\..\..\src\components.c</FilePath> </File> </Files> <Files> @@ -615,16 +615,16 @@ </Files> <Files> <File> - <FileName>idle.c</FileName> + <FileName>object.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\idle.c</FilePath> + <FilePath>..\..\..\src\object.c</FilePath> </File> </Files> <Files> <File> - <FileName>thread.c</FileName> + <FileName>idle.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\thread.c</FilePath> + <FilePath>..\..\..\src\idle.c</FilePath> </File> </Files> <Files> @@ -636,9 +636,9 @@ </Files> <Files> <File> - <FileName>clock.c</FileName> + <FileName>timer.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\clock.c</FilePath> + <FilePath>..\..\..\src\timer.c</FilePath> </File> </Files> <Files> @@ -650,23 +650,23 @@ </Files> <Files> <File> - <FileName>object.c</FileName> + <FileName>clock.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\object.c</FilePath> + <FilePath>..\..\..\src\clock.c</FilePath> </File> </Files> <Files> <File> - <FileName>ipc.c</FileName> + <FileName>scheduler.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\ipc.c</FilePath> + <FilePath>..\..\..\src\scheduler.c</FilePath> </File> </Files> <Files> <File> - <FileName>device.c</FileName> + <FileName>ipc.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\device.c</FilePath> + <FilePath>..\..\..\src\ipc.c</FilePath> </File> </Files> <Files> @@ -678,16 +678,16 @@ </Files> <Files> <File> - <FileName>timer.c</FileName> + <FileName>device.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\timer.c</FilePath> + <FilePath>..\..\..\src\device.c</FilePath> </File> </Files> <Files> <File> - <FileName>components.c</FileName> + <FileName>mem.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\components.c</FilePath> + <FilePath>..\..\..\src\mem.c</FilePath> </File> </Files> </Group> @@ -697,161 +697,161 @@ <File> <FileName>at32f413_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_gpio.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_wdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_wdt.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_wdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_usart.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_spi.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_spi.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_spi.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_rtc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_rtc.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_rtc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_wwdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_wwdt.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_wwdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_tmr.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_tmr.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_tmr.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_pwc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_pwc.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_pwc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_acc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_acc.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_acc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_debug.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_debug.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_debug.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_adc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_adc.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_adc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_i2c.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_i2c.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_i2c.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_sdio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_sdio.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_sdio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_bpr.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_bpr.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_bpr.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_crc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_crc.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_crc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_dma.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_dma.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_dma.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_crm.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_crm.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_crm.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_misc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_misc.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_misc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_exint.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_exint.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_exint.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_flash.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_flash.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_flash.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_usb.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_usb.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_usb.c</FilePath> </File> </Files> <Files> <File> <FileName>system_at32f413.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\cmsis\cm4\device_support\system_at32f413.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\cmsis\cm4\device_support\system_at32f413.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f413_can.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f413\firmware\drivers\src\at32f413_can.c</FilePath> + <FilePath>..\libraries\AT32F413_Firmware_Library\drivers\src\at32f413_can.c</FilePath> </File> </Files> </Group> diff --git a/bsp/at32/at32f415-start/.config b/bsp/at32/at32f415-start/.config index 4e10ce8666..9042a6bd3a 100644 --- a/bsp/at32/at32f415-start/.config +++ b/bsp/at32/at32f415-start/.config @@ -126,14 +126,6 @@ CONFIG_FINSH_ARG_MAX=10 # Device virtual file system # # CONFIG_RT_USING_DFS is not set -# CONFIG_RT_DFS_ELM_USE_LFN_0 is not set -# CONFIG_RT_DFS_ELM_USE_LFN_1 is not set -# CONFIG_RT_DFS_ELM_USE_LFN_2 is not set -# CONFIG_RT_DFS_ELM_USE_LFN_3 is not set -# CONFIG_RT_DFS_ELM_LFN_UNICODE_0 is not set -# CONFIG_RT_DFS_ELM_LFN_UNICODE_1 is not set -# CONFIG_RT_DFS_ELM_LFN_UNICODE_2 is not set -# CONFIG_RT_DFS_ELM_LFN_UNICODE_3 is not set # # Device Drivers @@ -424,6 +416,8 @@ CONFIG_BSP_USING_SERIAL=y CONFIG_BSP_USING_GPIO=y # CONFIG_BSP_USING_ON_CHIP_FLASH is not set # CONFIG_BSP_USING_RTC is not set +# CONFIG_BSP_RTC_USING_LEXT is not set +# CONFIG_BSP_RTC_USING_LICK is not set CONFIG_BSP_USING_UART=y CONFIG_BSP_USING_UART1=y # CONFIG_BSP_USING_UART2 is not set diff --git a/bsp/at32/at32f415-start/SConstruct b/bsp/at32/at32f415-start/SConstruct index 0d38fe797a..10eac9bc85 100644 --- a/bsp/at32/at32f415-start/SConstruct +++ b/bsp/at32/at32f415-start/SConstruct @@ -46,11 +46,14 @@ Export('SDK_LIB') # prepare building environment objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) -at32_library = 'f415' +at32_library = 'AT32F415_Firmware_Library' rtconfig.BSP_LIBRARY_TYPE = at32_library # include libraries objs.extend(SConscript(os.path.join(libraries_path_prefix, at32_library, 'SConscript'))) +# include drivers +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'rt_drivers', 'SConscript'))) + # make a building DoBuilding(TARGET, objs) diff --git a/bsp/at32/at32f415-start/applications/main.c b/bsp/at32/at32f415-start/applications/main.c index 9089f13b54..b069536169 100644 --- a/bsp/at32/at32f415-start/applications/main.c +++ b/bsp/at32/at32f415-start/applications/main.c @@ -5,12 +5,12 @@ * * Change Logs: * Date Author Notes - * 2022-05-11 shelton first version + * 2022-05-16 shelton first version */ #include <rtthread.h> #include <rtdevice.h> -#include "board.h" +#include "drv_common.h" #include "drv_gpio.h" /* defined the led2 pin: pc2 */ diff --git a/bsp/at32/at32f415-start/board/SConscript b/bsp/at32/at32f415-start/board/SConscript index ca3921364c..47bfecd047 100644 --- a/bsp/at32/at32f415-start/board/SConscript +++ b/bsp/at32/at32f415-start/board/SConscript @@ -18,11 +18,11 @@ path += [cwd + '/inc'] startup_path_prefix = SDK_LIB if rtconfig.CROSS_TOOL == 'gcc': - src += [startup_path_prefix + '/f415/firmware/cmsis/cm4/device_support/startup/gcc/startup_at32f415.s'] + src += [startup_path_prefix + '/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/gcc/startup_at32f415.s'] elif rtconfig.CROSS_TOOL == 'keil': - src += [startup_path_prefix + '/f415/firmware/cmsis/cm4/device_support/startup/mdk/startup_at32f415.s'] + src += [startup_path_prefix + '/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/mdk/startup_at32f415.s'] elif rtconfig.CROSS_TOOL == 'iar': - src += [startup_path_prefix + '/f415/firmware/cmsis/cm4/device_support/startup/iar/startup_at32f415.s'] + src += [startup_path_prefix + '/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/iar/startup_at32f415.s'] CPPDEFINES = ['AT32F415RCT7'] group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES) diff --git a/bsp/at32/at32f415-start/project.ewp b/bsp/at32/at32f415-start/project.ewp index 24c951c0e7..5f5448291c 100644 --- a/bsp/at32/at32f415-start/project.ewp +++ b/bsp/at32/at32f415-start/project.ewp @@ -348,23 +348,23 @@ <option>
<name>CCIncludePath2</name>
<state />
+ <state>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\cmsis\cm4\core_support</state>
<state>$PROJ_DIR$\..\..\..\components\finsh</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
<state>$PROJ_DIR$\board\inc</state>
- <state>$PROJ_DIR$\..\libraries\f415\firmware\drivers\inc</state>
<state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
<state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
<state>$PROJ_DIR$\.</state>
<state>$PROJ_DIR$\applications</state>
- <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
- <state>$PROJ_DIR$\..\libraries\f415\rt_drivers</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common</state>
<state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
- <state>$PROJ_DIR$\..\libraries\f415\firmware\cmsis\cm4\core_support</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\inc</state>
<state>$PROJ_DIR$\..\..\..\include</state>
- <state>$PROJ_DIR$\..\libraries\f415\firmware\cmsis\cm4\device_support</state>
+ <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
<state>$PROJ_DIR$\board</state>
</option>
<option>
@@ -1388,23 +1388,23 @@ <option>
<name>CCIncludePath2</name>
<state />
+ <state>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\cmsis\cm4\core_support</state>
<state>$PROJ_DIR$\..\..\..\components\finsh</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
<state>$PROJ_DIR$\board\inc</state>
- <state>$PROJ_DIR$\..\libraries\f415\firmware\drivers\inc</state>
<state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
<state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
<state>$PROJ_DIR$\.</state>
<state>$PROJ_DIR$\applications</state>
- <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
- <state>$PROJ_DIR$\..\libraries\f415\rt_drivers</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common</state>
<state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
- <state>$PROJ_DIR$\..\libraries\f415\firmware\cmsis\cm4\core_support</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\inc</state>
<state>$PROJ_DIR$\..\..\..\include</state>
- <state>$PROJ_DIR$\..\libraries\f415\firmware\cmsis\cm4\device_support</state>
+ <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
<state>$PROJ_DIR$\board</state>
</option>
<option>
@@ -2089,37 +2089,37 @@ <group>
<name>Compiler</name>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\stdlib.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\time.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\time.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\stdlib.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_read.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscalls.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_read.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscalls.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c</name>
</file>
</group>
<group>
@@ -2128,10 +2128,10 @@ <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\div0.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\backtrace.c</name>
+ <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c</name>
+ <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\backtrace.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\context_iar.S</name>
@@ -2173,22 +2173,22 @@ <group>
<name>Drivers</name>
<file>
- <name>$PROJ_DIR$\board\src\at32_msp.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f415.s</name>
</file>
<file>
- <name>$PROJ_DIR$\board\src\board.c</name>
+ <name>$PROJ_DIR$\board\src\at32_msp.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\cmsis\cm4\device_support\startup\iar\startup_at32f415.s</name>
+ <name>$PROJ_DIR$\board\src\board.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\rt_drivers\drv_gpio.c</name>
+ <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_gpio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\rt_drivers\drv_usart.c</name>
+ <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_usart.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\rt_drivers\drv_common.c</name>
+ <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
</file>
</group>
<group>
@@ -2206,18 +2206,12 @@ <group>
<name>Kernel</name>
<file>
- <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\object.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\src\timer.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\object.c</name>
- </file>
- <file>
<name>$PROJ_DIR$\..\..\..\src\thread.c</name>
</file>
<file>
@@ -2233,9 +2227,6 @@ <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\scheduler.c</name>
- </file>
- <file>
<name>$PROJ_DIR$\..\..\..\src\device.c</name>
</file>
<file>
@@ -2247,74 +2238,83 @@ <file>
<name>$PROJ_DIR$\..\..\..\src\mem.c</name>
</file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\src\scheduler.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+ </file>
</group>
<group>
<name>Libraries</name>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_wdt.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_wdt.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_exint.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_exint.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_dma.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_dma.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_sdio.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_sdio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_adc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_adc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_debug.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_debug.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_tmr.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_tmr.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_ertc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_ertc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_wwdt.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_wwdt.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_misc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_misc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_crm.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_crm.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_crc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_crc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_usb.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_usb.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_flash.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_flash.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\cmsis\cm4\device_support\system_at32f415.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support\system_at32f415.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_usart.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_usart.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_can.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_can.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_spi.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_spi.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_gpio.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_gpio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_cmp.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_cmp.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_pwc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_pwc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f415\firmware\drivers\src\at32f415_i2c.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_i2c.c</name>
</file>
</group>
<group>
diff --git a/bsp/at32/at32f415-start/project.uvoptx b/bsp/at32/at32f415-start/project.uvoptx index 102df865cb..61992f563c 100644 --- a/bsp/at32/at32f415-start/project.uvoptx +++ b/bsp/at32/at32f415-start/project.uvoptx @@ -175,835 +175,11 @@ </Target> <Group> - <GroupName>Applications</GroupName> + <GroupName>Source Group 1</GroupName> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel> <RteFlg>0</RteFlg> - <File> - <GroupNumber>1</GroupNumber> - <FileNumber>1</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>applications\main.c</PathWithFileName> - <FilenameWithoutPath>main.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - </Group> - - <Group> - <GroupName>Compiler</GroupName> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <cbSel>0</cbSel> - <RteFlg>0</RteFlg> - <File> - <GroupNumber>2</GroupNumber> - <FileNumber>2</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\components\libc\compilers\armlibc\syscall_mem.c</PathWithFileName> - <FilenameWithoutPath>syscall_mem.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>2</GroupNumber> - <FileNumber>3</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\components\libc\compilers\armlibc\syscalls.c</PathWithFileName> - <FilenameWithoutPath>syscalls.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>2</GroupNumber> - <FileNumber>4</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\components\libc\compilers\common\stdlib.c</PathWithFileName> - <FilenameWithoutPath>stdlib.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>2</GroupNumber> - <FileNumber>5</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\components\libc\compilers\common\time.c</PathWithFileName> - <FilenameWithoutPath>time.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - </Group> - - <Group> - <GroupName>CPU</GroupName> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <cbSel>0</cbSel> - <RteFlg>0</RteFlg> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>6</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\libcpu\arm\common\backtrace.c</PathWithFileName> - <FilenameWithoutPath>backtrace.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>7</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\libcpu\arm\common\showmem.c</PathWithFileName> - <FilenameWithoutPath>showmem.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>8</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\libcpu\arm\common\div0.c</PathWithFileName> - <FilenameWithoutPath>div0.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>9</FileNumber> - <FileType>2</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\libcpu\arm\cortex-m4\context_rvds.S</PathWithFileName> - <FilenameWithoutPath>context_rvds.S</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>3</GroupNumber> - <FileNumber>10</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\libcpu\arm\cortex-m4\cpuport.c</PathWithFileName> - <FilenameWithoutPath>cpuport.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - </Group> - - <Group> - <GroupName>DeviceDrivers</GroupName> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <cbSel>0</cbSel> - <RteFlg>0</RteFlg> - <File> - <GroupNumber>4</GroupNumber> - <FileNumber>11</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\components\drivers\ipc\waitqueue.c</PathWithFileName> - <FilenameWithoutPath>waitqueue.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>4</GroupNumber> - <FileNumber>12</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\components\drivers\ipc\ringblk_buf.c</PathWithFileName> - <FilenameWithoutPath>ringblk_buf.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>4</GroupNumber> - <FileNumber>13</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\components\drivers\ipc\dataqueue.c</PathWithFileName> - <FilenameWithoutPath>dataqueue.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>4</GroupNumber> - <FileNumber>14</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\components\drivers\ipc\workqueue.c</PathWithFileName> - <FilenameWithoutPath>workqueue.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>4</GroupNumber> - <FileNumber>15</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\components\drivers\ipc\ringbuffer.c</PathWithFileName> - <FilenameWithoutPath>ringbuffer.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>4</GroupNumber> - <FileNumber>16</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\components\drivers\ipc\pipe.c</PathWithFileName> - <FilenameWithoutPath>pipe.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>4</GroupNumber> - <FileNumber>17</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\components\drivers\ipc\completion.c</PathWithFileName> - <FilenameWithoutPath>completion.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>4</GroupNumber> - <FileNumber>18</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\components\drivers\misc\pin.c</PathWithFileName> - <FilenameWithoutPath>pin.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>4</GroupNumber> - <FileNumber>19</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\components\drivers\serial\serial.c</PathWithFileName> - <FilenameWithoutPath>serial.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - </Group> - - <Group> - <GroupName>Drivers</GroupName> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <cbSel>0</cbSel> - <RteFlg>0</RteFlg> - <File> - <GroupNumber>5</GroupNumber> - <FileNumber>20</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>board\src\at32_msp.c</PathWithFileName> - <FilenameWithoutPath>at32_msp.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>5</GroupNumber> - <FileNumber>21</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>board\src\board.c</PathWithFileName> - <FilenameWithoutPath>board.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>5</GroupNumber> - <FileNumber>22</FileNumber> - <FileType>2</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\cmsis\cm4\device_support\startup\mdk\startup_at32f415.s</PathWithFileName> - <FilenameWithoutPath>startup_at32f415.s</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>5</GroupNumber> - <FileNumber>23</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\rt_drivers\drv_gpio.c</PathWithFileName> - <FilenameWithoutPath>drv_gpio.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>5</GroupNumber> - <FileNumber>24</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\rt_drivers\drv_usart.c</PathWithFileName> - <FilenameWithoutPath>drv_usart.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>5</GroupNumber> - <FileNumber>25</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\rt_drivers\drv_common.c</PathWithFileName> - <FilenameWithoutPath>drv_common.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - </Group> - - <Group> - <GroupName>Finsh</GroupName> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <cbSel>0</cbSel> - <RteFlg>0</RteFlg> - <File> - <GroupNumber>6</GroupNumber> - <FileNumber>26</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\components\finsh\shell.c</PathWithFileName> - <FilenameWithoutPath>shell.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>6</GroupNumber> - <FileNumber>27</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\components\finsh\msh.c</PathWithFileName> - <FilenameWithoutPath>msh.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>6</GroupNumber> - <FileNumber>28</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\components\finsh\cmd.c</PathWithFileName> - <FilenameWithoutPath>cmd.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - </Group> - - <Group> - <GroupName>Kernel</GroupName> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <cbSel>0</cbSel> - <RteFlg>0</RteFlg> - <File> - <GroupNumber>7</GroupNumber> - <FileNumber>29</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\src\kservice.c</PathWithFileName> - <FilenameWithoutPath>kservice.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>7</GroupNumber> - <FileNumber>30</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\src\components.c</PathWithFileName> - <FilenameWithoutPath>components.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>7</GroupNumber> - <FileNumber>31</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\src\scheduler.c</PathWithFileName> - <FilenameWithoutPath>scheduler.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>7</GroupNumber> - <FileNumber>32</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\src\irq.c</PathWithFileName> - <FilenameWithoutPath>irq.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>7</GroupNumber> - <FileNumber>33</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\src\mempool.c</PathWithFileName> - <FilenameWithoutPath>mempool.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>7</GroupNumber> - <FileNumber>34</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\src\idle.c</PathWithFileName> - <FilenameWithoutPath>idle.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>7</GroupNumber> - <FileNumber>35</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\src\mem.c</PathWithFileName> - <FilenameWithoutPath>mem.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>7</GroupNumber> - <FileNumber>36</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\src\thread.c</PathWithFileName> - <FilenameWithoutPath>thread.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>7</GroupNumber> - <FileNumber>37</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\src\timer.c</PathWithFileName> - <FilenameWithoutPath>timer.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>7</GroupNumber> - <FileNumber>38</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\src\clock.c</PathWithFileName> - <FilenameWithoutPath>clock.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>7</GroupNumber> - <FileNumber>39</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\src\object.c</PathWithFileName> - <FilenameWithoutPath>object.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>7</GroupNumber> - <FileNumber>40</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\src\ipc.c</PathWithFileName> - <FilenameWithoutPath>ipc.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>7</GroupNumber> - <FileNumber>41</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\src\memheap.c</PathWithFileName> - <FilenameWithoutPath>memheap.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>7</GroupNumber> - <FileNumber>42</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\..\..\src\device.c</PathWithFileName> - <FilenameWithoutPath>device.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - </Group> - - <Group> - <GroupName>Libraries</GroupName> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <cbSel>0</cbSel> - <RteFlg>0</RteFlg> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>43</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_wdt.c</PathWithFileName> - <FilenameWithoutPath>at32f415_wdt.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>44</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_exint.c</PathWithFileName> - <FilenameWithoutPath>at32f415_exint.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>45</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_dma.c</PathWithFileName> - <FilenameWithoutPath>at32f415_dma.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>46</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_sdio.c</PathWithFileName> - <FilenameWithoutPath>at32f415_sdio.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>47</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_adc.c</PathWithFileName> - <FilenameWithoutPath>at32f415_adc.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>48</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_debug.c</PathWithFileName> - <FilenameWithoutPath>at32f415_debug.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>49</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_tmr.c</PathWithFileName> - <FilenameWithoutPath>at32f415_tmr.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>50</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_ertc.c</PathWithFileName> - <FilenameWithoutPath>at32f415_ertc.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>51</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_wwdt.c</PathWithFileName> - <FilenameWithoutPath>at32f415_wwdt.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>52</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_misc.c</PathWithFileName> - <FilenameWithoutPath>at32f415_misc.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>53</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_crm.c</PathWithFileName> - <FilenameWithoutPath>at32f415_crm.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>54</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_crc.c</PathWithFileName> - <FilenameWithoutPath>at32f415_crc.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>55</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_usb.c</PathWithFileName> - <FilenameWithoutPath>at32f415_usb.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>56</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_flash.c</PathWithFileName> - <FilenameWithoutPath>at32f415_flash.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>57</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\cmsis\cm4\device_support\system_at32f415.c</PathWithFileName> - <FilenameWithoutPath>system_at32f415.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>58</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_usart.c</PathWithFileName> - <FilenameWithoutPath>at32f415_usart.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>59</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_can.c</PathWithFileName> - <FilenameWithoutPath>at32f415_can.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>60</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_spi.c</PathWithFileName> - <FilenameWithoutPath>at32f415_spi.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>61</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_gpio.c</PathWithFileName> - <FilenameWithoutPath>at32f415_gpio.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>62</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_cmp.c</PathWithFileName> - <FilenameWithoutPath>at32f415_cmp.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>63</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_pwc.c</PathWithFileName> - <FilenameWithoutPath>at32f415_pwc.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> - <File> - <GroupNumber>8</GroupNumber> - <FileNumber>64</FileNumber> - <FileType>1</FileType> - <tvExp>0</tvExp> - <tvExpOptDlg>0</tvExpOptDlg> - <bDave2>0</bDave2> - <PathWithFileName>..\libraries\f415\firmware\drivers\src\at32f415_i2c.c</PathWithFileName> - <FilenameWithoutPath>at32f415_i2c.c</FilenameWithoutPath> - <RteFlg>0</RteFlg> - <bShared>0</bShared> - </File> </Group> </ProjectOpt> diff --git a/bsp/at32/at32f415-start/project.uvproj b/bsp/at32/at32f415-start/project.uvproj index b21bd51e40..495834c3fc 100644 --- a/bsp/at32/at32f415-start/project.uvproj +++ b/bsp/at32/at32f415-start/project.uvproj @@ -359,7 +359,7 @@ <MiscControls /> <Define>USE_STDPERIPH_DRIVER, __RTTHREAD__, AT32F415RCT7, RT_USING_ARM_LIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define> <Undefine /> - <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\f415\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\f415\firmware\cmsis\cm4\device_support;..\libraries\f415\firmware\cmsis\cm4\core_support;..\libraries\f415\firmware\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> + <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32F415_Firmware_Library\cmsis\cm4\core_support;..\libraries\AT32F415_Firmware_Library\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> </VariousControls> </Cads> <Aads> @@ -413,16 +413,16 @@ <GroupName>Compiler</GroupName> <Files> <File> - <FileName>syscalls.c</FileName> + <FileName>syscall_mem.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\libc\compilers\armlibc\syscalls.c</FilePath> + <FilePath>..\..\..\components\libc\compilers\armlibc\syscall_mem.c</FilePath> </File> </Files> <Files> <File> - <FileName>syscall_mem.c</FileName> + <FileName>syscalls.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\libc\compilers\armlibc\syscall_mem.c</FilePath> + <FilePath>..\..\..\components\libc\compilers\armlibc\syscalls.c</FilePath> </File> </Files> <Files> @@ -444,6 +444,13 @@ <GroupName>CPU</GroupName> <Files> <File> + <FileName>div0.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\libcpu\arm\common\div0.c</FilePath> + </File> + </Files> + <Files> + <File> <FileName>backtrace.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\libcpu\arm\common\backtrace.c</FilePath> @@ -458,9 +465,9 @@ </Files> <Files> <File> - <FileName>div0.c</FileName> + <FileName>cpuport.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\libcpu\arm\common\div0.c</FilePath> + <FilePath>..\..\..\libcpu\arm\cortex-m4\cpuport.c</FilePath> </File> </Files> <Files> @@ -470,13 +477,6 @@ <FilePath>..\..\..\libcpu\arm\cortex-m4\context_rvds.S</FilePath> </File> </Files> - <Files> - <File> - <FileName>cpuport.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\libcpu\arm\cortex-m4\cpuport.c</FilePath> - </File> - </Files> </Group> <Group> <GroupName>DeviceDrivers</GroupName> @@ -489,6 +489,13 @@ </Files> <Files> <File> + <FileName>ringbuffer.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\components\drivers\ipc\ringbuffer.c</FilePath> + </File> + </Files> + <Files> + <File> <FileName>pipe.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\components\drivers\ipc\pipe.c</FilePath> @@ -517,13 +524,6 @@ </Files> <Files> <File> - <FileName>ringbuffer.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\ringbuffer.c</FilePath> - </File> - </Files> - <Files> - <File> <FileName>dataqueue.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\components\drivers\ipc\dataqueue.c</FilePath> @@ -548,6 +548,13 @@ <GroupName>Drivers</GroupName> <Files> <File> + <FileName>startup_at32f415.s</FileName> + <FileType>2</FileType> + <FilePath>..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f415.s</FilePath> + </File> + </Files> + <Files> + <File> <FileName>at32_msp.c</FileName> <FileType>1</FileType> <FilePath>board\src\at32_msp.c</FilePath> @@ -562,30 +569,23 @@ </Files> <Files> <File> - <FileName>startup_at32f415.s</FileName> - <FileType>2</FileType> - <FilePath>..\libraries\f415\firmware\cmsis\cm4\device_support\startup\mdk\startup_at32f415.s</FilePath> - </File> - </Files> - <Files> - <File> <FileName>drv_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\rt_drivers\drv_gpio.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\rt_drivers\drv_usart.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_common.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\rt_drivers\drv_common.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_common.c</FilePath> </File> </Files> </Group> @@ -617,100 +617,100 @@ <GroupName>Kernel</GroupName> <Files> <File> - <FileName>kservice.c</FileName> + <FileName>mem.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\kservice.c</FilePath> + <FilePath>..\..\..\src\mem.c</FilePath> </File> </Files> <Files> <File> - <FileName>components.c</FileName> + <FileName>irq.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\components.c</FilePath> + <FilePath>..\..\..\src\irq.c</FilePath> </File> </Files> <Files> <File> - <FileName>timer.c</FileName> + <FileName>clock.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\timer.c</FilePath> + <FilePath>..\..\..\src\clock.c</FilePath> </File> </Files> <Files> <File> - <FileName>scheduler.c</FileName> + <FileName>timer.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\scheduler.c</FilePath> + <FilePath>..\..\..\src\timer.c</FilePath> </File> </Files> <Files> <File> - <FileName>irq.c</FileName> + <FileName>idle.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\irq.c</FilePath> + <FilePath>..\..\..\src\idle.c</FilePath> </File> </Files> <Files> <File> - <FileName>mempool.c</FileName> + <FileName>object.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\mempool.c</FilePath> + <FilePath>..\..\..\src\object.c</FilePath> </File> </Files> <Files> <File> - <FileName>idle.c</FileName> + <FileName>thread.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\idle.c</FilePath> + <FilePath>..\..\..\src\thread.c</FilePath> </File> </Files> <Files> <File> - <FileName>mem.c</FileName> + <FileName>memheap.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\mem.c</FilePath> + <FilePath>..\..\..\src\memheap.c</FilePath> </File> </Files> <Files> <File> - <FileName>thread.c</FileName> + <FileName>kservice.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\thread.c</FilePath> + <FilePath>..\..\..\src\kservice.c</FilePath> </File> </Files> <Files> <File> - <FileName>clock.c</FileName> + <FileName>components.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\clock.c</FilePath> + <FilePath>..\..\..\src\components.c</FilePath> </File> </Files> <Files> <File> - <FileName>object.c</FileName> + <FileName>ipc.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\object.c</FilePath> + <FilePath>..\..\..\src\ipc.c</FilePath> </File> </Files> <Files> <File> - <FileName>ipc.c</FileName> + <FileName>scheduler.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\ipc.c</FilePath> + <FilePath>..\..\..\src\scheduler.c</FilePath> </File> </Files> <Files> <File> - <FileName>memheap.c</FileName> + <FileName>device.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\memheap.c</FilePath> + <FilePath>..\..\..\src\device.c</FilePath> </File> </Files> <Files> <File> - <FileName>device.c</FileName> + <FileName>mempool.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\device.c</FilePath> + <FilePath>..\..\..\src\mempool.c</FilePath> </File> </Files> </Group> @@ -720,154 +720,154 @@ <File> <FileName>at32f415_wdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_wdt.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_wdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_exint.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_exint.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_exint.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_dma.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_dma.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_dma.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_sdio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_sdio.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_sdio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_adc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_adc.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_adc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_debug.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_debug.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_debug.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_tmr.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_tmr.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_tmr.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_ertc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_ertc.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_ertc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_wwdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_wwdt.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_wwdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_misc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_misc.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_misc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_crm.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_crm.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_crm.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_crc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_crc.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_crc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_usb.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_usb.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_usb.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_flash.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_flash.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_flash.c</FilePath> </File> </Files> <Files> <File> <FileName>system_at32f415.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\cmsis\cm4\device_support\system_at32f415.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support\system_at32f415.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_usart.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_can.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_can.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_can.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_spi.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_spi.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_spi.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_gpio.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_cmp.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_cmp.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_cmp.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_pwc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_pwc.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_pwc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f415_i2c.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_i2c.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_i2c.c</FilePath> </File> </Files> </Group> diff --git a/bsp/at32/at32f415-start/project.uvprojx b/bsp/at32/at32f415-start/project.uvprojx index 0f8d4b45c7..b1799d2d05 100644 --- a/bsp/at32/at32f415-start/project.uvprojx +++ b/bsp/at32/at32f415-start/project.uvprojx @@ -1,10 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd"> - <SchemaVersion>2.1</SchemaVersion> - <Header>### uVision Project, (C) Keil Software</Header> - <Targets> <Target> <TargetName>rt-thread</TargetName> @@ -18,28 +15,28 @@ <Vendor>ArteryTek</Vendor> <PackID>ArteryTek.AT32F415_DFP.2.0.4</PackID> <Cpu>IRAM(0x20000000,0x8000) IROM(0x08000000,0x40000) CPUTYPE("Cortex-M4") CLOCK(12000000) ELITTLE</Cpu> - <FlashUtilSpec></FlashUtilSpec> - <StartupFile></StartupFile> + <FlashUtilSpec /> + <StartupFile /> <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0AT32F415_256 -FS08000000 -FL040000 -FP0($$Device:-AT32F415RCT7$Flash\AT32F415_256.FLM))</FlashDriverDll> <DeviceId>0</DeviceId> <RegisterFile>$$Device:-AT32F415RCT7$Device\Include\at32f415.h</RegisterFile> - <MemoryEnv></MemoryEnv> - <Cmp></Cmp> - <Asm></Asm> - <Linker></Linker> - <OHString></OHString> - <InfinionOptionDll></InfinionOptionDll> - <SLE66CMisc></SLE66CMisc> - <SLE66AMisc></SLE66AMisc> - <SLE66LinkerMisc></SLE66LinkerMisc> + <MemoryEnv /> + <Cmp /> + <Asm /> + <Linker /> + <OHString /> + <InfinionOptionDll /> + <SLE66CMisc /> + <SLE66AMisc /> + <SLE66LinkerMisc /> <SFDFile>$$Device:-AT32F415RCT7$SVD\AT32F415xx_v2.svd</SFDFile> <bCustSvd>0</bCustSvd> <UseEnv>0</UseEnv> - <BinPath></BinPath> - <IncludePath></IncludePath> - <LibPath></LibPath> - <RegisterFilePath></RegisterFilePath> - <DBRegisterFilePath></DBRegisterFilePath> + <BinPath /> + <IncludePath /> + <LibPath /> + <RegisterFilePath /> + <DBRegisterFilePath /> <TargetStatus> <Error>0</Error> <ExitCodeStop>0</ExitCodeStop> @@ -61,8 +58,8 @@ <BeforeCompile> <RunUserProg1>0</RunUserProg1> <RunUserProg2>0</RunUserProg2> - <UserProg1Name></UserProg1Name> - <UserProg2Name></UserProg2Name> + <UserProg1Name /> + <UserProg2Name /> <UserProg1Dos16Mode>0</UserProg1Dos16Mode> <UserProg2Dos16Mode>0</UserProg2Dos16Mode> <nStopU1X>0</nStopU1X> @@ -71,8 +68,8 @@ <BeforeMake> <RunUserProg1>0</RunUserProg1> <RunUserProg2>0</RunUserProg2> - <UserProg1Name></UserProg1Name> - <UserProg2Name></UserProg2Name> + <UserProg1Name /> + <UserProg2Name /> <UserProg1Dos16Mode>0</UserProg1Dos16Mode> <UserProg2Dos16Mode>0</UserProg2Dos16Mode> <nStopB1X>0</nStopB1X> @@ -82,14 +79,14 @@ <RunUserProg1>1</RunUserProg1> <RunUserProg2>0</RunUserProg2> <UserProg1Name>fromelf --bin !L --output rtthread.bin</UserProg1Name> - <UserProg2Name></UserProg2Name> + <UserProg2Name /> <UserProg1Dos16Mode>0</UserProg1Dos16Mode> <UserProg2Dos16Mode>0</UserProg2Dos16Mode> <nStopA1X>0</nStopA1X> <nStopA2X>0</nStopA2X> </AfterMake> <SelectedForBatchBuild>0</SelectedForBatchBuild> - <SVCSIdString></SVCSIdString> + <SVCSIdString /> </TargetCommonOption> <CommonProperty> <UseCPPCompiler>0</UseCPPCompiler> @@ -103,8 +100,8 @@ <AssembleAssemblyFile>0</AssembleAssemblyFile> <PublicsOnly>0</PublicsOnly> <StopOnExitCode>3</StopOnExitCode> - <CustomArgument></CustomArgument> - <IncludeLibraryModules></IncludeLibraryModules> + <CustomArgument /> + <IncludeLibraryModules /> <ComprImg>1</ComprImg> </CommonProperty> <DllOption> @@ -137,11 +134,11 @@ </Flash1> <bUseTDR>1</bUseTDR> <Flash2>BIN\UL2CM3.DLL</Flash2> - <Flash3></Flash3> - <Flash4></Flash4> - <pFcarmOut></pFcarmOut> - <pFcarmGrp></pFcarmGrp> - <pFcArmRoot></pFcArmRoot> + <Flash3 /> + <Flash4 /> + <pFcarmOut /> + <pFcarmGrp /> + <pFcArmRoot /> <FcArmLst>0</FcArmLst> </Utilities> <TargetArmAds> @@ -174,7 +171,7 @@ <RvctClst>0</RvctClst> <GenPPlst>0</GenPPlst> <AdsCpuType>"Cortex-M4"</AdsCpuType> - <RvctDeviceName></RvctDeviceName> + <RvctDeviceName /> <mOS>0</mOS> <uocRom>0</uocRom> <uocRam>0</uocRam> @@ -308,7 +305,7 @@ <Size>0x0</Size> </OCR_RVCT10> </OnChipMemories> - <RvctStartVector></RvctStartVector> + <RvctStartVector /> </ArmAdsMisc> <Cads> <interw>1</interw> @@ -335,10 +332,10 @@ <v6WtE>0</v6WtE> <v6Rtti>0</v6Rtti> <VariousControls> - <MiscControls></MiscControls> + <MiscControls /> <Define>USE_STDPERIPH_DRIVER, __RTTHREAD__, AT32F415RCT7, RT_USING_ARM_LIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define> - <Undefine></Undefine> - <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\f415\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\f415\firmware\cmsis\cm4\device_support;..\libraries\f415\firmware\cmsis\cm4\core_support;..\libraries\f415\firmware\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> + <Undefine /> + <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32F415_Firmware_Library\cmsis\cm4\core_support;..\libraries\AT32F415_Firmware_Library\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> </VariousControls> </Cads> <Aads> @@ -353,10 +350,10 @@ <useXO>0</useXO> <ClangAsOpt>4</ClangAsOpt> <VariousControls> - <MiscControls></MiscControls> - <Define></Define> - <Undefine></Undefine> - <IncludePath></IncludePath> + <MiscControls /> + <Define /> + <Undefine /> + <IncludePath /> </VariousControls> </Aads> <LDads> @@ -368,13 +365,13 @@ <useFile>0</useFile> <TextAddressRange>0x08000000</TextAddressRange> <DataAddressRange>0x20000000</DataAddressRange> - <pXoBase></pXoBase> + <pXoBase /> <ScatterFile>.\board\linker_scripts\link.sct</ScatterFile> - <IncludeLibs></IncludeLibs> - <IncludeLibsPath></IncludeLibsPath> - <Misc></Misc> - <LinkerInputFile></LinkerInputFile> - <DisabledWarnings></DisabledWarnings> + <IncludeLibs /> + <IncludeLibsPath /> + <Misc /> + <LinkerInputFile /> + <DisabledWarnings /> </LDads> </TargetArmAds> </TargetOption> @@ -397,20 +394,26 @@ <FileType>1</FileType> <FilePath>..\..\..\components\libc\compilers\armlibc\syscall_mem.c</FilePath> </File> + </Files> + <Files> <File> <FileName>syscalls.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\components\libc\compilers\armlibc\syscalls.c</FilePath> </File> + </Files> + <Files> <File> - <FileName>stdlib.c</FileName> + <FileName>time.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\libc\compilers\common\stdlib.c</FilePath> + <FilePath>..\..\..\components\libc\compilers\common\time.c</FilePath> </File> + </Files> + <Files> <File> - <FileName>time.c</FileName> + <FileName>stdlib.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\libc\compilers\common\time.c</FilePath> + <FilePath>..\..\..\components\libc\compilers\common\stdlib.c</FilePath> </File> </Files> </Group> @@ -418,25 +421,33 @@ <GroupName>CPU</GroupName> <Files> <File> + <FileName>div0.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\libcpu\arm\common\div0.c</FilePath> + </File> + </Files> + <Files> + <File> <FileName>backtrace.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\libcpu\arm\common\backtrace.c</FilePath> </File> + </Files> + <Files> <File> <FileName>showmem.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\libcpu\arm\common\showmem.c</FilePath> </File> - <File> - <FileName>div0.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\libcpu\arm\common\div0.c</FilePath> - </File> + </Files> + <Files> <File> <FileName>context_rvds.S</FileName> <FileType>2</FileType> <FilePath>..\..\..\libcpu\arm\cortex-m4\context_rvds.S</FilePath> </File> + </Files> + <Files> <File> <FileName>cpuport.c</FileName> <FileType>1</FileType> @@ -448,45 +459,61 @@ <GroupName>DeviceDrivers</GroupName> <Files> <File> - <FileName>waitqueue.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\waitqueue.c</FilePath> - </File> - <File> - <FileName>ringblk_buf.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\ringblk_buf.c</FilePath> - </File> - <File> <FileName>dataqueue.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\components\drivers\ipc\dataqueue.c</FilePath> </File> + </Files> + <Files> <File> <FileName>workqueue.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\components\drivers\ipc\workqueue.c</FilePath> </File> + </Files> + <Files> <File> <FileName>ringbuffer.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\components\drivers\ipc\ringbuffer.c</FilePath> </File> + </Files> + <Files> <File> <FileName>pipe.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\components\drivers\ipc\pipe.c</FilePath> </File> + </Files> + <Files> <File> <FileName>completion.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> </File> + </Files> + <Files> + <File> + <FileName>waitqueue.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\components\drivers\ipc\waitqueue.c</FilePath> + </File> + </Files> + <Files> + <File> + <FileName>ringblk_buf.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\components\drivers\ipc\ringblk_buf.c</FilePath> + </File> + </Files> + <Files> <File> <FileName>pin.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\components\drivers\misc\pin.c</FilePath> </File> + </Files> + <Files> <File> <FileName>serial.c</FileName> <FileType>1</FileType> @@ -498,34 +525,44 @@ <GroupName>Drivers</GroupName> <Files> <File> + <FileName>startup_at32f415.s</FileName> + <FileType>2</FileType> + <FilePath>..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f415.s</FilePath> + </File> + </Files> + <Files> + <File> <FileName>at32_msp.c</FileName> <FileType>1</FileType> <FilePath>board\src\at32_msp.c</FilePath> </File> + </Files> + <Files> <File> <FileName>board.c</FileName> <FileType>1</FileType> <FilePath>board\src\board.c</FilePath> </File> - <File> - <FileName>startup_at32f415.s</FileName> - <FileType>2</FileType> - <FilePath>..\libraries\f415\firmware\cmsis\cm4\device_support\startup\mdk\startup_at32f415.s</FilePath> - </File> + </Files> + <Files> <File> <FileName>drv_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\rt_drivers\drv_gpio.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_gpio.c</FilePath> </File> + </Files> + <Files> <File> <FileName>drv_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\rt_drivers\drv_usart.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_usart.c</FilePath> </File> + </Files> + <Files> <File> <FileName>drv_common.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\rt_drivers\drv_common.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_common.c</FilePath> </File> </Files> </Group> @@ -537,11 +574,15 @@ <FileType>1</FileType> <FilePath>..\..\..\components\finsh\shell.c</FilePath> </File> + </Files> + <Files> <File> <FileName>msh.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\components\finsh\msh.c</FilePath> </File> + </Files> + <Files> <File> <FileName>cmd.c</FileName> <FileType>1</FileType> @@ -553,75 +594,101 @@ <GroupName>Kernel</GroupName> <Files> <File> + <FileName>object.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\src\object.c</FilePath> + </File> + </Files> + <Files> + <File> + <FileName>ipc.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\src\ipc.c</FilePath> + </File> + </Files> + <Files> + <File> + <FileName>memheap.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\src\memheap.c</FilePath> + </File> + </Files> + <Files> + <File> + <FileName>device.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\src\device.c</FilePath> + </File> + </Files> + <Files> + <File> <FileName>kservice.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\src\kservice.c</FilePath> </File> + </Files> + <Files> <File> <FileName>components.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\src\components.c</FilePath> </File> + </Files> + <Files> <File> <FileName>scheduler.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\src\scheduler.c</FilePath> </File> + </Files> + <Files> <File> <FileName>irq.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\src\irq.c</FilePath> </File> + </Files> + <Files> <File> <FileName>mempool.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\src\mempool.c</FilePath> </File> + </Files> + <Files> <File> <FileName>idle.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\src\idle.c</FilePath> </File> + </Files> + <Files> + <File> + <FileName>timer.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\src\timer.c</FilePath> + </File> + </Files> + <Files> <File> <FileName>mem.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\src\mem.c</FilePath> </File> + </Files> + <Files> <File> <FileName>thread.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\src\thread.c</FilePath> </File> - <File> - <FileName>timer.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\src\timer.c</FilePath> - </File> + </Files> + <Files> <File> <FileName>clock.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\src\clock.c</FilePath> </File> - <File> - <FileName>object.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\src\object.c</FilePath> - </File> - <File> - <FileName>ipc.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\src\ipc.c</FilePath> - </File> - <File> - <FileName>memheap.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\src\memheap.c</FilePath> - </File> - <File> - <FileName>device.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\src\device.c</FilePath> - </File> </Files> </Group> <Group> @@ -630,138 +697,177 @@ <File> <FileName>at32f415_wdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_wdt.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_wdt.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_exint.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_exint.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_exint.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_dma.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_dma.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_dma.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_sdio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_sdio.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_sdio.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_adc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_adc.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_adc.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_debug.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_debug.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_debug.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_tmr.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_tmr.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_tmr.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_ertc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_ertc.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_ertc.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_wwdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_wwdt.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_wwdt.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_misc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_misc.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_misc.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_crm.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_crm.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_crm.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_crc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_crc.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_crc.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_usb.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_usb.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_usb.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_flash.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_flash.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_flash.c</FilePath> </File> + </Files> + <Files> <File> <FileName>system_at32f415.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\cmsis\cm4\device_support\system_at32f415.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\cmsis\cm4\device_support\system_at32f415.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_usart.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_usart.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_can.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_can.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_can.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_spi.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_spi.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_spi.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_gpio.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_gpio.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_cmp.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_cmp.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_cmp.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_pwc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_pwc.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_pwc.c</FilePath> </File> + </Files> + <Files> <File> <FileName>at32f415_i2c.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f415\firmware\drivers\src\at32f415_i2c.c</FilePath> + <FilePath>..\libraries\AT32F415_Firmware_Library\drivers\src\at32f415_i2c.c</FilePath> </File> </Files> </Group> </Groups> </Target> </Targets> - <RTE> - <apis/> - <components/> - <files/> + <apis /> + <components /> + <files /> </RTE> - <LayerInfo> <Layers> <Layer> <LayName><Project Info></LayName> - <LayDesc></LayDesc> - <LayUrl></LayUrl> - <LayKeys></LayKeys> - <LayCat></LayCat> - <LayLic></LayLic> + <LayDesc /> + <LayUrl /> + <LayKeys /> + <LayCat /> + <LayLic /> <LayTarg>0</LayTarg> <LayPrjMark>1</LayPrjMark> </Layer> </Layers> </LayerInfo> - </Project> diff --git a/bsp/at32/at32f435-start/.config b/bsp/at32/at32f435-start/.config index 832675b426..df2ce53407 100644 --- a/bsp/at32/at32f435-start/.config +++ b/bsp/at32/at32f435-start/.config @@ -64,9 +64,8 @@ CONFIG_RT_USING_SMALL_MEM=y CONFIG_RT_USING_MEMHEAP=y CONFIG_RT_MEMHEAP_FAST_MODE=y # CONFIG_RT_MEMHEAP_BSET_MODE is not set -# CONFIG_RT_USING_SMALL_MEM_AS_HEAP is not set -CONFIG_RT_USING_MEMHEAP_AS_HEAP=y -CONFIG_RT_USING_MEMHEAP_AUTO_BINDING=y +CONFIG_RT_USING_SMALL_MEM_AS_HEAP=y +# CONFIG_RT_USING_MEMHEAP_AS_HEAP is not set # CONFIG_RT_USING_SLAB_AS_HEAP is not set # CONFIG_RT_USING_USERHEAP is not set # CONFIG_RT_USING_NOHEAP is not set @@ -421,8 +420,8 @@ CONFIG_BSP_USING_GPIO=y # CONFIG_BSP_USING_RTC is not set CONFIG_BSP_USING_UART=y CONFIG_BSP_USING_UART1=y -CONFIG_BSP_USING_UART2=y -CONFIG_BSP_USING_UART3=y +# CONFIG_BSP_USING_UART2 is not set +# CONFIG_BSP_USING_UART3 is not set # CONFIG_BSP_USING_PWM is not set # CONFIG_BSP_USING_HWTIMER is not set # CONFIG_BSP_USING_SPI is not set diff --git a/bsp/at32/at32f435-start/SConstruct b/bsp/at32/at32f435-start/SConstruct index e05107494c..3cc2879e44 100644 --- a/bsp/at32/at32f435-start/SConstruct +++ b/bsp/at32/at32f435-start/SConstruct @@ -46,11 +46,14 @@ Export('SDK_LIB') # prepare building environment objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) -at32_library = 'f435_437' +at32_library = 'AT32F435_437_Firmware_Library' rtconfig.BSP_LIBRARY_TYPE = at32_library # include libraries objs.extend(SConscript(os.path.join(libraries_path_prefix, at32_library, 'SConscript'))) +# include drivers +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'rt_drivers', 'SConscript'))) + # make a building DoBuilding(TARGET, objs) diff --git a/bsp/at32/at32f435-start/applications/main.c b/bsp/at32/at32f435-start/applications/main.c index 5f04827d0d..75d464a465 100644 --- a/bsp/at32/at32f435-start/applications/main.c +++ b/bsp/at32/at32f435-start/applications/main.c @@ -5,12 +5,12 @@ * * Change Logs: * Date Author Notes - * 2022-03-28 shelton first version + * 2022-05-16 shelton first version */ #include <rtthread.h> #include <rtdevice.h> -#include "board.h" +#include "drv_common.h" #include "drv_gpio.h" /* defined the led2 pin: pd13 */ diff --git a/bsp/at32/at32f435-start/board/SConscript b/bsp/at32/at32f435-start/board/SConscript index 20471cdd2d..8bdc208807 100644 --- a/bsp/at32/at32f435-start/board/SConscript +++ b/bsp/at32/at32f435-start/board/SConscript @@ -18,11 +18,11 @@ path += [cwd + '/inc'] startup_path_prefix = SDK_LIB if rtconfig.PLATFORM == 'gcc': - src += [startup_path_prefix + '/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/startup_at32f435_437.s'] + src += [startup_path_prefix + '/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/startup_at32f435_437.s'] elif rtconfig.PLATFORM in ['armcc', 'armclang']: - src += [startup_path_prefix + '/f435_437/firmware/cmsis/cm4/device_support/startup/mdk/startup_at32f435_437.s'] + src += [startup_path_prefix + '/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/mdk/startup_at32f435_437.s'] elif rtconfig.CROSS_TOOL == 'iar': - src += [startup_path_prefix + '/f435_437/firmware/cmsis/cm4/device_support/startup/iar/startup_at32f435_437.s'] + src += [startup_path_prefix + '/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/startup_at32f435_437.s'] CPPDEFINES = ['AT32F435ZMT7'] group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES) diff --git a/bsp/at32/at32f435-start/project.ewp b/bsp/at32/at32f435-start/project.ewp index e13c53af17..ea0f5fd743 100644 --- a/bsp/at32/at32f435-start/project.ewp +++ b/bsp/at32/at32f435-start/project.ewp @@ -348,20 +348,20 @@ <option>
<name>CCIncludePath2</name>
<state />
- <state>$PROJ_DIR$\..\libraries\f435_437\rt_drivers</state>
- <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
<state>$PROJ_DIR$\..\..\..\components\finsh</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support</state>
<state>$PROJ_DIR$\board\inc</state>
<state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
- <state>$PROJ_DIR$\..\libraries\f435_437\firmware\cmsis\cm4\device_support</state>
- <state>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\inc</state>
+ <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\inc</state>
+ <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
<state>$PROJ_DIR$\.</state>
<state>$PROJ_DIR$\applications</state>
- <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
- <state>$PROJ_DIR$\..\libraries\f435_437\firmware\cmsis\cm4\core_support</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\core_support</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common</state>
<state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
<state>$PROJ_DIR$\..\..\..\include</state>
@@ -1388,20 +1388,20 @@ <option>
<name>CCIncludePath2</name>
<state />
- <state>$PROJ_DIR$\..\libraries\f435_437\rt_drivers</state>
- <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
<state>$PROJ_DIR$\..\..\..\components\finsh</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support</state>
<state>$PROJ_DIR$\board\inc</state>
<state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
- <state>$PROJ_DIR$\..\libraries\f435_437\firmware\cmsis\cm4\device_support</state>
- <state>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\inc</state>
+ <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\inc</state>
+ <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
<state>$PROJ_DIR$\.</state>
<state>$PROJ_DIR$\applications</state>
- <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
- <state>$PROJ_DIR$\..\libraries\f435_437\firmware\cmsis\cm4\core_support</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\core_support</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common</state>
<state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
<state>$PROJ_DIR$\..\..\..\include</state>
@@ -2089,49 +2089,49 @@ <group>
<name>Compiler</name>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\time.c</name>
- </file>
- <file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\stdlib.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\time.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscalls.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscalls.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_read.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c</name>
</file>
</group>
<group>
<name>CPU</name>
<file>
- <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c</name>
+ <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\backtrace.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\div0.c</name>
+ <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\backtrace.c</name>
+ <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\div0.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\context_iar.S</name>
@@ -2143,25 +2143,25 @@ <group>
<name>DeviceDrivers</name>
<file>
- <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\ringblk_buf.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\ringbuffer.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\workqueue.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\pipe.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\ringbuffer.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\waitqueue.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\pipe.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\ringblk_buf.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\waitqueue.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\dataqueue.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\drivers\misc\pin.c</name>
@@ -2173,22 +2173,22 @@ <group>
<name>Drivers</name>
<file>
- <name>$PROJ_DIR$\board\src\at32_msp.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f435_437.s</name>
</file>
<file>
- <name>$PROJ_DIR$\board\src\board.c</name>
+ <name>$PROJ_DIR$\board\src\at32_msp.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\cmsis\cm4\device_support\startup\iar\startup_at32f435_437.s</name>
+ <name>$PROJ_DIR$\board\src\board.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\rt_drivers\drv_gpio.c</name>
+ <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_gpio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\rt_drivers\drv_usart.c</name>
+ <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_usart.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\rt_drivers\drv_common.c</name>
+ <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
</file>
</group>
<group>
@@ -2206,136 +2206,136 @@ <group>
<name>Kernel</name>
<file>
- <name>$PROJ_DIR$\..\..\..\src\mempool.c</name>
- </file>
- <file>
- <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\device.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\mem.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\mempool.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\components.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\thread.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\mem.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\clock.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\src\object.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\src\memheap.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\device.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\clock.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\components.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\src\thread.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\src\scheduler.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
</file>
</group>
<group>
<name>Libraries</name>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_gpio.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_gpio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_exint.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_exint.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_i2c.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_i2c.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\cmsis\cm4\device_support\system_at32f435_437.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\system_at32f435_437.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_acc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_acc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_dac.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dac.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_qspi.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_qspi.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_crc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_dma.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dma.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_can.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_can.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_ertc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_ertc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_usb.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usb.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_spi.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_spi.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_pwc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_pwc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_tmr.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_tmr.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_edma.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_edma.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_emac.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_emac.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_xmc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_xmc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_debug.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_debug.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_dvp.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dvp.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_misc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_misc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_usart.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usart.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_wdt.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wdt.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_flash.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_flash.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_adc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_adc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_wwdt.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wwdt.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_scfg.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_scfg.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_sdio.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_sdio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_crm.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crm.c</name>
</file>
</group>
<group>
diff --git a/bsp/at32/at32f435-start/project.uvproj b/bsp/at32/at32f435-start/project.uvproj index 383bbd98ec..d9139f309f 100644 --- a/bsp/at32/at32f435-start/project.uvproj +++ b/bsp/at32/at32f435-start/project.uvproj @@ -359,7 +359,7 @@ <MiscControls /> <Define>USE_STDPERIPH_DRIVER, AT32F435ZMT7, __RTTHREAD__, RT_USING_ARM_LIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define> <Undefine /> - <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\f435_437\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\f435_437\firmware\cmsis\cm4\device_support;..\libraries\f435_437\firmware\cmsis\cm4\core_support;..\libraries\f435_437\firmware\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> + <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\core_support;..\libraries\AT32F435_437_Firmware_Library\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> </VariousControls> </Cads> <Aads> @@ -444,23 +444,23 @@ <GroupName>CPU</GroupName> <Files> <File> - <FileName>showmem.c</FileName> + <FileName>div0.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\libcpu\arm\common\showmem.c</FilePath> + <FilePath>..\..\..\libcpu\arm\common\div0.c</FilePath> </File> </Files> <Files> <File> - <FileName>div0.c</FileName> + <FileName>backtrace.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\libcpu\arm\common\div0.c</FilePath> + <FilePath>..\..\..\libcpu\arm\common\backtrace.c</FilePath> </File> </Files> <Files> <File> - <FileName>backtrace.c</FileName> + <FileName>showmem.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\libcpu\arm\common\backtrace.c</FilePath> + <FilePath>..\..\..\libcpu\arm\common\showmem.c</FilePath> </File> </Files> <Files> @@ -482,51 +482,51 @@ <GroupName>DeviceDrivers</GroupName> <Files> <File> - <FileName>pipe.c</FileName> + <FileName>dataqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\pipe.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\dataqueue.c</FilePath> </File> </Files> <Files> <File> - <FileName>completion.c</FileName> + <FileName>workqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\workqueue.c</FilePath> </File> </Files> <Files> <File> - <FileName>waitqueue.c</FileName> + <FileName>ringbuffer.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\waitqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\ringbuffer.c</FilePath> </File> </Files> <Files> <File> - <FileName>ringblk_buf.c</FileName> + <FileName>pipe.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\ringblk_buf.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\pipe.c</FilePath> </File> </Files> <Files> <File> - <FileName>dataqueue.c</FileName> + <FileName>completion.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\dataqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> </File> </Files> <Files> <File> - <FileName>workqueue.c</FileName> + <FileName>waitqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\workqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\waitqueue.c</FilePath> </File> </Files> <Files> <File> - <FileName>ringbuffer.c</FileName> + <FileName>ringblk_buf.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\ringbuffer.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\ringblk_buf.c</FilePath> </File> </Files> <Files> @@ -550,7 +550,7 @@ <File> <FileName>startup_at32f435_437.s</FileName> <FileType>2</FileType> - <FilePath>..\libraries\f435_437\firmware\cmsis\cm4\device_support\startup\mdk\startup_at32f435_437.s</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f435_437.s</FilePath> </File> </Files> <Files> @@ -571,21 +571,21 @@ <File> <FileName>drv_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\rt_drivers\drv_gpio.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\rt_drivers\drv_usart.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_common.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\rt_drivers\drv_common.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_common.c</FilePath> </File> </Files> </Group> @@ -638,13 +638,6 @@ </Files> <Files> <File> - <FileName>timer.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\src\timer.c</FilePath> - </File> - </Files> - <Files> - <File> <FileName>device.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\src\device.c</FilePath> @@ -694,6 +687,13 @@ </Files> <Files> <File> + <FileName>timer.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\src\timer.c</FilePath> + </File> + </Files> + <Files> + <File> <FileName>mem.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\src\mem.c</FilePath> @@ -720,203 +720,203 @@ <File> <FileName>at32f435_437_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_gpio.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_exint.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_exint.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_exint.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_i2c.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_i2c.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_i2c.c</FilePath> </File> </Files> <Files> <File> <FileName>system_at32f435_437.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\cmsis\cm4\device_support\system_at32f435_437.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\system_at32f435_437.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_acc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_acc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_acc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_dac.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_dac.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dac.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_qspi.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_qspi.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_qspi.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_crc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_crc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_dma.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_dma.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dma.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_can.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_can.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_can.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_ertc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_ertc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_ertc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_usb.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_usb.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usb.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_spi.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_spi.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_spi.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_pwc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_pwc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_pwc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_tmr.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_tmr.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_tmr.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_edma.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_edma.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_edma.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_emac.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_emac.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_emac.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_xmc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_xmc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_xmc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_debug.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_debug.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_debug.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_dvp.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_dvp.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dvp.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_misc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_misc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_misc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_usart.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_wdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_wdt.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_flash.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_flash.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_flash.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_adc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_adc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_adc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_wwdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_wwdt.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wwdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_scfg.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_scfg.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_scfg.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_sdio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_sdio.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_sdio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_crm.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_crm.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crm.c</FilePath> </File> </Files> </Group> diff --git a/bsp/at32/at32f435-start/project.uvprojx b/bsp/at32/at32f435-start/project.uvprojx index cf1377930f..9f1c555c66 100644 --- a/bsp/at32/at32f435-start/project.uvprojx +++ b/bsp/at32/at32f435-start/project.uvprojx @@ -335,7 +335,7 @@ <MiscControls /> <Define>USE_STDPERIPH_DRIVER, AT32F435ZMT7, __RTTHREAD__, RT_USING_ARM_LIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define> <Undefine /> - <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\f435_437\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\f435_437\firmware\cmsis\cm4\device_support;..\libraries\f435_437\firmware\cmsis\cm4\core_support;..\libraries\f435_437\firmware\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> + <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\core_support;..\libraries\AT32F435_437_Firmware_Library\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> </VariousControls> </Cads> <Aads> @@ -459,13 +459,6 @@ <GroupName>DeviceDrivers</GroupName> <Files> <File> - <FileName>completion.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> - </File> - </Files> - <Files> - <File> <FileName>waitqueue.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\components\drivers\ipc\waitqueue.c</FilePath> @@ -508,6 +501,13 @@ </Files> <Files> <File> + <FileName>completion.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> + </File> + </Files> + <Files> + <File> <FileName>pin.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\components\drivers\misc\pin.c</FilePath> @@ -527,7 +527,7 @@ <File> <FileName>startup_at32f435_437.s</FileName> <FileType>2</FileType> - <FilePath>..\libraries\f435_437\firmware\cmsis\cm4\device_support\startup\mdk\startup_at32f435_437.s</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f435_437.s</FilePath> </File> </Files> <Files> @@ -548,21 +548,21 @@ <File> <FileName>drv_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\rt_drivers\drv_gpio.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\rt_drivers\drv_usart.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_common.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\rt_drivers\drv_common.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_common.c</FilePath> </File> </Files> </Group> @@ -594,58 +594,58 @@ <GroupName>Kernel</GroupName> <Files> <File> - <FileName>mem.c</FileName> + <FileName>device.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\mem.c</FilePath> + <FilePath>..\..\..\src\device.c</FilePath> </File> </Files> <Files> <File> - <FileName>scheduler.c</FileName> + <FileName>mempool.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\scheduler.c</FilePath> + <FilePath>..\..\..\src\mempool.c</FilePath> </File> </Files> <Files> <File> - <FileName>irq.c</FileName> + <FileName>components.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\irq.c</FilePath> + <FilePath>..\..\..\src\components.c</FilePath> </File> </Files> <Files> <File> - <FileName>idle.c</FileName> + <FileName>mem.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\idle.c</FilePath> + <FilePath>..\..\..\src\mem.c</FilePath> </File> </Files> <Files> <File> - <FileName>thread.c</FileName> + <FileName>scheduler.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\thread.c</FilePath> + <FilePath>..\..\..\src\scheduler.c</FilePath> </File> </Files> <Files> <File> - <FileName>memheap.c</FileName> + <FileName>irq.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\memheap.c</FilePath> + <FilePath>..\..\..\src\irq.c</FilePath> </File> </Files> <Files> <File> - <FileName>clock.c</FileName> + <FileName>timer.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\clock.c</FilePath> + <FilePath>..\..\..\src\timer.c</FilePath> </File> </Files> <Files> <File> - <FileName>kservice.c</FileName> + <FileName>idle.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\kservice.c</FilePath> + <FilePath>..\..\..\src\idle.c</FilePath> </File> </Files> <Files> @@ -657,37 +657,37 @@ </Files> <Files> <File> - <FileName>ipc.c</FileName> + <FileName>thread.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\ipc.c</FilePath> + <FilePath>..\..\..\src\thread.c</FilePath> </File> </Files> <Files> <File> - <FileName>device.c</FileName> + <FileName>memheap.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\device.c</FilePath> + <FilePath>..\..\..\src\memheap.c</FilePath> </File> </Files> <Files> <File> - <FileName>mempool.c</FileName> + <FileName>clock.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\mempool.c</FilePath> + <FilePath>..\..\..\src\clock.c</FilePath> </File> </Files> <Files> <File> - <FileName>timer.c</FileName> + <FileName>kservice.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\timer.c</FilePath> + <FilePath>..\..\..\src\kservice.c</FilePath> </File> </Files> <Files> <File> - <FileName>components.c</FileName> + <FileName>ipc.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\components.c</FilePath> + <FilePath>..\..\..\src\ipc.c</FilePath> </File> </Files> </Group> @@ -697,203 +697,203 @@ <File> <FileName>at32f435_437_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_gpio.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_exint.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_exint.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_exint.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_i2c.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_i2c.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_i2c.c</FilePath> </File> </Files> <Files> <File> <FileName>system_at32f435_437.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\cmsis\cm4\device_support\system_at32f435_437.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\system_at32f435_437.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_acc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_acc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_acc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_dac.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_dac.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dac.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_qspi.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_qspi.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_qspi.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_crc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_crc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_dma.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_dma.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dma.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_can.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_can.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_can.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_ertc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_ertc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_ertc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_usb.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_usb.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usb.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_spi.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_spi.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_spi.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_pwc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_pwc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_pwc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_tmr.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_tmr.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_tmr.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_edma.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_edma.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_edma.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_emac.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_emac.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_emac.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_xmc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_xmc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_xmc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_debug.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_debug.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_debug.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_dvp.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_dvp.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dvp.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_misc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_misc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_misc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_usart.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_wdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_wdt.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_flash.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_flash.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_flash.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_adc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_adc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_adc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_wwdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_wwdt.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wwdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_scfg.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_scfg.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_scfg.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_sdio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_sdio.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_sdio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_crm.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_crm.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crm.c</FilePath> </File> </Files> </Group> diff --git a/bsp/at32/at32f435-start/rtconfig.h b/bsp/at32/at32f435-start/rtconfig.h index f750a9b026..581d959ba0 100644 --- a/bsp/at32/at32f435-start/rtconfig.h +++ b/bsp/at32/at32f435-start/rtconfig.h @@ -40,8 +40,7 @@ #define RT_USING_SMALL_MEM #define RT_USING_MEMHEAP #define RT_MEMHEAP_FAST_MODE -#define RT_USING_MEMHEAP_AS_HEAP -#define RT_USING_MEMHEAP_AUTO_BINDING +#define RT_USING_SMALL_MEM_AS_HEAP #define RT_USING_HEAP /* Kernel Device Object */ @@ -175,7 +174,5 @@ #define BSP_USING_GPIO #define BSP_USING_UART #define BSP_USING_UART1 -#define BSP_USING_UART2 -#define BSP_USING_UART3 #endif diff --git a/bsp/at32/at32f437-start/.config b/bsp/at32/at32f437-start/.config index 03966610e2..b01fa641fb 100644 --- a/bsp/at32/at32f437-start/.config +++ b/bsp/at32/at32f437-start/.config @@ -64,9 +64,8 @@ CONFIG_RT_USING_SMALL_MEM=y CONFIG_RT_USING_MEMHEAP=y CONFIG_RT_MEMHEAP_FAST_MODE=y # CONFIG_RT_MEMHEAP_BSET_MODE is not set -# CONFIG_RT_USING_SMALL_MEM_AS_HEAP is not set -CONFIG_RT_USING_MEMHEAP_AS_HEAP=y -CONFIG_RT_USING_MEMHEAP_AUTO_BINDING=y +CONFIG_RT_USING_SMALL_MEM_AS_HEAP=y +# CONFIG_RT_USING_MEMHEAP_AS_HEAP is not set # CONFIG_RT_USING_SLAB_AS_HEAP is not set # CONFIG_RT_USING_USERHEAP is not set # CONFIG_RT_USING_NOHEAP is not set @@ -127,14 +126,6 @@ CONFIG_FINSH_ARG_MAX=10 # Device virtual file system # # CONFIG_RT_USING_DFS is not set -# CONFIG_RT_DFS_ELM_USE_LFN_0 is not set -# CONFIG_RT_DFS_ELM_USE_LFN_1 is not set -# CONFIG_RT_DFS_ELM_USE_LFN_2 is not set -# CONFIG_RT_DFS_ELM_USE_LFN_3 is not set -# CONFIG_RT_DFS_ELM_LFN_UNICODE_0 is not set -# CONFIG_RT_DFS_ELM_LFN_UNICODE_1 is not set -# CONFIG_RT_DFS_ELM_LFN_UNICODE_2 is not set -# CONFIG_RT_DFS_ELM_LFN_UNICODE_3 is not set # # Device Drivers @@ -209,9 +200,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 # CONFIG_RT_USING_SAL is not set # CONFIG_RT_USING_NETDEV is not set # CONFIG_RT_USING_LWIP is not set -# CONFIG_RT_USING_LWIP141 is not set -# CONFIG_RT_USING_LWIP203 is not set -# CONFIG_RT_USING_LWIP212 is not set # CONFIG_RT_USING_AT is not set # @@ -429,16 +417,12 @@ CONFIG_BSP_USING_SERIAL=y CONFIG_BSP_USING_GPIO=y # CONFIG_BSP_USING_ON_CHIP_FLASH is not set # CONFIG_BSP_USING_EMAC is not set -# CONFIG_PHY_USING_DM9162 is not set -# CONFIG_PHY_USING_DP83848 is not set # CONFIG_BSP_USING_QSPI is not set # CONFIG_BSP_USING_RTC is not set -# CONFIG_BSP_RTC_USING_LEXT is not set -# CONFIG_BSP_RTC_USING_LICK is not set CONFIG_BSP_USING_UART=y CONFIG_BSP_USING_UART1=y -CONFIG_BSP_USING_UART2=y -CONFIG_BSP_USING_UART3=y +# CONFIG_BSP_USING_UART2 is not set +# CONFIG_BSP_USING_UART3 is not set # CONFIG_BSP_USING_PWM is not set # CONFIG_BSP_USING_HWTIMER is not set # CONFIG_BSP_USING_SPI is not set diff --git a/bsp/at32/at32f437-start/SConstruct b/bsp/at32/at32f437-start/SConstruct index e05107494c..3cc2879e44 100644 --- a/bsp/at32/at32f437-start/SConstruct +++ b/bsp/at32/at32f437-start/SConstruct @@ -46,11 +46,14 @@ Export('SDK_LIB') # prepare building environment objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False) -at32_library = 'f435_437' +at32_library = 'AT32F435_437_Firmware_Library' rtconfig.BSP_LIBRARY_TYPE = at32_library # include libraries objs.extend(SConscript(os.path.join(libraries_path_prefix, at32_library, 'SConscript'))) +# include drivers +objs.extend(SConscript(os.path.join(libraries_path_prefix, 'rt_drivers', 'SConscript'))) + # make a building DoBuilding(TARGET, objs) diff --git a/bsp/at32/at32f437-start/applications/main.c b/bsp/at32/at32f437-start/applications/main.c index 5f04827d0d..75d464a465 100644 --- a/bsp/at32/at32f437-start/applications/main.c +++ b/bsp/at32/at32f437-start/applications/main.c @@ -5,12 +5,12 @@ * * Change Logs: * Date Author Notes - * 2022-03-28 shelton first version + * 2022-05-16 shelton first version */ #include <rtthread.h> #include <rtdevice.h> -#include "board.h" +#include "drv_common.h" #include "drv_gpio.h" /* defined the led2 pin: pd13 */ diff --git a/bsp/at32/at32f437-start/board/SConscript b/bsp/at32/at32f437-start/board/SConscript index f2bd1c028d..dd39194f5f 100644 --- a/bsp/at32/at32f437-start/board/SConscript +++ b/bsp/at32/at32f437-start/board/SConscript @@ -18,11 +18,11 @@ path += [cwd + '/inc'] startup_path_prefix = SDK_LIB if rtconfig.PLATFORM == 'gcc': - src += [startup_path_prefix + '/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/startup_at32f435_437.s'] + src += [startup_path_prefix + '/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/startup_at32f435_437.s'] elif rtconfig.PLATFORM in ['armcc', 'armclang']: - src += [startup_path_prefix + '/f435_437/firmware/cmsis/cm4/device_support/startup/mdk/startup_at32f435_437.s'] + src += [startup_path_prefix + '/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/mdk/startup_at32f435_437.s'] elif rtconfig.CROSS_TOOL == 'iar': - src += [startup_path_prefix + '/f435_437/firmware/cmsis/cm4/device_support/startup/iar/startup_at32f435_437.s'] + src += [startup_path_prefix + '/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/startup_at32f435_437.s'] CPPDEFINES = ['AT32F437ZMT7'] group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES) diff --git a/bsp/at32/at32f437-start/project.ewp b/bsp/at32/at32f437-start/project.ewp index d8401b8724..04f9e4db63 100644 --- a/bsp/at32/at32f437-start/project.ewp +++ b/bsp/at32/at32f437-start/project.ewp @@ -348,20 +348,20 @@ <option>
<name>CCIncludePath2</name>
<state />
- <state>$PROJ_DIR$\..\libraries\f435_437\rt_drivers</state>
- <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
<state>$PROJ_DIR$\..\..\..\components\finsh</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support</state>
<state>$PROJ_DIR$\board\inc</state>
<state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
- <state>$PROJ_DIR$\..\libraries\f435_437\firmware\cmsis\cm4\device_support</state>
- <state>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\inc</state>
+ <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\inc</state>
+ <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
<state>$PROJ_DIR$\.</state>
<state>$PROJ_DIR$\applications</state>
- <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
- <state>$PROJ_DIR$\..\libraries\f435_437\firmware\cmsis\cm4\core_support</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\core_support</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common</state>
<state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
<state>$PROJ_DIR$\..\..\..\include</state>
@@ -1388,20 +1388,20 @@ <option>
<name>CCIncludePath2</name>
<state />
- <state>$PROJ_DIR$\..\libraries\f435_437\rt_drivers</state>
- <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
<state>$PROJ_DIR$\..\..\..\components\finsh</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\common</state>
<state>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support</state>
<state>$PROJ_DIR$\board\inc</state>
<state>$PROJ_DIR$\..\..\..\components\drivers\include</state>
- <state>$PROJ_DIR$\..\libraries\f435_437\firmware\cmsis\cm4\device_support</state>
- <state>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\inc</state>
+ <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\inc</state>
+ <state>$PROJ_DIR$\..\libraries\rt_drivers</state>
<state>$PROJ_DIR$\.</state>
<state>$PROJ_DIR$\applications</state>
- <state>$PROJ_DIR$\..\..\..\components\libc\posix\io\stdio</state>
+ <state>$PROJ_DIR$\..\..\..\components\libc\posix\ipc</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common\extension</state>
- <state>$PROJ_DIR$\..\libraries\f435_437\firmware\cmsis\cm4\core_support</state>
+ <state>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\core_support</state>
<state>$PROJ_DIR$\..\..\..\components\libc\compilers\common</state>
<state>$PROJ_DIR$\..\..\..\components\libc\posix\io\poll</state>
<state>$PROJ_DIR$\..\..\..\include</state>
@@ -2089,60 +2089,63 @@ <group>
<name>Compiler</name>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\stdlib.c</name>
- </file>
- <file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\time.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\common\stdlib.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscalls.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_read.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscalls.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_read.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_remove.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_mem.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_close.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_open.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\environ.c</name>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_lseek.c</name>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\components\libc\compilers\dlib\syscall_write.c</name>
</file>
</group>
<group>
<name>CPU</name>
<file>
- <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\backtrace.c</name>
- </file>
- <file>
<name>$PROJ_DIR$\..\..\..\libcpu\arm\common\showmem.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\libcpu\arm\common\div0.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\context_iar.S</name>
+ <name>$PROJ_DIR$\..\..\..\libcpu\arm\common\backtrace.c</name>
</file>
<file>
<name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\cpuport.c</name>
</file>
+ <file>
+ <name>$PROJ_DIR$\..\..\..\libcpu\arm\cortex-m4\context_iar.S</name>
+ </file>
</group>
<group>
<name>DeviceDrivers</name>
<file>
+ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\waitqueue.c</name>
+ </file>
+ <file>
<name>$PROJ_DIR$\..\..\..\components\drivers\ipc\ringblk_buf.c</name>
</file>
<file>
@@ -2161,9 +2164,6 @@ <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\completion.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\components\drivers\ipc\waitqueue.c</name>
- </file>
- <file>
<name>$PROJ_DIR$\..\..\..\components\drivers\misc\pin.c</name>
</file>
<file>
@@ -2173,22 +2173,22 @@ <group>
<name>Drivers</name>
<file>
- <name>$PROJ_DIR$\board\src\at32_msp.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\startup\iar\startup_at32f435_437.s</name>
</file>
<file>
- <name>$PROJ_DIR$\board\src\board.c</name>
+ <name>$PROJ_DIR$\board\src\at32_msp.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\cmsis\cm4\device_support\startup\iar\startup_at32f435_437.s</name>
+ <name>$PROJ_DIR$\board\src\board.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\rt_drivers\drv_gpio.c</name>
+ <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_gpio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\rt_drivers\drv_usart.c</name>
+ <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_usart.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\rt_drivers\drv_common.c</name>
+ <name>$PROJ_DIR$\..\libraries\rt_drivers\drv_common.c</name>
</file>
</group>
<group>
@@ -2209,133 +2209,133 @@ <name>$PROJ_DIR$\..\..\..\src\idle.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\memheap.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\mem.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\thread.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\clock.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\object.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\clock.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\scheduler.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\timer.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\mem.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\memheap.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\ipc.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\device.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\device.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\kservice.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\thread.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\components.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\mempool.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\scheduler.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\components.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\irq.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\..\..\src\object.c</name>
+ <name>$PROJ_DIR$\..\..\..\src\mempool.c</name>
</file>
</group>
<group>
<name>Libraries</name>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_gpio.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_gpio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_exint.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_exint.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_i2c.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_i2c.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\cmsis\cm4\device_support\system_at32f435_437.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\system_at32f435_437.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_acc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_acc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_dac.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dac.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_qspi.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_qspi.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_crc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_dma.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dma.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_can.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_can.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_ertc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_ertc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_usb.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usb.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_spi.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_spi.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_pwc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_pwc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_tmr.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_tmr.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_edma.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_edma.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_emac.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_emac.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_xmc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_xmc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_debug.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_debug.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_dvp.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dvp.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_misc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_misc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_usart.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usart.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_wdt.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wdt.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_flash.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_flash.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_adc.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_adc.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_wwdt.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wwdt.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_scfg.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_scfg.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_sdio.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_sdio.c</name>
</file>
<file>
- <name>$PROJ_DIR$\..\libraries\f435_437\firmware\drivers\src\at32f435_437_crm.c</name>
+ <name>$PROJ_DIR$\..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crm.c</name>
</file>
</group>
<group>
diff --git a/bsp/at32/at32f437-start/project.uvproj b/bsp/at32/at32f437-start/project.uvproj index b3e7e45d89..2787c9a884 100644 --- a/bsp/at32/at32f437-start/project.uvproj +++ b/bsp/at32/at32f437-start/project.uvproj @@ -359,7 +359,7 @@ <MiscControls /> <Define>AT32F437ZMT7, USE_STDPERIPH_DRIVER, __RTTHREAD__, RT_USING_ARM_LIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define> <Undefine /> - <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\f435_437\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\f435_437\firmware\cmsis\cm4\device_support;..\libraries\f435_437\firmware\cmsis\cm4\core_support;..\libraries\f435_437\firmware\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> + <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\core_support;..\libraries\AT32F435_437_Firmware_Library\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> </VariousControls> </Cads> <Aads> @@ -444,23 +444,23 @@ <GroupName>CPU</GroupName> <Files> <File> - <FileName>showmem.c</FileName> + <FileName>backtrace.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\libcpu\arm\common\showmem.c</FilePath> + <FilePath>..\..\..\libcpu\arm\common\backtrace.c</FilePath> </File> </Files> <Files> <File> - <FileName>div0.c</FileName> + <FileName>showmem.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\libcpu\arm\common\div0.c</FilePath> + <FilePath>..\..\..\libcpu\arm\common\showmem.c</FilePath> </File> </Files> <Files> <File> - <FileName>backtrace.c</FileName> + <FileName>div0.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\libcpu\arm\common\backtrace.c</FilePath> + <FilePath>..\..\..\libcpu\arm\common\div0.c</FilePath> </File> </Files> <Files> @@ -482,51 +482,51 @@ <GroupName>DeviceDrivers</GroupName> <Files> <File> - <FileName>workqueue.c</FileName> + <FileName>pipe.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\workqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\pipe.c</FilePath> </File> </Files> <Files> <File> - <FileName>ringbuffer.c</FileName> + <FileName>workqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\ringbuffer.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\workqueue.c</FilePath> </File> </Files> <Files> <File> - <FileName>pipe.c</FileName> + <FileName>completion.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\pipe.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> </File> </Files> <Files> <File> - <FileName>completion.c</FileName> + <FileName>ringblk_buf.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\ringblk_buf.c</FilePath> </File> </Files> <Files> <File> - <FileName>waitqueue.c</FileName> + <FileName>dataqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\waitqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\dataqueue.c</FilePath> </File> </Files> <Files> <File> - <FileName>ringblk_buf.c</FileName> + <FileName>waitqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\ringblk_buf.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\waitqueue.c</FilePath> </File> </Files> <Files> <File> - <FileName>dataqueue.c</FileName> + <FileName>ringbuffer.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\dataqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\ringbuffer.c</FilePath> </File> </Files> <Files> @@ -550,7 +550,7 @@ <File> <FileName>startup_at32f435_437.s</FileName> <FileType>2</FileType> - <FilePath>..\libraries\f435_437\firmware\cmsis\cm4\device_support\startup\mdk\startup_at32f435_437.s</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f435_437.s</FilePath> </File> </Files> <Files> @@ -571,21 +571,21 @@ <File> <FileName>drv_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\rt_drivers\drv_gpio.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\rt_drivers\drv_usart.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_common.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\rt_drivers\drv_common.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_common.c</FilePath> </File> </Files> </Group> @@ -617,20 +617,6 @@ <GroupName>Kernel</GroupName> <Files> <File> - <FileName>object.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\src\object.c</FilePath> - </File> - </Files> - <Files> - <File> - <FileName>timer.c</FileName> - <FileType>1</FileType> - <FilePath>..\..\..\src\timer.c</FilePath> - </File> - </Files> - <Files> - <File> <FileName>thread.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\src\thread.c</FilePath> @@ -638,23 +624,23 @@ </Files> <Files> <File> - <FileName>memheap.c</FileName> + <FileName>clock.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\memheap.c</FilePath> + <FilePath>..\..\..\src\clock.c</FilePath> </File> </Files> <Files> <File> - <FileName>clock.c</FileName> + <FileName>kservice.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\clock.c</FilePath> + <FilePath>..\..\..\src\kservice.c</FilePath> </File> </Files> <Files> <File> - <FileName>kservice.c</FileName> + <FileName>object.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\kservice.c</FilePath> + <FilePath>..\..\..\src\object.c</FilePath> </File> </Files> <Files> @@ -666,16 +652,16 @@ </Files> <Files> <File> - <FileName>device.c</FileName> + <FileName>memheap.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\device.c</FilePath> + <FilePath>..\..\..\src\memheap.c</FilePath> </File> </Files> <Files> <File> - <FileName>mempool.c</FileName> + <FileName>device.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\mempool.c</FilePath> + <FilePath>..\..\..\src\device.c</FilePath> </File> </Files> <Files> @@ -687,9 +673,9 @@ </Files> <Files> <File> - <FileName>mem.c</FileName> + <FileName>timer.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\mem.c</FilePath> + <FilePath>..\..\..\src\timer.c</FilePath> </File> </Files> <Files> @@ -708,11 +694,25 @@ </Files> <Files> <File> + <FileName>mempool.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\src\mempool.c</FilePath> + </File> + </Files> + <Files> + <File> <FileName>idle.c</FileName> <FileType>1</FileType> <FilePath>..\..\..\src\idle.c</FilePath> </File> </Files> + <Files> + <File> + <FileName>mem.c</FileName> + <FileType>1</FileType> + <FilePath>..\..\..\src\mem.c</FilePath> + </File> + </Files> </Group> <Group> <GroupName>Libraries</GroupName> @@ -720,203 +720,203 @@ <File> <FileName>at32f435_437_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_gpio.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_exint.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_exint.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_exint.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_i2c.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_i2c.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_i2c.c</FilePath> </File> </Files> <Files> <File> <FileName>system_at32f435_437.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\cmsis\cm4\device_support\system_at32f435_437.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\system_at32f435_437.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_acc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_acc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_acc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_dac.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_dac.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dac.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_qspi.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_qspi.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_qspi.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_crc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_crc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_dma.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_dma.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dma.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_can.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_can.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_can.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_ertc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_ertc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_ertc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_usb.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_usb.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usb.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_spi.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_spi.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_spi.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_pwc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_pwc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_pwc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_tmr.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_tmr.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_tmr.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_edma.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_edma.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_edma.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_emac.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_emac.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_emac.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_xmc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_xmc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_xmc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_debug.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_debug.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_debug.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_dvp.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_dvp.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dvp.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_misc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_misc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_misc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_usart.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_wdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_wdt.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_flash.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_flash.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_flash.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_adc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_adc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_adc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_wwdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_wwdt.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wwdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_scfg.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_scfg.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_scfg.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_sdio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_sdio.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_sdio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_crm.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_crm.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crm.c</FilePath> </File> </Files> </Group> diff --git a/bsp/at32/at32f437-start/project.uvprojx b/bsp/at32/at32f437-start/project.uvprojx index a0718f1132..2364041bc2 100644 --- a/bsp/at32/at32f437-start/project.uvprojx +++ b/bsp/at32/at32f437-start/project.uvprojx @@ -335,7 +335,7 @@ <MiscControls /> <Define>AT32F437ZMT7, USE_STDPERIPH_DRIVER, __RTTHREAD__, RT_USING_ARM_LIBC, __CLK_TCK=RT_TICK_PER_SECOND</Define> <Undefine /> - <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\f435_437\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\f435_437\firmware\cmsis\cm4\device_support;..\libraries\f435_437\firmware\cmsis\cm4\core_support;..\libraries\f435_437\firmware\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> + <IncludePath>applications;.;..\..\..\components\libc\compilers\common;..\..\..\components\libc\compilers\common\extension;..\..\..\libcpu\arm\common;..\..\..\libcpu\arm\cortex-m4;..\..\..\components\drivers\include;..\..\..\components\drivers\include;..\..\..\components\drivers\include;board;board\inc;..\libraries\rt_drivers;..\..\..\components\finsh;.;..\..\..\include;..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support;..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\core_support;..\libraries\AT32F435_437_Firmware_Library\drivers\inc;..\..\..\components\libc\posix\io\poll;..\..\..\components\libc\posix\io\stdio;..\..\..\components\libc\posix\ipc</IncludePath> </VariousControls> </Cads> <Aads> @@ -473,9 +473,9 @@ </Files> <Files> <File> - <FileName>completion.c</FileName> + <FileName>dataqueue.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\dataqueue.c</FilePath> </File> </Files> <Files> @@ -501,9 +501,9 @@ </Files> <Files> <File> - <FileName>dataqueue.c</FileName> + <FileName>completion.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\components\drivers\ipc\dataqueue.c</FilePath> + <FilePath>..\..\..\components\drivers\ipc\completion.c</FilePath> </File> </Files> <Files> @@ -527,7 +527,7 @@ <File> <FileName>startup_at32f435_437.s</FileName> <FileType>2</FileType> - <FilePath>..\libraries\f435_437\firmware\cmsis\cm4\device_support\startup\mdk\startup_at32f435_437.s</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\startup\mdk\startup_at32f435_437.s</FilePath> </File> </Files> <Files> @@ -548,21 +548,21 @@ <File> <FileName>drv_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\rt_drivers\drv_gpio.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\rt_drivers\drv_usart.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>drv_common.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\rt_drivers\drv_common.c</FilePath> + <FilePath>..\libraries\rt_drivers\drv_common.c</FilePath> </File> </Files> </Group> @@ -594,37 +594,37 @@ <GroupName>Kernel</GroupName> <Files> <File> - <FileName>components.c</FileName> + <FileName>device.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\components.c</FilePath> + <FilePath>..\..\..\src\device.c</FilePath> </File> </Files> <Files> <File> - <FileName>timer.c</FileName> + <FileName>mempool.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\timer.c</FilePath> + <FilePath>..\..\..\src\mempool.c</FilePath> </File> </Files> <Files> <File> - <FileName>idle.c</FileName> + <FileName>thread.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\idle.c</FilePath> + <FilePath>..\..\..\src\thread.c</FilePath> </File> </Files> <Files> <File> - <FileName>mem.c</FileName> + <FileName>components.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\mem.c</FilePath> + <FilePath>..\..\..\src\components.c</FilePath> </File> </Files> <Files> <File> - <FileName>scheduler.c</FileName> + <FileName>mem.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\scheduler.c</FilePath> + <FilePath>..\..\..\src\mem.c</FilePath> </File> </Files> <Files> @@ -636,58 +636,58 @@ </Files> <Files> <File> - <FileName>mempool.c</FileName> + <FileName>idle.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\mempool.c</FilePath> + <FilePath>..\..\..\src\idle.c</FilePath> </File> </Files> <Files> <File> - <FileName>ipc.c</FileName> + <FileName>object.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\ipc.c</FilePath> + <FilePath>..\..\..\src\object.c</FilePath> </File> </Files> <Files> <File> - <FileName>object.c</FileName> + <FileName>timer.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\object.c</FilePath> + <FilePath>..\..\..\src\timer.c</FilePath> </File> </Files> <Files> <File> - <FileName>clock.c</FileName> + <FileName>memheap.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\clock.c</FilePath> + <FilePath>..\..\..\src\memheap.c</FilePath> </File> </Files> <Files> <File> - <FileName>thread.c</FileName> + <FileName>clock.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\thread.c</FilePath> + <FilePath>..\..\..\src\clock.c</FilePath> </File> </Files> <Files> <File> - <FileName>memheap.c</FileName> + <FileName>kservice.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\memheap.c</FilePath> + <FilePath>..\..\..\src\kservice.c</FilePath> </File> </Files> <Files> <File> - <FileName>kservice.c</FileName> + <FileName>scheduler.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\kservice.c</FilePath> + <FilePath>..\..\..\src\scheduler.c</FilePath> </File> </Files> <Files> <File> - <FileName>device.c</FileName> + <FileName>ipc.c</FileName> <FileType>1</FileType> - <FilePath>..\..\..\src\device.c</FilePath> + <FilePath>..\..\..\src\ipc.c</FilePath> </File> </Files> </Group> @@ -697,203 +697,203 @@ <File> <FileName>at32f435_437_gpio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_gpio.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_gpio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_exint.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_exint.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_exint.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_i2c.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_i2c.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_i2c.c</FilePath> </File> </Files> <Files> <File> <FileName>system_at32f435_437.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\cmsis\cm4\device_support\system_at32f435_437.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\cmsis\cm4\device_support\system_at32f435_437.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_acc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_acc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_acc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_dac.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_dac.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dac.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_qspi.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_qspi.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_qspi.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_crc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_crc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_dma.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_dma.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dma.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_can.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_can.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_can.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_ertc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_ertc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_ertc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_usb.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_usb.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usb.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_spi.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_spi.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_spi.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_pwc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_pwc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_pwc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_tmr.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_tmr.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_tmr.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_edma.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_edma.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_edma.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_emac.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_emac.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_emac.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_xmc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_xmc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_xmc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_debug.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_debug.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_debug.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_dvp.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_dvp.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_dvp.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_misc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_misc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_misc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_usart.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_usart.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_usart.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_wdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_wdt.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_flash.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_flash.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_flash.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_adc.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_adc.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_adc.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_wwdt.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_wwdt.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_wwdt.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_scfg.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_scfg.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_scfg.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_sdio.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_sdio.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_sdio.c</FilePath> </File> </Files> <Files> <File> <FileName>at32f435_437_crm.c</FileName> <FileType>1</FileType> - <FilePath>..\libraries\f435_437\firmware\drivers\src\at32f435_437_crm.c</FilePath> + <FilePath>..\libraries\AT32F435_437_Firmware_Library\drivers\src\at32f435_437_crm.c</FilePath> </File> </Files> </Group> diff --git a/bsp/at32/at32f437-start/rtconfig.h b/bsp/at32/at32f437-start/rtconfig.h index 3043781eef..b6ca605021 100644 --- a/bsp/at32/at32f437-start/rtconfig.h +++ b/bsp/at32/at32f437-start/rtconfig.h @@ -40,8 +40,7 @@ #define RT_USING_SMALL_MEM #define RT_USING_MEMHEAP #define RT_MEMHEAP_FAST_MODE -#define RT_USING_MEMHEAP_AS_HEAP -#define RT_USING_MEMHEAP_AUTO_BINDING +#define RT_USING_SMALL_MEM_AS_HEAP #define RT_USING_HEAP /* Kernel Device Object */ @@ -175,7 +174,5 @@ #define BSP_USING_GPIO #define BSP_USING_UART #define BSP_USING_UART1 -#define BSP_USING_UART2 -#define BSP_USING_UART3 #endif diff --git a/bsp/at32/libraries/f403a_407/firmware/SConscript b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/SConscript index 8ff517be72..8ff517be72 100644 --- a/bsp/at32/libraries/f403a_407/firmware/SConscript +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/SConscript diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/arm_common_tables.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/arm_common_tables.h index 721b18dd2d..721b18dd2d 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/arm_common_tables.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/arm_common_tables.h diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/arm_const_structs.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/arm_const_structs.h index 83984c40cd..83984c40cd 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/arm_const_structs.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/arm_const_structs.h diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/arm_helium_utils.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/arm_helium_utils.h index 85688575eb..85688575eb 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/arm_helium_utils.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/arm_helium_utils.h diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/arm_math.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/arm_math.h index 2483e6ecfb..2483e6ecfb 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/arm_math.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/arm_math.h diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/arm_mve_tables.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/arm_mve_tables.h index c07f988f5c..c07f988f5c 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/arm_mve_tables.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/arm_mve_tables.h diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/arm_vec_math.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/arm_vec_math.h index 0ce9464bcb..0ce9464bcb 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/arm_vec_math.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/arm_vec_math.h diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_armcc.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_armcc.h index 9570d3623e..9570d3623e 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_armcc.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_armcc.h diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_armclang.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang.h index b466ba4345..b466ba4345 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_armclang.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang.h diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_armclang_ltm.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang_ltm.h index e0c5b941b1..e0c5b941b1 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_armclang_ltm.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang_ltm.h diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_compiler.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_compiler.h index 8d3ab9721e..8d3ab9721e 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_compiler.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_compiler.h diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_gcc.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_gcc.h index 683ce0f261..683ce0f261 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_gcc.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_gcc.h diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_iccarm.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_iccarm.h index 890ba207eb..890ba207eb 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_iccarm.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_iccarm.h diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_version.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_version.h index c999178e04..c999178e04 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/cmsis_version.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/cmsis_version.h diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/core_cm4.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/core_cm4.h index 6a50d5e86d..6a50d5e86d 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/core_cm4.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/core_cm4.h diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/mpu_armv7.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/mpu_armv7.h index 442fc21a3b..442fc21a3b 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/mpu_armv7.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/mpu_armv7.h diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/mpu_armv8.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/mpu_armv8.h index 3a197fbb49..3a197fbb49 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/mpu_armv8.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/mpu_armv8.h diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/pmu_armv8.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/pmu_armv8.h index 23b37d95e4..23b37d95e4 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/core_support/pmu_armv8.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/core_support/pmu_armv8.h diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/at32f403a_407.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/at32f403a_407.h index 3008531daa..6e8046d0a5 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/at32f403a_407.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/at32f403a_407.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 header file ************************************************************************** * Copyright notice & Disclaimer @@ -97,7 +97,7 @@ extern "C" { */ #define __AT32F403A_407_LIBRARY_VERSION_MAJOR (0x02) /*!< [31:24] major version */ #define __AT32F403A_407_LIBRARY_VERSION_MIDDLE (0x00) /*!< [23:16] middle version */ -#define __AT32F403A_407_LIBRARY_VERSION_MINOR (0x07) /*!< [15:8] minor version */ +#define __AT32F403A_407_LIBRARY_VERSION_MINOR (0x09) /*!< [15:8] minor version */ #define __AT32F403A_407_LIBRARY_VERSION_RC (0x00) /*!< [7:0] release candidate */ #define __AT32F403A_407_LIBRARY_VERSION ((__AT32F403A_407_LIBRARY_VERSION_MAJOR << 24) | \ (__AT32F403A_407_LIBRARY_VERSION_MIDDLE << 16) | \ diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/at32f403a_407_conf_template.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/at32f403a_407_conf_template.h index a1f7a5df00..97e0d9827e 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/at32f403a_407_conf_template.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/at32f403a_407_conf_template.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_conf.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 config header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxC_FLASH.ld b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxC_FLASH.ld index 5c7050764b..7238b76aae 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxC_FLASH.ld +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxC_FLASH.ld @@ -22,7 +22,7 @@ ENTRY(Reset_Handler) /* Highest address of the user mode stack */ -_estack = 0x20017FFF; /* end of RAM */ +_estack = 0x20018000; /* end of RAM */ /* Generate a link error if heap and stack don't fit into RAM */ _Min_Heap_Size = 0x200; /* required amount of heap */ @@ -134,12 +134,12 @@ SECTIONS /* User_heap_stack section, used to check that there is enough RAM left */ ._user_heap_stack : { - . = ALIGN(4); + . = ALIGN(8); PROVIDE ( end = . ); PROVIDE ( _end = . ); . = . + _Min_Heap_Size; . = . + _Min_Stack_Size; - . = ALIGN(4); + . = ALIGN(8); } >RAM /* Remove information from the standard libraries */ diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxE_FLASH.ld b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxE_FLASH.ld index f2ab8b57c9..90635dce94 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxE_FLASH.ld +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxE_FLASH.ld @@ -22,7 +22,7 @@ ENTRY(Reset_Handler) /* Highest address of the user mode stack */ -_estack = 0x20017FFF; /* end of RAM */ +_estack = 0x20018000; /* end of RAM */ /* Generate a link error if heap and stack don't fit into RAM */ _Min_Heap_Size = 0x200; /* required amount of heap */ @@ -134,12 +134,12 @@ SECTIONS /* User_heap_stack section, used to check that there is enough RAM left */ ._user_heap_stack : { - . = ALIGN(4); + . = ALIGN(8); PROVIDE ( end = . ); PROVIDE ( _end = . ); . = . + _Min_Heap_Size; . = . + _Min_Stack_Size; - . = ALIGN(4); + . = ALIGN(8); } >RAM /* Remove information from the standard libraries */ diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxG_FLASH.ld b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxG_FLASH.ld index 2fe5e3f920..0d6508289b 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxG_FLASH.ld +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F403AxG_FLASH.ld @@ -22,7 +22,7 @@ ENTRY(Reset_Handler) /* Highest address of the user mode stack */ -_estack = 0x20017FFF; /* end of RAM */ +_estack = 0x20018000; /* end of RAM */ /* Generate a link error if heap and stack don't fit into RAM */ _Min_Heap_Size = 0x200; /* required amount of heap */ @@ -134,12 +134,12 @@ SECTIONS /* User_heap_stack section, used to check that there is enough RAM left */ ._user_heap_stack : { - . = ALIGN(4); + . = ALIGN(8); PROVIDE ( end = . ); PROVIDE ( _end = . ); . = . + _Min_Heap_Size; . = . + _Min_Stack_Size; - . = ALIGN(4); + . = ALIGN(8); } >RAM /* Remove information from the standard libraries */ diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F407xC_FLASH.ld b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F407xC_FLASH.ld index 57bf09e833..9c648aaf85 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F407xC_FLASH.ld +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F407xC_FLASH.ld @@ -22,7 +22,7 @@ ENTRY(Reset_Handler) /* Highest address of the user mode stack */ -_estack = 0x20017FFF; /* end of RAM */ +_estack = 0x20018000; /* end of RAM */ /* Generate a link error if heap and stack don't fit into RAM */ _Min_Heap_Size = 0x200; /* required amount of heap */ @@ -134,12 +134,12 @@ SECTIONS /* User_heap_stack section, used to check that there is enough RAM left */ ._user_heap_stack : { - . = ALIGN(4); + . = ALIGN(8); PROVIDE ( end = . ); PROVIDE ( _end = . ); . = . + _Min_Heap_Size; . = . + _Min_Stack_Size; - . = ALIGN(4); + . = ALIGN(8); } >RAM /* Remove information from the standard libraries */ diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F407xE_FLASH.ld b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F407xE_FLASH.ld index 28c6a63091..0f43a0d231 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F407xE_FLASH.ld +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F407xE_FLASH.ld @@ -22,7 +22,7 @@ ENTRY(Reset_Handler) /* Highest address of the user mode stack */ -_estack = 0x20017FFF; /* end of RAM */ +_estack = 0x20018000; /* end of RAM */ /* Generate a link error if heap and stack don't fit into RAM */ _Min_Heap_Size = 0x200; /* required amount of heap */ @@ -134,12 +134,12 @@ SECTIONS /* User_heap_stack section, used to check that there is enough RAM left */ ._user_heap_stack : { - . = ALIGN(4); + . = ALIGN(8); PROVIDE ( end = . ); PROVIDE ( _end = . ); . = . + _Min_Heap_Size; . = . + _Min_Stack_Size; - . = ALIGN(4); + . = ALIGN(8); } >RAM /* Remove information from the standard libraries */ diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F407xG_FLASH.ld b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F407xG_FLASH.ld index 5ee5c4210a..09764fd6f5 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F407xG_FLASH.ld +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F407xG_FLASH.ld @@ -22,7 +22,7 @@ ENTRY(Reset_Handler) /* Highest address of the user mode stack */ -_estack = 0x20017FFF; /* end of RAM */ +_estack = 0x20018000; /* end of RAM */ /* Generate a link error if heap and stack don't fit into RAM */ _Min_Heap_Size = 0x200; /* required amount of heap */ @@ -134,12 +134,12 @@ SECTIONS /* User_heap_stack section, used to check that there is enough RAM left */ ._user_heap_stack : { - . = ALIGN(4); + . = ALIGN(8); PROVIDE ( end = . ); PROVIDE ( _end = . ); . = . + _Min_Heap_Size; . = . + _Min_Stack_Size; - . = ALIGN(4); + . = ALIGN(8); } >RAM /* Remove information from the standard libraries */ diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/startup_at32f403a_407.s b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/startup_at32f403a_407.s index c3cdec6c65..86a0937d3b 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/gcc/startup_at32f403a_407.s +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/gcc/startup_at32f403a_407.s @@ -1,8 +1,8 @@ /** ****************************************************************************** * @file startup_at32f403a_407.s - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407xx devices vector table for gcc toolchain. * this module performs: * - set the initial sp diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F403AxC.icf b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F403AxC.icf index 5c133472cb..5c133472cb 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F403AxC.icf +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F403AxC.icf diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F403AxE.icf b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F403AxE.icf index 4b5ba6a97b..4b5ba6a97b 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F403AxE.icf +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F403AxE.icf diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F403AxG.icf b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F403AxG.icf index 97734051a2..97734051a2 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F403AxG.icf +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F403AxG.icf diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F407xC.icf b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F407xC.icf index 5c133472cb..5c133472cb 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F407xC.icf +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F407xC.icf diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F407xE.icf b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F407xE.icf index 4b5ba6a97b..4b5ba6a97b 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F407xE.icf +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F407xE.icf diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F407xG.icf b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F407xG.icf index 97734051a2..97734051a2 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F407xG.icf +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F407xG.icf diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/startup_at32f403a_407.s b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/startup_at32f403a_407.s index 7fe5840d98..99d8330ef6 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/iar/startup_at32f403a_407.s +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/iar/startup_at32f403a_407.s @@ -1,7 +1,7 @@ ;************************************************************************** ;* @file startup_at32f403a_407.s -;* @version v2.0.7 -;* @date 2022-02-11 +;* @version v2.0.9 +;* @date 2022-04-25 ;* @brief at32f403a_407 startup file for IAR Systems ;************************************************************************** ; diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/mdk/startup_at32f403a_407.s b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/mdk/startup_at32f403a_407.s index b728677e7d..3ca9b3129e 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/startup/mdk/startup_at32f403a_407.s +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/startup/mdk/startup_at32f403a_407.s @@ -1,7 +1,7 @@ ;************************************************************************** ;* @file startup_at32f403a_407.s -;* @version v2.0.7 -;* @date 2022-02-11 +;* @version v2.0.9 +;* @date 2022-04-25 ;* @brief at32f403a_407 startup file for keil ;************************************************************************** ; diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/system_at32f403a_407.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/system_at32f403a_407.c index 8c2cd6e8cd..1fea754ae4 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/system_at32f403a_407.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/system_at32f403a_407.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file system_at32f403a_407.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for cmsis cortex-m4 system source file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/system_at32f403a_407.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/system_at32f403a_407.h index 6d9183ff95..dd23713450 100644 --- a/bsp/at32/libraries/f403a_407/firmware/cmsis/cm4/device_support/system_at32f403a_407.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/cmsis/cm4/device_support/system_at32f403a_407.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file system_at32f403a_407.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief cmsis cortex-m4 system header file. ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_acc.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_acc.h index d84f99c048..5415a248b3 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_acc.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_acc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_acc.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 acc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_adc.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_adc.h index 4e3b5dbd47..cb072971f5 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_adc.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_adc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_adc.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 adc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_bpr.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_bpr.h index c29c6795f0..03235e1068 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_bpr.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_bpr.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_bpr.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 bpr header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_can.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_can.h index 1c9771be7d..247dfff393 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_can.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_can.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_can.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 can header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_crc.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_crc.h index eaa3935f43..99a81578f9 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_crc.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_crc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_crc.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 crc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_crm.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_crm.h index 2ac5d4e289..eaaa59e9b5 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_crm.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_crm.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_crm.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 crm header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_dac.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_dac.h index 67e5e03ad1..6b80067615 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_dac.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_dac.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_dac.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 dac header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_debug.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_debug.h index 84953370ca..7de5a36f5a 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_debug.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_debug.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_debug.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 debug header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_def.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_def.h index 57fe3aaae5..f54003a42d 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_def.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_def.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_def.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 macros header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_dma.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_dma.h index 8c8ac9db96..7f755bb3ae 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_dma.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_dma.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_dma.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 dma header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_emac.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_emac.h index 2dd54e4ae3..7fb82a44ed 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_emac.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_emac.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_emac.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 emac header file ************************************************************************** * Copyright notice & Disclaimer @@ -45,7 +45,7 @@ extern "C" { * @{ */ -#define PHY_TIMEOUT (0x0FFFFFFF) /*!< timeout for phy response */ +#define PHY_TIMEOUT (0x000FFFFF) /*!< timeout for phy response */ /** @defgroup EMAC_smi_clock_border_definition * @brief emac smi clock border @@ -1639,7 +1639,6 @@ void emac_dma_eight_pbl_mode_set(confirm_state new_state); void emac_dma_address_aligned_beats_set(confirm_state new_state); void emac_dma_poll_demand_set(emac_dma_tx_rx_type transfer_type, uint32_t value); uint32_t emac_dma_poll_demand_get(emac_dma_tx_rx_type transfer_type); -flag_status emac_dma_status_get(uint32_t flag); emac_dma_receive_process_status_type emac_dma_receive_status_get(void); emac_dma_transmit_process_status_type emac_dma_transmit_status_get(void); void emac_dma_operations_set(emac_dma_operations_type ops, confirm_state new_state); diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_exint.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_exint.h index 438723765f..a03d6e169a 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_exint.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_exint.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_exint.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 exint header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_flash.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_flash.h index ccb14b9d79..1e31aefff2 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_flash.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_flash.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_flash.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 flash header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_gpio.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_gpio.h index 588ef3bef5..a4c3a9ae3f 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_gpio.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_gpio.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_gpio.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 gpio header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_i2c.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_i2c.h index 24997252c8..bb46a0ac34 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_i2c.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_i2c.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_i2c.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 i2c header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_misc.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_misc.h index c43bc7956d..1f06dc2b18 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_misc.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_misc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_misc.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 misc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_pwc.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_pwc.h index 2bfb06d97b..7b154cd257 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_pwc.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_pwc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_pwc.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 pwc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_rtc.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_rtc.h index 2dfbd586b1..5c4671db49 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_rtc.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_rtc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_rtc.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 rtc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_sdio.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_sdio.h index fd7282049d..f9b1238541 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_sdio.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_sdio.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_sdio.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 sdio header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_spi.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_spi.h index 4dafd89252..205363f454 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_spi.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_spi.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_spi.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 spi header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_tmr.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_tmr.h index b0a5036779..1404b70177 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_tmr.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_tmr.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_tmr.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 tmr header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_usart.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_usart.h index a0ba18bb02..c168b5a771 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_usart.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_usart.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_usart.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 usart header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_usb.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_usb.h index 32835f8a55..f52d3e85db 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_usb.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_usb.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_usb.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 usb header file ************************************************************************** * Copyright notice & Disclaimer @@ -517,6 +517,7 @@ typedef struct uint8_t *trans_buf; /*!< endpoint transmission buffer */ uint16_t last_len; /*!< last transfer length */ + uint16_t rem0_len; /*!< rem transfer length */ uint16_t ept0_slen; /*!< endpoint 0 transfer sum length */ }usb_ept_info; diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_wdt.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_wdt.h index 5d1b24516a..f870840a7b 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_wdt.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_wdt.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_wdt.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 wdt header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_wwdt.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_wwdt.h index 3f1e61893a..8c26c5a8b1 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_wwdt.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_wwdt.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_wwdt.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 wwdt header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_xmc.h b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_xmc.h index 24615ca61e..67d26450fc 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/inc/at32f403a_407_xmc.h +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/inc/at32f403a_407_xmc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_xmc.h - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief at32f403a_407 xmc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_acc.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_acc.c index 41e18e909d..770db6ac86 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_acc.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_acc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_acc.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the acc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_adc.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_adc.c index 7e223dba20..5161242761 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_adc.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_adc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_adc.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the adc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_bpr.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_bpr.c index 42e915eb30..08e1922e1f 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_bpr.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_bpr.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_bpr.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the bpr firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_can.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_can.c index 8618f0d054..12e4586d95 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_can.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_can.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_can.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the can firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_crc.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_crc.c index 57ff557eb6..aa81315212 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_crc.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_crc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_crc.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the crc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_crm.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_crm.c index b0f9410179..c3ea29c3ae 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_crm.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_crm.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_crm.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the crm firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_dac.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_dac.c index 3c870d9d91..b956361598 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_dac.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_dac.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_dac.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the dac firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_debug.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_debug.c index b8ecdf30ee..893cd604bd 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_debug.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_debug.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_debug.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the debug firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_dma.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_dma.c index d72ecd56d2..39e036d0c7 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_dma.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_dma.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_dma.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the dma firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_emac.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_emac.c index 43780837e8..a8b93ce5fe 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_emac.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_emac.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_emac.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the emac firmware library ************************************************************************** * Copyright notice & Disclaimer @@ -265,6 +265,7 @@ error_status emac_phy_register_read(uint8_t address, uint8_t reg, uint16_t *data do { + timeout++; *data = EMAC->miidt_bit.md; } while((EMAC->miiaddr_bit.mb) && (timeout < PHY_TIMEOUT)); @@ -1246,40 +1247,6 @@ uint32_t emac_dma_poll_demand_get(emac_dma_tx_rx_type transfer_type) } /** - * @brief get emac dma status - * @param flag: specifies the flag to check. - * this parameter can be one of the following values: - * - DMA_TX_DONE - * - DMA_TX_STOP - * - DMA_TX_UNAVAILABLE - * - DMA_TX_JABBER_TIMEOUT - * - DMA_RX_OVERFLOW - * - DMA_TX_UNDERFLOW - * - DMA_RX_DONE - * - DMA_RX_UNAVAILABLE - * - DMA_RX_STOP - * - DMA_RX_WDG_TIMEOUT - * - DMA_TX_EARLY - * - DMA_FATAL_BUS_ERROR - * - DMA_RX_EARLY - * - DMA_MMC_STATUS - * - DMA_PMT_STATUS - * - DMA_TST_STATUS - * @retval the new state of usart_flag (SET or RESET). - */ -flag_status emac_dma_status_get(uint32_t flag) -{ - if(EMAC_DMA->sts & flag) - { - return SET; - } - else - { - return RESET; - } -} - -/** * @brief get receive dma process status * @param none * @retval every situation it describe in RM diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_exint.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_exint.c index 012589158a..c6ef1c335e 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_exint.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_exint.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_exint.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the exint firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_flash.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_flash.c index 8e125e4675..98e7cb9922 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_flash.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_flash.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_flash.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the flash firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_gpio.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_gpio.c index 6d06cc6722..fbff02dd12 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_gpio.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_gpio.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_gpio.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the gpio firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_i2c.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_i2c.c index f11fa6851d..8a55b48b3d 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_i2c.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_i2c.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_i2c.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the i2c firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_misc.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_misc.c index c19074331f..25b34c1253 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_misc.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_misc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_misc.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the misc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_pwc.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_pwc.c index 600396a755..fc945a9cf3 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_pwc.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_pwc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_pwc.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the pwc firmware library ************************************************************************** * Copyright notice & Disclaimer @@ -126,9 +126,9 @@ void pwc_wakeup_pin_enable(uint32_t pin_num, confirm_state new_state) */ void pwc_flag_clear(uint32_t pwc_flag) { - if(pwc_flag == PWC_STANDBY_FLAG) + if(pwc_flag & PWC_STANDBY_FLAG) PWC->ctrl_bit.clsef = TRUE; - if(pwc_flag == PWC_WAKEUP_FLAG) + if(pwc_flag & PWC_WAKEUP_FLAG) PWC->ctrl_bit.clswef = TRUE; } @@ -222,7 +222,7 @@ void pwc_voltage_regulate_set(pwc_regulator_type pwc_regulator) */ void pwc_standby_mode_enter(void) { - PWC->ctrl_bit.clswef = FALSE; + PWC->ctrl_bit.clswef = TRUE; PWC->ctrl_bit.lpsel = TRUE; SCB->SCR |= 0x04; #if defined (__CC_ARM) diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_rtc.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_rtc.c index a94b51917a..f6f453cdfb 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_rtc.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_rtc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_rtc.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the rtc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_sdio.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_sdio.c index 015cb59c32..8b66019283 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_sdio.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_sdio.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_sdio.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the sdio firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_spi.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_spi.c index 3c181b1bc7..720aa92117 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_spi.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_spi.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_spi.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the spi firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_tmr.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_tmr.c index bbb06b9de6..e92df95008 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_tmr.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_tmr.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_tmr.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the tmr firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_usart.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_usart.c index 4bfd3d3799..2fde5c6780 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_usart.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_usart.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_usart.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the usart firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_usb.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_usb.c index 69d628f4d6..a177da5657 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_usb.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_usb.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_usb.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains the functions for the usb firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_wdt.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_wdt.c index 26c0d58bef..782123fbb1 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_wdt.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_wdt.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_wdt.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the wdt firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_wwdt.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_wwdt.c index 57c7c826ed..8b543852c3 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_wwdt.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_wwdt.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_wwdt.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the wwdt firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_xmc.c b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_xmc.c index 8e220cb412..6b215e91fa 100644 --- a/bsp/at32/libraries/f403a_407/firmware/drivers/src/at32f403a_407_xmc.c +++ b/bsp/at32/libraries/AT32F403A_407_Firmware_Library/drivers/src/at32f403a_407_xmc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f403a_407_xmc.c - * @version v2.0.7 - * @date 2022-02-11 + * @version v2.0.9 + * @date 2022-04-25 * @brief contains all the functions for the xmc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/SConscript b/bsp/at32/libraries/AT32F413_Firmware_Library/SConscript index 69df1e395a..69df1e395a 100644 --- a/bsp/at32/libraries/f413/firmware/SConscript +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/SConscript diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/arm_common_tables.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/arm_common_tables.h index 721b18dd2d..721b18dd2d 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/arm_common_tables.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/arm_common_tables.h diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/arm_const_structs.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/arm_const_structs.h index 83984c40cd..83984c40cd 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/arm_const_structs.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/arm_const_structs.h diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/arm_helium_utils.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/arm_helium_utils.h index 85688575eb..85688575eb 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/arm_helium_utils.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/arm_helium_utils.h diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/arm_math.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/arm_math.h index 2483e6ecfb..2483e6ecfb 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/arm_math.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/arm_math.h diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/arm_mve_tables.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/arm_mve_tables.h index c07f988f5c..c07f988f5c 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/arm_mve_tables.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/arm_mve_tables.h diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/arm_vec_math.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/arm_vec_math.h index 0ce9464bcb..0ce9464bcb 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/arm_vec_math.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/arm_vec_math.h diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_armcc.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_armcc.h index 9570d3623e..9570d3623e 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_armcc.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_armcc.h diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_armclang.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang.h index b466ba4345..b466ba4345 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_armclang.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang.h diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_armclang_ltm.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang_ltm.h index e0c5b941b1..e0c5b941b1 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_armclang_ltm.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang_ltm.h diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_compiler.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_compiler.h index 8d3ab9721e..8d3ab9721e 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_compiler.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_compiler.h diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_gcc.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_gcc.h index 683ce0f261..683ce0f261 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_gcc.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_gcc.h diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_iccarm.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_iccarm.h index 890ba207eb..890ba207eb 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_iccarm.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_iccarm.h diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_version.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_version.h index c999178e04..c999178e04 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/cmsis_version.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/cmsis_version.h diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/core_cm4.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/core_cm4.h index 6a50d5e86d..6a50d5e86d 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/core_cm4.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/core_cm4.h diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/mpu_armv7.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/mpu_armv7.h index 442fc21a3b..442fc21a3b 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/mpu_armv7.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/mpu_armv7.h diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/mpu_armv8.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/mpu_armv8.h index 3a197fbb49..3a197fbb49 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/mpu_armv8.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/mpu_armv8.h diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/pmu_armv8.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/pmu_armv8.h index 23b37d95e4..23b37d95e4 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/core_support/pmu_armv8.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/core_support/pmu_armv8.h diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/at32f413.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/at32f413.h index 07480aa856..f6085b33d9 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/at32f413.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/at32f413.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 header file ************************************************************************** * Copyright notice & Disclaimer @@ -87,7 +87,7 @@ extern "C" { */ #define __AT32F413_LIBRARY_VERSION_MAJOR (0x02) /*!< [31:24] major version */ #define __AT32F413_LIBRARY_VERSION_MIDDLE (0x00) /*!< [23:16] middle version */ -#define __AT32F413_LIBRARY_VERSION_MINOR (0x04) /*!< [15:8] minor version */ +#define __AT32F413_LIBRARY_VERSION_MINOR (0x05) /*!< [15:8] minor version */ #define __AT32F413_LIBRARY_VERSION_RC (0x00) /*!< [7:0] release candidate */ #define __AT32F413_LIBRARY_VERSION ((__AT32F413_LIBRARY_VERSION_MAJOR << 24) | \ (__AT32F413_LIBRARY_VERSION_MIDDLE << 16) | \ diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/at32f413_conf_template.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/at32f413_conf_template.h index 48bfee0f4a..697e7c0be1 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/at32f413_conf_template.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/at32f413_conf_template.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_conf.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 config header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F413x8_FLASH.ld b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F413x8_FLASH.ld index 9caee13004..9caee13004 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F413x8_FLASH.ld +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F413x8_FLASH.ld diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F413xB_FLASH.ld b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F413xB_FLASH.ld index 52088ada96..52088ada96 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F413xB_FLASH.ld +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F413xB_FLASH.ld diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F413xC_FLASH.ld b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F413xC_FLASH.ld index ada75c8a9c..ada75c8a9c 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F413xC_FLASH.ld +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F413xC_FLASH.ld diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/gcc/startup_at32f413.s b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/gcc/startup_at32f413.s index 3b03f80f2d..b5d66dc48c 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/gcc/startup_at32f413.s +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/gcc/startup_at32f413.s @@ -1,8 +1,8 @@ /** ****************************************************************************** * @file startup_at32f413.s - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413xx devices vector table for gcc toolchain. * this module performs: * - set the initial sp diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F413x8.icf b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F413x8.icf index cd94ed669e..cd94ed669e 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F413x8.icf +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F413x8.icf diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F413xB.icf b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F413xB.icf index 912235b9c0..912235b9c0 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F413xB.icf +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F413xB.icf diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F413xC.icf b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F413xC.icf index 0f25e92744..0f25e92744 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F413xC.icf +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F413xC.icf diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/iar/startup_at32f413.s b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/iar/startup_at32f413.s index 1e352729ed..a80dcc38f1 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/iar/startup_at32f413.s +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/iar/startup_at32f413.s @@ -1,7 +1,7 @@ ;************************************************************************** ;* @file startup_at32f413.s -;* @version v2.0.4 -;* @date 2022-04-02 +;* @version v2.0.5 +;* @date 2022-05-20 ;* @brief at32f413 startup file for IAR Systems ;************************************************************************** ; diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/mdk/startup_at32f413.s b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/mdk/startup_at32f413.s index 0a65e8dc0b..9dbc2dac2d 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/startup/mdk/startup_at32f413.s +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/startup/mdk/startup_at32f413.s @@ -1,7 +1,7 @@ ;************************************************************************** ;* @file startup_at32f403a_407.s -;* @version v2.0.4 -;* @date 2022-04-02 +;* @version v2.0.5 +;* @date 2022-05-20 ;* @brief at32f403a_407 startup file for keil ;************************************************************************** ; diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/system_at32f413.c b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/system_at32f413.c index 1ce206cdb5..846d23e5bc 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/system_at32f413.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/system_at32f413.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file system_at32f413.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for cmsis cortex-m4 system source file ************************************************************************** * Copyright notice & Disclaimer @@ -81,13 +81,13 @@ void SystemInit (void) /* wait sclk switch status */ while(CRM->cfg_bit.sclksts != CRM_SCLK_HICK); + /* reset hexten, hextbyps, cfden and pllen bits */ + CRM->ctrl &= ~(0x010D0000U); + /* reset cfg register, include sclk switch, ahbdiv, apb1div, apb2div, adcdiv, clkout pllrcs, pllhextdiv, pllmult, usbdiv and pllrange bits */ CRM->cfg = 0; - /* reset hexten, hextbyps, cfden and pllen bits */ - CRM->ctrl &= ~(0x010D0000U); - /* reset clkout[3], usbbufs, hickdiv, clkoutdiv */ CRM->misc1 = 0; diff --git a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/system_at32f413.h b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/system_at32f413.h index 787ecf1381..adc9926592 100644 --- a/bsp/at32/libraries/f413/firmware/cmsis/cm4/device_support/system_at32f413.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/cmsis/cm4/device_support/system_at32f413.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file system_at32f413.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief cmsis cortex-m4 system header file. ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_acc.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_acc.h index f74e736133..3607e36fb5 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_acc.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_acc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_acc.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 acc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_adc.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_adc.h index 1be2eadcb8..2d16d8c1e5 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_adc.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_adc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_adc.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 adc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_bpr.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_bpr.h index bd110916d9..c61839a1a3 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_bpr.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_bpr.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_bpr.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 bpr header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_can.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_can.h index 435b280f79..5ba05a9704 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_can.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_can.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_can.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 can header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_crc.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_crc.h index 2d09936f7b..a3372dfd07 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_crc.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_crc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_crc.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 crc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_crm.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_crm.h index 5cffca9c71..6cdfba68c4 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_crm.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_crm.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_crm.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 crm header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_debug.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_debug.h index 3393702e02..f83cde2342 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_debug.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_debug.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_debug.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 debug header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_def.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_def.h index 538f384656..a518d683c7 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_def.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_def.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_def.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 macros header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_dma.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_dma.h index 376b49b89a..62b6c6c663 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_dma.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_dma.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_dma.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 dma header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_exint.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_exint.h index 3616468a04..ff07816442 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_exint.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_exint.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_exint.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 exint header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_flash.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_flash.h index d9ec74b986..790e78b9d6 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_flash.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_flash.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_flash.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 flash header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_gpio.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_gpio.h index 699935a51d..bcc80b275d 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_gpio.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_gpio.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_gpio.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 gpio header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_i2c.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_i2c.h index ef2359d79a..6fd86930ec 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_i2c.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_i2c.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_i2c.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 i2c header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_misc.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_misc.h index c886cda34c..99e5094817 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_misc.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_misc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_misc.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 misc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_pwc.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_pwc.h index 1440cd92a1..57fa5b2097 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_pwc.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_pwc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_pwc.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 pwc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_rtc.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_rtc.h index c847661e27..024b10e0a2 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_rtc.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_rtc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_rtc.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 rtc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_sdio.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_sdio.h index 12108cb6ea..42c8a1d2fa 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_sdio.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_sdio.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_sdio.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 sdio header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_spi.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_spi.h index 4190a33fe6..ab2805133d 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_spi.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_spi.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_spi.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 spi header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_tmr.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_tmr.h index 33bb6410e9..0654ca3432 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_tmr.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_tmr.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_tmr.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 tmr header file ************************************************************************** * Copyright notice & Disclaimer @@ -834,15 +834,10 @@ typedef struct #define TMR3 ((tmr_type *) TMR3_BASE) #define TMR4 ((tmr_type *) TMR4_BASE) #define TMR5 ((tmr_type *) TMR5_BASE) -#define TMR6 ((tmr_type *) TMR6_BASE) -#define TMR7 ((tmr_type *) TMR7_BASE) #define TMR8 ((tmr_type *) TMR8_BASE) #define TMR9 ((tmr_type *) TMR9_BASE) #define TMR10 ((tmr_type *) TMR10_BASE) #define TMR11 ((tmr_type *) TMR11_BASE) -#define TMR12 ((tmr_type *) TMR12_BASE) -#define TMR13 ((tmr_type *) TMR13_BASE) -#define TMR14 ((tmr_type *) TMR14_BASE) /** @defgroup TMR_exported_functions * @{ diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_usart.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_usart.h index a0f4f003b9..062f359705 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_usart.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_usart.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_usart.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 usart header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_usb.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_usb.h index c25d7ddb51..d1b1053240 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_usb.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_usb.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_usb.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 usb header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_wdt.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_wdt.h index 6367bed1a3..39fa082557 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_wdt.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_wdt.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_wdt.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 wdt header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_wwdt.h b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_wwdt.h index 588779341d..5c26304542 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/inc/at32f413_wwdt.h +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/inc/at32f413_wwdt.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_wwdt.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f413 wwdt header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_acc.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_acc.c index 7fb95239a2..1eec3f85ef 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_acc.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_acc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_acc.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the acc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_adc.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_adc.c index 9718b33a04..ca75cd1cbb 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_adc.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_adc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_adc.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the adc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_bpr.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_bpr.c index 3341533c61..955b7a3908 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_bpr.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_bpr.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_bpr.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the bpr firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_can.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_can.c index 64ff214510..feb5e4b7a6 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_can.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_can.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_can.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the can firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_crc.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_crc.c index 9939a0d98a..6eed245d7f 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_crc.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_crc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_crc.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the crc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_crm.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_crm.c index 9cf35bbbdc..f4451f9e32 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_crm.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_crm.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_crm.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the crm firmware library ************************************************************************** * Copyright notice & Disclaimer @@ -61,13 +61,13 @@ void crm_reset(void) /* wait sclk switch status */ while(CRM->cfg_bit.sclksts != CRM_SCLK_HICK); + /* reset hexten, hextbyps, cfden and pllen bits */ + CRM->ctrl &= ~(0x010D0000U); + /* reset cfg register, include sclk switch, ahbdiv, apb1div, apb2div, adcdiv, clkout pllrcs, pllhextdiv, pllmult, usbdiv and pllrange bits */ CRM->cfg = 0; - /* reset hexten, hextbyps, cfden and pllen bits */ - CRM->ctrl &= ~(0x010D0000U); - /* reset clkout[3], usbbufs, hickdiv, clkoutdiv */ CRM->misc1 = 0; @@ -339,6 +339,7 @@ void crm_flag_clear(uint32_t flag) case CRM_LOWPOWER_RESET_FLAG: case CRM_ALL_RESET_FLAG: CRM->ctrlsts_bit.rstfc = TRUE; + while(CRM->ctrlsts_bit.rstfc == TRUE); break; case CRM_LICK_READY_INT_FLAG: CRM->clkint_bit.lickstblfc = TRUE; diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_debug.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_debug.c index b16604fbb1..c46f1fc721 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_debug.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_debug.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_debug.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the debug firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_dma.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_dma.c index 7645bc1fa5..fc7c3167bd 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_dma.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_dma.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_dma.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the dma firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_exint.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_exint.c index 46838a7329..38f6ff27d4 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_exint.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_exint.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_exint.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the exint firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_flash.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_flash.c index 9737e7056f..c5952f9807 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_flash.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_flash.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_flash.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the flash firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_gpio.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_gpio.c index 871354a731..cd96b527c6 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_gpio.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_gpio.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_gpio.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the gpio firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_i2c.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_i2c.c index 1a938bbafe..6612b6e16e 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_i2c.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_i2c.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_i2c.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the i2c firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_misc.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_misc.c index f46a3fac43..cb58807a86 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_misc.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_misc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_misc.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the misc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_pwc.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_pwc.c index 986ef33648..d0c93983aa 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_pwc.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_pwc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_pwc.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the pwc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_rtc.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_rtc.c index 363bfad740..a66158b056 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_rtc.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_rtc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_rtc.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the rtc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_sdio.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_sdio.c index 5059010094..10cfa0501b 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_sdio.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_sdio.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_sdio.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the sdio firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_spi.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_spi.c index a9eaeea290..656e4be81e 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_spi.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_spi.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_spi.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the spi firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_tmr.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_tmr.c index 9a1ab889da..44f3eeb9f3 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_tmr.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_tmr.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_tmr.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the tmr firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_usart.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_usart.c index e41005c1eb..14e5210faa 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_usart.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_usart.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_usart.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the usart firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_usb.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_usb.c index 1036aed77f..cea418ed99 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_usb.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_usb.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_usb.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains the functions for the usb firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_wdt.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_wdt.c index d31c72bf70..94d779c7a8 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_wdt.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_wdt.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_wdt.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the wdt firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_wwdt.c b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_wwdt.c index 44fa2b56a6..6de009cf99 100644 --- a/bsp/at32/libraries/f413/firmware/drivers/src/at32f413_wwdt.c +++ b/bsp/at32/libraries/AT32F413_Firmware_Library/drivers/src/at32f413_wwdt.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f413_wwdt.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the wwdt firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/SConscript b/bsp/at32/libraries/AT32F415_Firmware_Library/SConscript index 488c061990..488c061990 100644 --- a/bsp/at32/libraries/f415/firmware/SConscript +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/SConscript diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/arm_common_tables.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/arm_common_tables.h index 721b18dd2d..721b18dd2d 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/arm_common_tables.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/arm_common_tables.h diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/arm_const_structs.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/arm_const_structs.h index 83984c40cd..83984c40cd 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/arm_const_structs.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/arm_const_structs.h diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/arm_helium_utils.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/arm_helium_utils.h index 85688575eb..85688575eb 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/arm_helium_utils.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/arm_helium_utils.h diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/arm_math.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/arm_math.h index 2483e6ecfb..2483e6ecfb 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/arm_math.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/arm_math.h diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/arm_mve_tables.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/arm_mve_tables.h index c07f988f5c..c07f988f5c 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/arm_mve_tables.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/arm_mve_tables.h diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/arm_vec_math.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/arm_vec_math.h index 0ce9464bcb..0ce9464bcb 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/arm_vec_math.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/arm_vec_math.h diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_armcc.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_armcc.h index 9570d3623e..9570d3623e 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_armcc.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_armcc.h diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_armclang.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang.h index b466ba4345..b466ba4345 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_armclang.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang.h diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_armclang_ltm.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang_ltm.h index e0c5b941b1..e0c5b941b1 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_armclang_ltm.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang_ltm.h diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_compiler.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_compiler.h index 8d3ab9721e..8d3ab9721e 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_compiler.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_compiler.h diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_gcc.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_gcc.h index 683ce0f261..683ce0f261 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_gcc.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_gcc.h diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_iccarm.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_iccarm.h index 890ba207eb..890ba207eb 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_iccarm.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_iccarm.h diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_version.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_version.h index c999178e04..c999178e04 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/cmsis_version.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/cmsis_version.h diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/core_cm4.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/core_cm4.h index 6a50d5e86d..6a50d5e86d 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/core_cm4.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/core_cm4.h diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/mpu_armv7.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/mpu_armv7.h index 442fc21a3b..442fc21a3b 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/mpu_armv7.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/mpu_armv7.h diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/mpu_armv8.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/mpu_armv8.h index 3a197fbb49..3a197fbb49 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/mpu_armv8.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/mpu_armv8.h diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/pmu_armv8.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/pmu_armv8.h index 23b37d95e4..23b37d95e4 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/core_support/pmu_armv8.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/core_support/pmu_armv8.h diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/at32f415.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/at32f415.h index cf3de32deb..785ea224b0 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/at32f415.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/at32f415.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 header file ************************************************************************** * Copyright notice & Disclaimer @@ -89,7 +89,7 @@ extern "C" { */ #define __AT32F415_LIBRARY_VERSION_MAJOR (0x02) /*!< [31:24] major version */ #define __AT32F415_LIBRARY_VERSION_MIDDLE (0x00) /*!< [23:16] middle version */ -#define __AT32F415_LIBRARY_VERSION_MINOR (0x04) /*!< [15:8] minor version */ +#define __AT32F415_LIBRARY_VERSION_MINOR (0x05) /*!< [15:8] minor version */ #define __AT32F415_LIBRARY_VERSION_RC (0x00) /*!< [7:0] release candidate */ #define __AT32F415_LIBRARY_VERSION ((__AT32F415_LIBRARY_VERSION_MAJOR << 24) | \ (__AT32F415_LIBRARY_VERSION_MIDDLE << 16) | \ diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/at32f415_conf_template.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/at32f415_conf_template.h index 88d354f629..82190bb56e 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/at32f415_conf_template.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/at32f415_conf_template.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_conf.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 config header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F415x8_FLASH.ld b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F415x8_FLASH.ld index 7ad1dd110d..7ad1dd110d 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F415x8_FLASH.ld +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F415x8_FLASH.ld diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F415xB_FLASH.ld b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F415xB_FLASH.ld index 48cad651cd..48cad651cd 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F415xB_FLASH.ld +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F415xB_FLASH.ld diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F415xC_FLASH.ld b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F415xC_FLASH.ld index baf2e7d716..baf2e7d716 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F415xC_FLASH.ld +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F415xC_FLASH.ld diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/gcc/startup_at32f415.s b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/gcc/startup_at32f415.s index a4996ca728..8e25548056 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/gcc/startup_at32f415.s +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/gcc/startup_at32f415.s @@ -1,8 +1,8 @@ /** ****************************************************************************** * @file startup_at32f415.s - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415xx devices vector table for gcc toolchain. * this module performs: * - set the initial sp diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F415x8.icf b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F415x8.icf index cd94ed669e..cd94ed669e 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F415x8.icf +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F415x8.icf diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F415xB.icf b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F415xB.icf index 912235b9c0..912235b9c0 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F415xB.icf +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F415xB.icf diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F415xC.icf b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F415xC.icf index 0f25e92744..0f25e92744 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F415xC.icf +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F415xC.icf diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/iar/startup_at32f415.s b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/iar/startup_at32f415.s index 61722888d3..ec945ddf8f 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/iar/startup_at32f415.s +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/iar/startup_at32f415.s @@ -1,7 +1,7 @@ ;************************************************************************** ;* @file startup_at32f415.s -;* @version v2.0.4 -;* @date 2022-04-02 +;* @version v2.0.5 +;* @date 2022-05-20 ;* @brief at32f415 startup file for IAR Systems ;************************************************************************** ; diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/mdk/startup_at32f415.s b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/mdk/startup_at32f415.s index 1fcdace388..3adfea23bf 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/startup/mdk/startup_at32f415.s +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/startup/mdk/startup_at32f415.s @@ -1,7 +1,7 @@ ;************************************************************************** ;* @file startup_at32f415.s -;* @version v2.0.4 -;* @date 2022-04-02 +;* @version v2.0.5 +;* @date 2022-05-20 ;* @brief at32f415 startup file for keil ;************************************************************************** ; diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/system_at32f415.c b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/system_at32f415.c index 53d918ad18..bd1e931849 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/system_at32f415.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/system_at32f415.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file system_at32f415.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for cmsis cortex-m4 system source file ************************************************************************** * Copyright notice & Disclaimer @@ -81,6 +81,9 @@ void SystemInit (void) /* wait sclk switch status */ while(CRM->cfg_bit.sclksts != CRM_SCLK_HICK); + /* reset hexten, hextbyps, cfden and pllen bits */ + CRM->ctrl &= ~(0x010D0000U); + /* reset cfg register, include sclk switch, ahbdiv, apb1div, apb2div, adcdiv, clkout pllrcs, pllhextdiv, pllmult, usbdiv and pllrange bits */ CRM->cfg = 0; @@ -88,9 +91,6 @@ void SystemInit (void) /* reset pllfr, pllms, pllns and pllfref bits */ CRM->pll = (0x00001F10U); - /* reset hexten, hextbyps, cfden and pllen bits */ - CRM->ctrl &= ~(0x010D0000U); - /* reset clkout[3], usbbufs, hickdiv, clkoutdiv */ CRM->misc1 = 0x00100000; diff --git a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/system_at32f415.h b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/system_at32f415.h index 21e3a4d756..fee8791971 100644 --- a/bsp/at32/libraries/f415/firmware/cmsis/cm4/device_support/system_at32f415.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/cmsis/cm4/device_support/system_at32f415.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file system_at32f415.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief cmsis cortex-m4 system header file. ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_adc.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_adc.h index 79925f410e..de84b42322 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_adc.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_adc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_adc.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 adc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_can.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_can.h index b90de09804..fb37904e87 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_can.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_can.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_can.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 can header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_cmp.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_cmp.h index ac337536ed..f53353eeac 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_cmp.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_cmp.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_cmp.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 cmp header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_crc.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_crc.h index 8821b2bbe3..9b4ce4b8ba 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_crc.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_crc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_crc.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 crc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_crm.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_crm.h index c0a8b2cd0a..60b14931a6 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_crm.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_crm.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_crm.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 crm header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_debug.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_debug.h index a8ebebcad2..b44d57ff09 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_debug.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_debug.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_debug.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 debug header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_def.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_def.h index 9b76f67b32..f861e3b7f8 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_def.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_def.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_def.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 macros header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_dma.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_dma.h index 1df462a96b..cf88b9ce99 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_dma.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_dma.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_dma.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 dma header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_ertc.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_ertc.h index 92180f5374..9afe8eb4a3 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_ertc.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_ertc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_ertc.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 ertc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_exint.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_exint.h index d6735b0dd5..76170acbaa 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_exint.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_exint.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_exint.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 exint header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_flash.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_flash.h index 0fe5c28d2d..8880db8844 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_flash.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_flash.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_flash.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 flash header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_gpio.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_gpio.h index 1b6297c92d..8bf9de4c4a 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_gpio.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_gpio.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_gpio.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 gpio header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_i2c.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_i2c.h index a78d752a73..d3786ba240 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_i2c.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_i2c.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_i2c.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 i2c header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_misc.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_misc.h index 558cd2bc67..cc2cb6fb71 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_misc.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_misc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_misc.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 misc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_pwc.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_pwc.h index 5dd93a4d1c..48cb7b9ac6 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_pwc.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_pwc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_pwc.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 pwc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_sdio.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_sdio.h index 8a1e4505d1..f8bac257d9 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_sdio.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_sdio.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_sdio.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 sdio header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_spi.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_spi.h index ce6a6950ff..d4852dfd16 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_spi.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_spi.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_spi.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 spi header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_tmr.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_tmr.h index 502602b7e9..6f19fd6485 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_tmr.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_tmr.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_tmr.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 tmr header file ************************************************************************** * Copyright notice & Disclaimer @@ -834,15 +834,9 @@ typedef struct #define TMR3 ((tmr_type *) TMR3_BASE) #define TMR4 ((tmr_type *) TMR4_BASE) #define TMR5 ((tmr_type *) TMR5_BASE) -#define TMR6 ((tmr_type *) TMR6_BASE) -#define TMR7 ((tmr_type *) TMR7_BASE) -#define TMR8 ((tmr_type *) TMR8_BASE) #define TMR9 ((tmr_type *) TMR9_BASE) #define TMR10 ((tmr_type *) TMR10_BASE) #define TMR11 ((tmr_type *) TMR11_BASE) -#define TMR12 ((tmr_type *) TMR12_BASE) -#define TMR13 ((tmr_type *) TMR13_BASE) -#define TMR14 ((tmr_type *) TMR14_BASE) /** @defgroup TMR_exported_functions * @{ diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_usart.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_usart.h index 4674de0050..20b43c6f99 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_usart.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_usart.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_usart.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 usart header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_usb.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_usb.h index 4252bcfae7..41ec1d405d 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_usb.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_usb.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_usb.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 usb header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_wdt.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_wdt.h index 9bea1ea163..3881388747 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_wdt.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_wdt.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_wdt.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 wdt header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_wwdt.h b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_wwdt.h index 9dcc9919ad..a79ee9348f 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/inc/at32f415_wwdt.h +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/inc/at32f415_wwdt.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_wwdt.h - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief at32f415 wwdt header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_adc.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_adc.c index 835183e38f..bb9a9ff73f 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_adc.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_adc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_adc.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the adc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_can.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_can.c index 41a80de1cd..a9c16ccac4 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_can.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_can.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_can.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the can firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_cmp.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_cmp.c index 67bfbabf9b..6463bd4154 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_cmp.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_cmp.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_cmp.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the gpio firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_crc.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_crc.c index 88083448f9..a7826ae60f 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_crc.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_crc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_crc.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the crc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_crm.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_crm.c index 47aaafd3bd..989a3d9138 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_crm.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_crm.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_crm.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the crm firmware library ************************************************************************** * Copyright notice & Disclaimer @@ -61,6 +61,9 @@ void crm_reset(void) /* wait sclk switch status */ while(CRM->cfg_bit.sclksts != CRM_SCLK_HICK); + /* reset hexten, hextbyps, cfden and pllen bits */ + CRM->ctrl &= ~(0x010D0000U); + /* reset cfg register, include sclk switch, ahbdiv, apb1div, apb2div, adcdiv, clkout pllrcs, pllhextdiv, pllmult, usbdiv and pllrange bits */ CRM->cfg = 0; @@ -68,9 +71,6 @@ void crm_reset(void) /* reset pllfr, pllms, pllns and pllfref bits */ CRM->pll = (0x00001F10U); - /* reset hexten, hextbyps, cfden and pllen bits */ - CRM->ctrl &= ~(0x010D0000U); - /* reset clkout[3], usbbufs, hickdiv, clkoutdiv */ CRM->misc1 = 0x00100000; @@ -343,6 +343,7 @@ void crm_flag_clear(uint32_t flag) case CRM_LOWPOWER_RESET_FLAG: case CRM_ALL_RESET_FLAG: CRM->ctrlsts_bit.rstfc = TRUE; + while(CRM->ctrlsts_bit.rstfc == TRUE); break; case CRM_LICK_READY_INT_FLAG: CRM->clkint_bit.lickstblfc = TRUE; diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_debug.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_debug.c index 8c4717eeda..c05cd3a76e 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_debug.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_debug.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_debug.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the debug firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_dma.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_dma.c index 6cf37f4edf..e1aafacb00 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_dma.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_dma.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_dma.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the dma firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_ertc.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_ertc.c index 19d88c88a7..40517dcb5d 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_ertc.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_ertc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_ertc.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the ertc firmware library ************************************************************************** * Copyright notice & Disclaimer @@ -1460,13 +1460,7 @@ flag_status ertc_flag_get(uint32_t flag) */ void ertc_flag_clear(uint32_t flag) { - /* disable write protection */ - ertc_write_protect_disable(); - ERTC->sts = ~(flag | 0x00000080) | (ERTC->sts_bit.imen << 7); - - /* enable write protection */ - ertc_write_protect_enable(); } /** diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_exint.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_exint.c index b78615878c..86be50c982 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_exint.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_exint.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_exint.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the exint firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_flash.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_flash.c index b422c15f1f..5922395942 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_flash.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_flash.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_flash.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the flash firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_gpio.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_gpio.c index b54836bb53..5e2cf8036b 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_gpio.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_gpio.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_gpio.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the gpio firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_i2c.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_i2c.c index 3eb07a79c9..47988ebe5e 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_i2c.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_i2c.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_i2c.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the i2c firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_misc.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_misc.c index 5a3a7e2df1..90719fde7a 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_misc.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_misc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_misc.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the misc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_pwc.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_pwc.c index 55819f85db..75f4134496 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_pwc.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_pwc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_pwc.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the pwc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_sdio.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_sdio.c index 98b30881e8..d9d878261e 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_sdio.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_sdio.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_sdio.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the sdio firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_spi.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_spi.c index 960552ddc8..fc0f41d5ff 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_spi.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_spi.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_spi.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the spi firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_tmr.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_tmr.c index f6f3f2c6d6..9890d8c563 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_tmr.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_tmr.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_tmr.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the tmr firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_usart.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_usart.c index a99845279d..3d5e17263f 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_usart.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_usart.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_usart.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the usart firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_usb.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_usb.c index 40fafe2b44..cb0c758dda 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_usb.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_usb.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_usb.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the usb firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_wdt.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_wdt.c index 29fadcb675..24d1803bb7 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_wdt.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_wdt.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_wdt.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the wdt firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_wwdt.c b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_wwdt.c index f6c3647586..9a1e460baa 100644 --- a/bsp/at32/libraries/f415/firmware/drivers/src/at32f415_wwdt.c +++ b/bsp/at32/libraries/AT32F415_Firmware_Library/drivers/src/at32f415_wwdt.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f415_wwdt.c - * @version v2.0.4 - * @date 2022-04-02 + * @version v2.0.5 + * @date 2022-05-20 * @brief contains all the functions for the wwdt firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/SConscript b/bsp/at32/libraries/AT32F435_437_Firmware_Library/SConscript index dea4245d58..dea4245d58 100644 --- a/bsp/at32/libraries/f435_437/firmware/SConscript +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/SConscript diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/arm_common_tables.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/arm_common_tables.h index 721b18dd2d..721b18dd2d 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/arm_common_tables.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/arm_common_tables.h diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/arm_const_structs.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/arm_const_structs.h index 83984c40cd..83984c40cd 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/arm_const_structs.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/arm_const_structs.h diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/arm_helium_utils.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/arm_helium_utils.h index 85688575eb..85688575eb 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/arm_helium_utils.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/arm_helium_utils.h diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/arm_math.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/arm_math.h index 2483e6ecfb..2483e6ecfb 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/arm_math.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/arm_math.h diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/arm_mve_tables.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/arm_mve_tables.h index c07f988f5c..c07f988f5c 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/arm_mve_tables.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/arm_mve_tables.h diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/arm_vec_math.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/arm_vec_math.h index 0ce9464bcb..0ce9464bcb 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/arm_vec_math.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/arm_vec_math.h diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_armcc.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_armcc.h index 9570d3623e..9570d3623e 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_armcc.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_armcc.h diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_armclang.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang.h index b466ba4345..b466ba4345 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_armclang.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang.h diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_armclang_ltm.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang_ltm.h index e0c5b941b1..e0c5b941b1 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_armclang_ltm.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_armclang_ltm.h diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_compiler.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_compiler.h index 8d3ab9721e..8d3ab9721e 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_compiler.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_compiler.h diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_gcc.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_gcc.h index 683ce0f261..683ce0f261 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_gcc.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_gcc.h diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_iccarm.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_iccarm.h index 890ba207eb..890ba207eb 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_iccarm.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_iccarm.h diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_version.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_version.h index c999178e04..c999178e04 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/cmsis_version.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/cmsis_version.h diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/core_cm4.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/core_cm4.h index 6a50d5e86d..6a50d5e86d 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/core_cm4.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/core_cm4.h diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/mpu_armv7.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/mpu_armv7.h index 442fc21a3b..442fc21a3b 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/mpu_armv7.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/mpu_armv7.h diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/mpu_armv8.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/mpu_armv8.h index 3a197fbb49..3a197fbb49 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/mpu_armv8.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/mpu_armv8.h diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/pmu_armv8.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/pmu_armv8.h index 23b37d95e4..23b37d95e4 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/core_support/pmu_armv8.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/core_support/pmu_armv8.h diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/at32f435_437.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/at32f435_437.h index d21a23a12c..f7d6a7da34 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/at32f435_437.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/at32f435_437.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 header file ************************************************************************** * Copyright notice & Disclaimer @@ -100,7 +100,7 @@ extern "C" { */ #define __AT32F435_437_LIBRARY_VERSION_MAJOR (0x02) /*!< [31:24] major version */ #define __AT32F435_437_LIBRARY_VERSION_MIDDLE (0x00) /*!< [23:16] middle version */ -#define __AT32F435_437_LIBRARY_VERSION_MINOR (0x07) /*!< [15:8] minor version */ +#define __AT32F435_437_LIBRARY_VERSION_MINOR (0x08) /*!< [15:8] minor version */ #define __AT32F435_437_LIBRARY_VERSION_RC (0x00) /*!< [7:0] release candidate */ #define __AT32F435_437_LIBRARY_VERSION ((__AT32F435_437_LIBRARY_VERSION_MAJOR << 24) | \ (__AT32F435_437_LIBRARY_VERSION_MIDDLE << 16) | \ diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/at32f435_437_conf_template.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/at32f435_437_conf_template.h index ebcbc89c3b..6599acfc4b 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/at32f435_437_conf_template.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/at32f435_437_conf_template.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_conf.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 config header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xC_FLASH.ld b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xC_FLASH.ld index b266a5fc52..b266a5fc52 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xC_FLASH.ld +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xC_FLASH.ld diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xG_FLASH.ld b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xG_FLASH.ld index bb41dfc49c..bb41dfc49c 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xG_FLASH.ld +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xG_FLASH.ld diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xM_FLASH.ld b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xM_FLASH.ld index b14a236d69..b14a236d69 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xM_FLASH.ld +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F435xM_FLASH.ld diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F437xC_FLASH.ld b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F437xC_FLASH.ld index a9e55dd771..a9e55dd771 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F437xC_FLASH.ld +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F437xC_FLASH.ld diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F437xG_FLASH.ld b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F437xG_FLASH.ld index 49ddec76ee..49ddec76ee 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F437xG_FLASH.ld +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F437xG_FLASH.ld diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F437xM_FLASH.ld b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F437xM_FLASH.ld index 8b4db93ab6..8b4db93ab6 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/linker/AT32F437xM_FLASH.ld +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/linker/AT32F437xM_FLASH.ld diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/startup_at32f435_437.s b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/startup_at32f435_437.s index 35feb5c32e..3291e9456b 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/gcc/startup_at32f435_437.s +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/gcc/startup_at32f435_437.s @@ -1,8 +1,8 @@ /** ****************************************************************************** * @file startup_at32f435_437.s - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 devices vector table for gcc toolchain. * this module performs: * - set the initial sp diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F435xC.icf b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F435xC.icf index e9b6bd1a08..e9b6bd1a08 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F435xC.icf +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F435xC.icf diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F435xG.icf b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F435xG.icf index 690530ac82..690530ac82 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F435xG.icf +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F435xG.icf diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F435xM.icf b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F435xM.icf index 398099a3df..398099a3df 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F435xM.icf +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F435xM.icf diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F437xC.icf b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F437xC.icf index e9b6bd1a08..e9b6bd1a08 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F437xC.icf +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F437xC.icf diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F437xG.icf b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F437xG.icf index 690530ac82..690530ac82 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F437xG.icf +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F437xG.icf diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F437xM.icf b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F437xM.icf index 398099a3df..398099a3df 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/linker/AT32F437xM.icf +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/linker/AT32F437xM.icf diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/startup_at32f435_437.s b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/startup_at32f435_437.s index 21f845e3f1..0c98e7d5d7 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/iar/startup_at32f435_437.s +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/iar/startup_at32f435_437.s @@ -1,7 +1,7 @@ ;************************************************************************** ;* @file startup_at32f435_437.s -;* @version v2.0.7 -;* @date 2022-04-02 +;* @version v2.0.8 +;* @date 2022-04-25 ;* @brief at32f435_437 startup file for IAR Systems ;************************************************************************** ; diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/mdk/startup_at32f435_437.s b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/mdk/startup_at32f435_437.s index 9c3c3c8c1b..0f1321199a 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/startup/mdk/startup_at32f435_437.s +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/startup/mdk/startup_at32f435_437.s @@ -1,7 +1,7 @@ ;************************************************************************** ;* @file startup_at32f435_437.s -;* @version v2.0.7 -;* @date 2022-04-02 +;* @version v2.0.8 +;* @date 2022-04-25 ;* @brief at32f435_437 startup file for keil ;************************************************************************** ; diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/system_at32f435_437.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/system_at32f435_437.c index 9df3511c76..70070c7796 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/system_at32f435_437.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/system_at32f435_437.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file system_at32f435_437.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for cmsis cortex-m4 system source file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/system_at32f435_437.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/system_at32f435_437.h index 7d30a2317a..1365c30f43 100644 --- a/bsp/at32/libraries/f435_437/firmware/cmsis/cm4/device_support/system_at32f435_437.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/cmsis/cm4/device_support/system_at32f435_437.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file system_at32f435_437.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief cmsis cortex-m4 system header file. ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_acc.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_acc.h index 9f6a9121c7..50eac602f0 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_acc.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_acc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_acc.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 acc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_adc.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_adc.h index 5dd1bb2873..9f390c9ee8 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_adc.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_adc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_adc.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 adc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_can.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_can.h index 18f3c0c4d5..9fcb209d15 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_can.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_can.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_can.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 can header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_crc.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_crc.h index 158f184396..484f3abfbb 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_crc.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_crc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_crc.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 crc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_crm.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_crm.h index 4244b33c76..5358d720d3 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_crm.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_crm.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_crm.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 crm header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_dac.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_dac.h index c9ef45f647..01cb78b8aa 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_dac.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_dac.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_dac.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 dac header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_debug.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_debug.h index 9e8d035c0c..80adf93513 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_debug.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_debug.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_mcudbg.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 mcudbg header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_def.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_def.h index ee26fb86d6..285988cd42 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_def.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_def.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_def.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 macros header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_dma.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_dma.h index 80b71428f0..ce8adb3d7c 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_dma.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_dma.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_dma.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 dma header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_dvp.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_dvp.h index 42daa212b2..3169c63fa2 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_dvp.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_dvp.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_dvp.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 dvp header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_edma.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_edma.h index 04db63ffe9..9d0d408d6c 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_edma.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_edma.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_edma.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 edma header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_emac.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_emac.h index d259d65dd1..85c04805b6 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_emac.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_emac.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_emac.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 eth header file ************************************************************************** * Copyright notice & Disclaimer @@ -44,7 +44,7 @@ extern "C" { * @{ */ -#define PHY_TIMEOUT (0x0FFFFFFF) /*!< timeout for phy response */ +#define PHY_TIMEOUT (0x000FFFFF) /*!< timeout for phy response */ /** @defgroup EMAC_smi_clock_border_definition * @brief emac smi clock border diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_ertc.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_ertc.h index 2185626b6e..a13eafd19c 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_ertc.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_ertc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_ertc.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 ertc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_exint.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_exint.h index ca25fa995c..fe25afa692 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_exint.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_exint.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_exint.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 exint header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_flash.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_flash.h index 931a7c1b81..19cf2d83f7 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_flash.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_flash.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_flash.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 flash header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_gpio.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_gpio.h index 303bb3fb8e..c6b487d505 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_gpio.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_gpio.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_gpio.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 gpio header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_i2c.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_i2c.h index 20370ec98b..cdab00e6fe 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_i2c.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_i2c.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_i2c.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 i2c header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_misc.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_misc.h index 893f71f5d2..9d14517952 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_misc.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_misc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_misc.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 misc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_pwc.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_pwc.h index 667304b12e..0d302a43a6 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_pwc.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_pwc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_pwc.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 pwr header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_qspi.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_qspi.h index bcb861c8bc..4cd235ec1c 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_qspi.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_qspi.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_qspi.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 qspi header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_scfg.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_scfg.h index 03109a1a92..0c221880ca 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_scfg.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_scfg.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_scfg.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 system config header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_sdio.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_sdio.h index 1ad057ce9d..33d5ca76f5 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_sdio.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_sdio.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_sdio.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 sdio header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_spi.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_spi.h index c5b0e3321b..d28b3d90d6 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_spi.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_spi.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_spi.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 spi header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_tmr.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_tmr.h index a0e6629914..de800e971a 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_tmr.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_tmr.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_tmr.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 tmr header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_usart.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_usart.h index de0116d2d0..4416c3a61d 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_usart.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_usart.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_usart.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 usart header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_usb.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_usb.h index 00bdbf3080..9e41b14cb9 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_usb.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_usb.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_usb.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 usb header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_wdt.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_wdt.h index f80358b573..2b823eee1b 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_wdt.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_wdt.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_wdt.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 wdt header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_wwdt.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_wwdt.h index 4f4fbecaca..d8a572372e 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_wwdt.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_wwdt.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_wwdt.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 wwdt header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_xmc.h b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_xmc.h index d1128ff378..7d3b9e68dc 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/inc/at32f435_437_xmc.h +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/inc/at32f435_437_xmc.h @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_xmc.h - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief at32f435_437 xmc header file ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_acc.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_acc.c index d239ac4839..69a3ae74ee 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_acc.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_acc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_acc.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the acc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_adc.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_adc.c index 18b1f6adb1..5ca6d054bc 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_adc.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_adc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_adc.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the adc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_can.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_can.c index 57310b57fc..e4df40f222 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_can.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_can.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_can.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the can firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_crc.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_crc.c index b6e02f4071..3d225cabea 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_crc.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_crc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_crc.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the crc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_crm.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_crm.c index 1f3da57c1b..378aa9443a 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_crm.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_crm.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_crm.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the crm firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_dac.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_dac.c index e8c38c8722..daa9a528f6 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_dac.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_dac.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_dac.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the dac firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_debug.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_debug.c index 84c3488e70..86d07cdbac 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_debug.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_debug.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_mcudbg.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the mcudbg firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_dma.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_dma.c index 22f5bf0040..24dce61dc4 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_dma.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_dma.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_dma.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the dma firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_dvp.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_dvp.c index 35cc05df63..f8de9ada7d 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_dvp.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_dvp.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_dvp.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the dvp firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_edma.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_edma.c index 5e9bb0cb05..42cc0a28dd 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_edma.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_edma.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_edma.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the edma firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_emac.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_emac.c index 0ddb0d7dc3..749766eeb5 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_emac.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_emac.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_emac.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the emac firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_ertc.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_ertc.c index 18c6f29e48..ab5aaed58f 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_ertc.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_ertc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_ertc.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the ertc firmware library ************************************************************************** * Copyright notice & Disclaimer @@ -1506,13 +1506,7 @@ flag_status ertc_flag_get(uint32_t flag) */ void ertc_flag_clear(uint32_t flag) { - /* disable write protection */ - ertc_write_protect_disable(); - ERTC->sts = ~(flag | 0x00000080) | (ERTC->sts_bit.imen << 7); - - /* enable write protection */ - ertc_write_protect_enable(); } /** diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_exint.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_exint.c index 74ca291998..bade7c89b7 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_exint.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_exint.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_exint.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the exint firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_flash.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_flash.c index 54a5f4f915..1003400d75 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_flash.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_flash.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_flash.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the flash firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_gpio.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_gpio.c index 87a2245f89..e6af8067db 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_gpio.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_gpio.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_gpio.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the gpio firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_i2c.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_i2c.c index 8c129a6abf..5bf12026e3 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_i2c.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_i2c.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_i2c.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the i2c firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_misc.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_misc.c index 8baee0d7fe..c94394eca8 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_misc.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_misc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_misc.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the misc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_pwc.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_pwc.c index 72bd814872..0ea1c278d5 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_pwc.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_pwc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_pwc.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the pwc firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_qspi.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_qspi.c index dcb3d41a96..e46c06506a 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_qspi.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_qspi.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_qspi.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contain all the functions for qspi firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_scfg.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_scfg.c index 8e65c1fee3..3d31f26f2f 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_scfg.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_scfg.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_scfg.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the system config firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_sdio.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_sdio.c index 5d90fd97d6..f5b53efa38 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_sdio.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_sdio.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_sdio.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the sdio firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_spi.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_spi.c index 81fc943cf2..abc26cd272 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_spi.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_spi.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_spi.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the spi firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_tmr.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_tmr.c index 5617697ff1..cc62736683 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_tmr.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_tmr.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_tmr.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the tmr firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_usart.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_usart.c index 623a28c73d..58803c89ba 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_usart.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_usart.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_usart.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the usart firmware library ************************************************************************** * Copyright notice & Disclaimer @@ -117,7 +117,7 @@ void usart_init(usart_type* usart_x, uint32_t baud_rate, usart_data_bit_num_type crm_clocks_freq_type clocks_freq; uint32_t apb_clock, temp_val; crm_clocks_freq_get(&clocks_freq); - if((usart_x == USART1) || (usart_x == USART6) || (usart_x == UART7) || (usart_x == UART8)) + if((usart_x == USART1) || (usart_x == USART6)) { apb_clock = clocks_freq.apb2_freq; } diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_usb.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_usb.c index 307d447067..8f63015236 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_usb.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_usb.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_usb.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the usb firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_wdt.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_wdt.c index ada418d67f..a93eec352a 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_wdt.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_wdt.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_wdt.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the wdt firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_wwdt.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_wwdt.c index 7e45b3bdd2..967af61a40 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_wwdt.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_wwdt.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_wwdt.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the wwdt firmware library ************************************************************************** * Copyright notice & Disclaimer diff --git a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_xmc.c b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_xmc.c index 1e18df84cf..ac6df0b167 100644 --- a/bsp/at32/libraries/f435_437/firmware/drivers/src/at32f435_437_xmc.c +++ b/bsp/at32/libraries/AT32F435_437_Firmware_Library/drivers/src/at32f435_437_xmc.c @@ -1,8 +1,8 @@ /** ************************************************************************** * @file at32f435_437_xmc.c - * @version v2.0.7 - * @date 2022-04-02 + * @version v2.0.8 + * @date 2022-04-25 * @brief contains all the functions for the xmc firmware library ************************************************************************** * Copyright notice & Disclaimer @@ -505,7 +505,7 @@ void xmc_sdram_init(xmc_sdram_init_type *xmc_sdram_init_struct, xmc_sdram_timing XMC_SDRAM->ctrl_bit[XMC_SDRAM_BANK2].wrp = xmc_sdram_init_struct->write_protection; /* sdctrl2 bstr is not care */ XMC_SDRAM->ctrl_bit[XMC_SDRAM_BANK1].bstr = xmc_sdram_init_struct->burst_read; - XMC_SDRAM->ctrl_bit[XMC_SDRAM_BANK2].rd = xmc_sdram_init_struct->read_delay; + XMC_SDRAM->ctrl_bit[XMC_SDRAM_BANK1].rd = xmc_sdram_init_struct->read_delay; /* sdctrl2 clkdiv is not care */ XMC_SDRAM->ctrl_bit[XMC_SDRAM_BANK1].clkdiv = xmc_sdram_init_struct->clkdiv; diff --git a/bsp/at32/libraries/f403a_407/.ignore_format.yml b/bsp/at32/libraries/f403a_407/.ignore_format.yml deleted file mode 100644 index b5c3accab5..0000000000 --- a/bsp/at32/libraries/f403a_407/.ignore_format.yml +++ /dev/null @@ -1,6 +0,0 @@ -# files format check exclude path, please follow the instructions below to modify; -# If you need to exclude an entire folder, add the folder path in dir_path; -# If you need to exclude a file, add the path to the file in file_path. - -dir_path: -- firmware diff --git a/bsp/at32/libraries/f403a_407/SConscript b/bsp/at32/libraries/f403a_407/SConscript deleted file mode 100644 index c7ef7659ec..0000000000 --- a/bsp/at32/libraries/f403a_407/SConscript +++ /dev/null @@ -1,14 +0,0 @@ -# for module compiling -import os -from building import * - -cwd = GetCurrentDir() -objs = [] -list = os.listdir(cwd) - -for d in list: - path = os.path.join(cwd, d) - if os.path.isfile(os.path.join(path, 'SConscript')): - objs = objs + SConscript(os.path.join(d, 'SConscript')) - -Return('objs') diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/SConscript b/bsp/at32/libraries/f403a_407/rt_drivers/SConscript deleted file mode 100644 index a28fb192d9..0000000000 --- a/bsp/at32/libraries/f403a_407/rt_drivers/SConscript +++ /dev/null @@ -1,60 +0,0 @@ -# RT-Thread building script for component -Import('RTT_ROOT') -Import('rtconfig') -from building import * - -cwd = GetCurrentDir() - -# add the general drivers. -src = Split(""" -drv_common.c -""") - -if GetDepend(['RT_USING_PIN']): - src += ['drv_gpio.c'] - -if GetDepend(['RT_USING_WDT']): - src += ['drv_wdt.c'] - -if GetDepend(['BSP_USING_SERIAL']): - src += ['drv_usart.c'] - -if GetDepend(['BSP_USING_PWM']): - src += ['drv_pwm.c'] - -if GetDepend(['BSP_USING_HWTIMER']): - src += ['drv_hwtimer.c'] - -if GetDepend(['BSP_USING_SPI']): - src += ['drv_spi.c'] - -if GetDepend(['BSP_USING_EMAC', 'RT_USING_LWIP']): - src += ['drv_emac.c'] - -if GetDepend(['RT_USING_I2C', 'RT_USING_I2C_BITOPS']): - if GetDepend('BSP_USING_I2C1') or GetDepend('BSP_USING_I2C2') or GetDepend('BSP_USING_I2C3') or GetDepend('BSP_USING_I2C4'): - src += ['drv_soft_i2c.c'] - -if GetDepend(['BSP_USING_ADC']): - src += Glob('drv_adc.c') - -if GetDepend('BSP_USING_RTC'): - src += ['drv_rtc.c'] - -if GetDepend('BSP_USING_ON_CHIP_FLASH'): - src += ['drv_flash.c'] - -if GetDepend(['BSP_USING_WDT']): - src += ['drv_wdt.c'] - -if GetDepend(['BSP_USING_CAN']): - src += ['drv_can.c'] - -if GetDepend(['BSP_USING_SDIO']): - src += ['drv_sdio.c'] - -CPPPATH = [cwd] - -group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH) - -Return('group') diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_adc.c b/bsp/at32/libraries/f403a_407/rt_drivers/drv_adc.c deleted file mode 100644 index 9bf34a26e5..0000000000 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_adc.c +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-11 shelton first version - */ - -#include "board.h" -#include "drv_adc.h" - -#if defined(BSP_USING_ADC1) || defined(BSP_USING_ADC2) || \ - defined(BSP_USING_ADC3) - -//#define DRV_DEBUG -#define LOG_TAG "drv.adc" -#include <drv_log.h> - -struct at32_adc -{ - struct rt_adc_device at32_adc_device; - adc_type *adc_x; - char *name; -}; - -static struct at32_adc at32_adc_obj[] = -{ -#ifdef BSP_USING_ADC1 - ADC1_CONFIG, -#endif - -#ifdef BSP_USING_ADC2 - ADC2_CONFIG, -#endif - -#ifdef BSP_USING_ADC3 - ADC3_CONFIG, -#endif -}; - -static rt_err_t at32_adc_enabled(struct rt_adc_device *device, rt_uint32_t channel, rt_bool_t enabled) -{ - adc_type *adc_x; - adc_base_config_type adc_config_struct; - - RT_ASSERT(device != RT_NULL); - adc_x = device->parent.user_data; - - at32_msp_adc_init(adc_x); - - /* adc_x configuration */ - adc_base_default_para_init(&adc_config_struct); - adc_config_struct.data_align = ADC_RIGHT_ALIGNMENT; - adc_config_struct.ordinary_channel_length = 1; - adc_config_struct.repeat_mode = FALSE; - adc_config_struct.sequence_mode = FALSE; - adc_base_config(adc_x, &adc_config_struct); - adc_combine_mode_select(ADC_INDEPENDENT_MODE); - adc_ordinary_conversion_trigger_set(adc_x, ADC12_ORDINARY_TRIG_SOFTWARE, TRUE); - - if (!enabled) - { - /* disable adc_x */ - adc_enable(adc_x, FALSE); - } - else - { - /* enable adc_x */ - adc_enable(adc_x, TRUE); - - /* enable adc_x calibration */ - adc_calibration_init(adc_x); - /* check the end of adc_x reset calibration register */ - while(adc_calibration_init_status_get(adc_x) == SET) - { - } - /* start adc_x calibration */ - adc_calibration_start(adc_x); - /* check the end of adc_x calibration */ - while(adc_calibration_status_get(adc_x) == SET) - { - } - } - - return RT_EOK; -} - -static rt_err_t at32_get_adc_value(struct rt_adc_device *device, rt_uint32_t channel, rt_uint32_t *value) -{ - adc_type *adc_x; - rt_uint32_t timeout = 0; - - RT_ASSERT(device != RT_NULL); - adc_x = device->parent.user_data; - - /* adc_x regular channels configuration */ - adc_ordinary_channel_set(adc_x, (adc_channel_select_type)channel, 1, ADC_SAMPLETIME_239_5); - - /* start adc_x software conversion */ - adc_ordinary_software_trigger_enable(adc_x, TRUE); - - /* wait for the adc to convert */ - while((adc_flag_get(adc_x, ADC_CCE_FLAG) == RESET) && timeout < 0xFFFF) - { - timeout ++; - } - - if(timeout >= 0xFFFF) - { - LOG_D("channel%d converts timeout, please confirm adc_x enabled or not", channel); - } - - /* get adc value */ - *value = adc_ordinary_conversion_data_get(adc_x); - - return RT_EOK; -} - -static const struct rt_adc_ops at_adc_ops = -{ - .enabled = at32_adc_enabled, - .convert = at32_get_adc_value, -}; - -static int rt_hw_adc_init(void) -{ - int result = RT_EOK; - int i = 0; - - for (i = 0; i < sizeof(at32_adc_obj) / sizeof(at32_adc_obj[0]); i++) - { - /* register ADC device */ - if (rt_hw_adc_register(&at32_adc_obj[i].at32_adc_device, at32_adc_obj[i].name, &at_adc_ops, at32_adc_obj[i].adc_x) == RT_EOK) - { - LOG_D("%s register success", at32_adc_obj[i].name); - } - else - { - LOG_E("%s register failed", at32_adc_obj[i].name); - result = -RT_ERROR; - } - - } - - return result; -} -INIT_BOARD_EXPORT(rt_hw_adc_init); - -#endif /* BSP_USING_ADC */ diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_adc.h b/bsp/at32/libraries/f403a_407/rt_drivers/drv_adc.h deleted file mode 100644 index 03daa7b471..0000000000 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_adc.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-11 leo first version - */ - -#ifndef __ADC_CONFIG_H__ -#define __ADC_CONFIG_H__ - -#include <rtthread.h> -#include <drivers/adc.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#if defined(BSP_USING_ADC1) || defined(BSP_USING_ADC2) || defined(BSP_USING_ADC3) - -#ifndef ADC1_CONFIG -#define ADC1_CONFIG \ - { \ - .adc_x = ADC1, \ - .name = "adc1", \ - } -#endif /* ADC1_CONFIG */ - -#ifndef ADC2_CONFIG -#define ADC2_CONFIG \ - { \ - .adc_x = ADC2, \ - .name = "adc2", \ - } -#endif /* ADC2_CONFIG */ - -#ifndef ADC3_CONFIG -#define ADC3_CONFIG \ - { \ - .adc_x = ADC3, \ - .name = "adc3", \ - } -#endif /* ADC3_CONFIG */ - -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* __ADC_CONFIG_H__ */ diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_can.h b/bsp/at32/libraries/f403a_407/rt_drivers/drv_can.h deleted file mode 100644 index cec0239989..0000000000 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_can.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-11 shelton first version - */ - -#ifndef __DRV_CAN_H__ -#define __DRV_CAN_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#include <rtdevice.h> -#include <rtthread.h> -#include "board.h" - -struct at32_baud_rate -{ - rt_uint32_t baud_rate; - can_baudrate_type baud_struct; -}; - -struct can_config -{ - can_type *can_x; - can_base_type base_init_struct; - can_baudrate_type baudrate_init_struct; - can_filter_init_type filter_init_struct; -}; - -/* at32 can device */ -struct at32_can -{ - char *name; - struct can_config config; - struct rt_can_device device; /* inherit from can device */ -}; - -int rt_hw_can_init(void); - -#ifdef __cplusplus -} -#endif - -#endif /*__DRV_CAN_H__ */ - -/************************** end of file ******************/ diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_common.c b/bsp/at32/libraries/f403a_407/rt_drivers/drv_common.c deleted file mode 100644 index 75404bb74a..0000000000 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_common.c +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-08 shelton first version - */ - -#include "board.h" -#include "drv_common.h" - -#ifdef RT_USING_SERIAL -#include "drv_usart.h" -#endif - -#define DBG_TAG "drv_common" -#define DBG_LVL DBG_INFO -#include <rtdbg.h> - -#ifdef RT_USING_FINSH -#include <finsh.h> -static void reboot(uint8_t argc, char **argv) -{ - rt_hw_cpu_reset(); -} -MSH_CMD_EXPORT(reboot, Reboot System); -#endif /* RT_USING_FINSH */ - -extern __IO uint32_t uwTick; -static uint32_t _systick_ms = 1; - -/* systick configuration */ -void rt_hw_systick_init(void) -{ - systick_clock_source_config(SYSTICK_CLOCK_SOURCE_AHBCLK_NODIV); - SysTick_Config(system_core_clock / RT_TICK_PER_SECOND); - - nvic_irq_enable(SysTick_IRQn, 0, 0); - - _systick_ms = 1000u / RT_TICK_PER_SECOND; - if(_systick_ms == 0) - _systick_ms = 1; -} - -/** - * this is the timer interrupt service routine. - */ -void SysTick_Handler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - rt_tick_increase(); - - /* leave interrupt */ - rt_interrupt_leave(); -} - -/** - * @brief this function is executed in case of error occurrence. - * @param none - * @retval none - */ -void _Error_Handler(char *s, int num) -{ - /* User can add his own implementation to report the HAL error return state */ - LOG_E("Error_Handler at file:%s num:%d", s, num); - while (1) - { - } -} - -/** - * this function will delay for some us. - * - * @param us the delay time of us - */ -void rt_hw_us_delay(rt_uint32_t us) -{ - rt_uint32_t ticks; - rt_uint32_t told, tnow, tcnt = 0; - rt_uint32_t reload = SysTick->LOAD; - - ticks = us * reload / (1000000 / RT_TICK_PER_SECOND); - told = SysTick->VAL; - while (1) - { - tnow = SysTick->VAL; - if (tnow != told) - { - if (tnow < told) - { - tcnt += told - tnow; - } - else - { - tcnt += reload - tnow + told; - } - told = tnow; - if (tcnt >= ticks) - { - break; - } - } - } -} - -/** - * this function will initial at32 board. - */ -RT_WEAK void rt_hw_board_init() -{ - /* system clock initialization */ - system_clock_config(); - - /* configure nvic priority group */ - nvic_priority_group_config(NVIC_PRIORITY_GROUP_4); - - /* systick init */ - rt_hw_systick_init(); - - /* heap initialization */ -#if defined(RT_USING_HEAP) - rt_system_heap_init((void *)HEAP_BEGIN, (void *)HEAP_END); -#endif - - /* pin driver initialization is open by default */ -#ifdef RT_USING_PIN - rt_hw_pin_init(); -#endif - - /* usart driver initialization is open by default */ -#ifdef RT_USING_SERIAL - rt_hw_usart_init(); -#endif - - /* set the shell console output device */ -#if defined(RT_USING_CONSOLE) && defined(RT_USING_DEVICE) - rt_console_set_device(RT_CONSOLE_DEVICE_NAME); -#endif - - /* board underlying hardware initialization */ -#ifdef RT_USING_COMPONENTS_INIT - rt_components_board_init(); -#endif -} - diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_common.h b/bsp/at32/libraries/f403a_407/rt_drivers/drv_common.h deleted file mode 100644 index c9d725bb52..0000000000 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_common.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-08 shelton first version - */ - -#ifndef __DRV_COMMON_H__ -#define __DRV_COMMON_H__ - -#include <rtthread.h> -#include <rthw.h> -#ifdef RT_USING_DEVICE -#include <rtdevice.h> -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -void _Error_Handler(char *s, int num); - -#ifndef Error_Handler -#define Error_Handler() _Error_Handler(__FILE__, __LINE__) -#endif - -//#define DMA_NOT_AVAILABLE ((DMA_INSTANCE_TYPE *)0xFFFFFFFFU) - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_emac.c b/bsp/at32/libraries/f403a_407/rt_drivers/drv_emac.c deleted file mode 100644 index 9ca854265f..0000000000 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_emac.c +++ /dev/null @@ -1,868 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-21 shelton first version - */ - -#include "drv_emac.h" -#include <netif/ethernetif.h> -#include <lwipopts.h> - -/* debug option */ -//#define EMAC_RX_DUMP -//#define EMAC_TX_DUMP -//#define DRV_DEBUG -#define LOG_TAG "drv.emac" -#include <drv_log.h> - -#define CRYSTAL_ON_PHY 0 - -/* emac memory buffer configuration */ -#define EMAC_NUM_RX_BUF 4 /* 0x1800 for rx (4 * 1536 = 6k) */ -#define EMAC_NUM_TX_BUF 2 /* 0x0600 for tx (2 * 1536 = 3k) */ - -#define MAX_ADDR_LEN 6 - -struct rt_at32_emac -{ - /* inherit from ethernet device */ - struct eth_device parent; -#ifndef PHY_USING_INTERRUPT_MODE - rt_timer_t poll_link_timer; -#endif - - /* interface address info, hw address */ - rt_uint8_t dev_addr[MAX_ADDR_LEN]; - /* emac_speed */ - emac_speed_type emac_speed; - /* emac_duplex_mode */ - emac_duplex_type emac_mode; -}; - -static emac_dma_desc_type *dma_rx_dscr_tab, *dma_tx_dscr_tab; -extern emac_dma_desc_type *dma_rx_desc_to_get, *dma_tx_desc_to_set; - -static rt_uint8_t *rx_buff, *tx_buff; -static struct rt_at32_emac at32_emac_device; -static uint8_t phy_addr = 0xFF; -static struct rt_semaphore tx_wait; -static rt_bool_t tx_is_waiting = RT_FALSE; - -#if defined(EMAC_RX_DUMP) || defined(EMAC_TX_DUMP) -#define __is_print(ch) ((unsigned int)((ch) - ' ') < 127u - ' ') -static void dump_hex(const rt_uint8_t *ptr, rt_size_t buflen) -{ - unsigned char *buf = (unsigned char *)ptr; - int i, j; - - for (i = 0; i < buflen; i += 16) - { - rt_kprintf("%08X: ", i); - - for (j = 0; j < 16; j++) - if (i + j < buflen) - rt_kprintf("%02X ", buf[i + j]); - else - rt_kprintf(" "); - rt_kprintf(" "); - - for (j = 0; j < 16; j++) - if (i + j < buflen) - rt_kprintf("%c", __is_print(buf[i + j]) ? buf[i + j] : '.'); - rt_kprintf("\n"); - } -} -#endif - -/** - * @brief phy reset - */ -static void phy_reset(void) -{ - gpio_init_type gpio_init_struct; - - crm_periph_clock_enable(CRM_GPIOC_PERIPH_CLOCK, TRUE); - - gpio_default_para_init(&gpio_init_struct); - gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER; - gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT; - gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL; - gpio_init_struct.gpio_pull = GPIO_PULL_NONE; - gpio_init_struct.gpio_pins = GPIO_PINS_8; - gpio_init(GPIOC, &gpio_init_struct); - - gpio_bits_reset(GPIOC, GPIO_PINS_8); - rt_thread_mdelay(2); - gpio_bits_set(GPIOC, GPIO_PINS_8); - rt_thread_mdelay(2000); -} - -/** - * @brief phy clock config - */ -static void phy_clock_config(void) -{ -#if (CRYSTAL_ON_PHY == 0) - /* if CRYSTAL_NO_PHY, output clock with pa8 of mcu */ - gpio_init_type gpio_init_struct; - - crm_periph_clock_enable(CRM_GPIOA_PERIPH_CLOCK, TRUE); - - gpio_default_para_init(&gpio_init_struct); - gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER; - gpio_init_struct.gpio_mode = GPIO_MODE_MUX; - gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL; - gpio_init_struct.gpio_pull = GPIO_PULL_NONE; - gpio_init_struct.gpio_pins = GPIO_PINS_8; - gpio_init(GPIOA, &gpio_init_struct); - - /* 9162 clkout output sysclk / 8 == 25 mhz, so system clock must be 200 mhz */ - /* 83848 clkout output sysclk / 4 == 50 mhz, so system clock must be 200 mhz */ - crm_clock_out_set(CRM_CLKOUT_SCLK); -#if defined (PHY_USING_DM9162) - crm_clkout_div_set(CRM_CLKOUT_DIV_8); -#elif defined (PHY_USING_DP83848) - crm_clkout_div_set(CRM_CLKOUT_DIV_4); -#endif -#endif -} - -/** - * @brief reset phy register - */ -static error_status emac_phy_register_reset(void) -{ - uint16_t data = 0; - uint32_t timeout = 0; - uint32_t i = 0; - - if(emac_phy_register_write(phy_addr, PHY_CONTROL_REG, PHY_RESET_BIT) == ERROR) - { - return ERROR; - } - - for(i = 0; i < 0x000FFFFF; i++); - - do - { - timeout++; - if(emac_phy_register_read(phy_addr, PHY_CONTROL_REG, &data) == ERROR) - { - return ERROR; - } - } while((data & PHY_RESET_BIT) && (timeout < PHY_TIMEOUT)); - - for(i = 0; i < 0x00FFFFF; i++); - if(timeout == PHY_TIMEOUT) - { - return ERROR; - } - return SUCCESS; -} - -/** - * @brief set mac speed related parameters - */ -static error_status emac_speed_config(emac_auto_negotiation_type nego, emac_duplex_type mode, emac_speed_type speed) -{ - uint16_t data = 0; - uint32_t timeout = 0; - if(nego == EMAC_AUTO_NEGOTIATION_ON) - { - do - { - timeout++; - if(emac_phy_register_read(phy_addr, PHY_STATUS_REG, &data) == ERROR) - { - return ERROR; - } - } while(!(data & PHY_LINKED_STATUS_BIT) && (timeout < PHY_TIMEOUT)); - - if(timeout == PHY_TIMEOUT) - { - return ERROR; - } - - timeout = 0; - - if(emac_phy_register_write(phy_addr, PHY_CONTROL_REG, PHY_AUTO_NEGOTIATION_BIT) == ERROR) - { - return ERROR; - } - - do - { - timeout++; - if(emac_phy_register_read(phy_addr, PHY_STATUS_REG, &data) == ERROR) - { - return ERROR; - } - } while(!(data & PHY_NEGO_COMPLETE_BIT) && (timeout < PHY_TIMEOUT)); - - if(timeout == PHY_TIMEOUT) - { - return ERROR; - } - - if(emac_phy_register_read(phy_addr, PHY_SPECIFIED_CS_REG, &data) == ERROR) - { - return ERROR; - } -#ifdef PHY_USING_DM9162 - if(data & PHY_FULL_DUPLEX_100MBPS_BIT) - { - emac_fast_speed_set(EMAC_SPEED_100MBPS); - emac_duplex_mode_set(EMAC_FULL_DUPLEX); - } - else if(data & PHY_HALF_DUPLEX_100MBPS_BIT) - { - emac_fast_speed_set(EMAC_SPEED_100MBPS); - emac_duplex_mode_set(EMAC_HALF_DUPLEX); - } - else if(data & PHY_FULL_DUPLEX_10MBPS_BIT) - { - emac_fast_speed_set(EMAC_SPEED_10MBPS); - emac_duplex_mode_set(EMAC_FULL_DUPLEX); - } - else if(data & PHY_HALF_DUPLEX_10MBPS_BIT) - { - emac_fast_speed_set(EMAC_SPEED_10MBPS); - emac_duplex_mode_set(EMAC_HALF_DUPLEX); - } -#endif -#ifdef PHY_USING_DP83848 - if(data & PHY_DUPLEX_MODE) - { - emac_duplex_mode_set(EMAC_FULL_DUPLEX); - } - else - { - emac_duplex_mode_set(EMAC_HALF_DUPLEX); - } - if(data & PHY_SPEED_MODE) - { - emac_fast_speed_set(EMAC_SPEED_10MBPS); - } - else - { - emac_fast_speed_set(EMAC_SPEED_100MBPS); - } -#endif - } - else - { - if(emac_phy_register_write(phy_addr, PHY_CONTROL_REG, (uint16_t)((mode << 8) | (speed << 13))) == ERROR) - { - return ERROR; - } - if(speed == EMAC_SPEED_100MBPS) - { - emac_fast_speed_set(EMAC_SPEED_100MBPS); - } - else - { - emac_fast_speed_set(EMAC_SPEED_10MBPS); - } - if(mode == EMAC_FULL_DUPLEX) - { - emac_duplex_mode_set(EMAC_FULL_DUPLEX); - } - else - { - emac_duplex_mode_set(EMAC_HALF_DUPLEX); - } - } - - return SUCCESS; -} - -/** - * @brief initialize emac phy - */ -static error_status emac_phy_init(emac_control_config_type *control_para) -{ - emac_clock_range_set(); - if(emac_phy_register_reset() == ERROR) - { - return ERROR; - } - if(emac_speed_config(control_para->auto_nego, control_para->duplex_mode, control_para->fast_ethernet_speed) == ERROR) - { - return ERROR; - } - - emac_control_config(control_para); - return SUCCESS; -} - -/** - * @brief emac initialization function - */ -static rt_err_t rt_at32_emac_init(rt_device_t dev) -{ - emac_control_config_type mac_control_para; - emac_dma_config_type dma_control_para; - - /* check till phy detected */ - while(phy_addr == 0xFF) - { - rt_thread_mdelay(1000); - } - - /* emac reset */ - emac_reset(); - - /* software reset emac dma */ - emac_dma_software_reset_set(); - while(emac_dma_software_reset_get() == SET); - - emac_control_para_init(&mac_control_para); - mac_control_para.auto_nego = EMAC_AUTO_NEGOTIATION_ON; - if(emac_phy_init(&mac_control_para) == ERROR) - { - LOG_E("emac hardware init failed"); - return ERROR; - } - else - { - LOG_D("emac hardware init success"); - } - - emac_transmit_flow_control_enable(TRUE); - emac_zero_quanta_pause_disable(TRUE); - - /* set mac address */ - emac_local_address_set(at32_emac_device.dev_addr); - - /* set emac dma rx link list */ - emac_dma_descriptor_list_address_set(EMAC_DMA_RECEIVE, dma_rx_dscr_tab, rx_buff, EMAC_NUM_RX_BUF); - /* set emac dma tx link list */ - emac_dma_descriptor_list_address_set(EMAC_DMA_TRANSMIT, dma_tx_dscr_tab, tx_buff, EMAC_NUM_TX_BUF); - - /* emac interrupt init */ - emac_dma_config(&dma_control_para); - emac_dma_interrupt_enable(EMAC_DMA_INTERRUPT_NORMAL_SUMMARY, TRUE); - emac_dma_interrupt_enable(EMAC_DMA_INTERRUPT_RX, TRUE); - nvic_irq_enable(EMAC_IRQn, 0x07, 0); - - /* enable emac */ - emac_start(); - - return RT_EOK; -} - -static rt_err_t rt_at32_emac_open(rt_device_t dev, rt_uint16_t oflag) -{ - LOG_D("emac open"); - return RT_EOK; -} - -static rt_err_t rt_at32_emac_close(rt_device_t dev) -{ - LOG_D("emac close"); - return RT_EOK; -} - -static rt_size_t rt_at32_emac_read(rt_device_t dev, rt_off_t pos, void *buffer, rt_size_t size) -{ - LOG_D("emac read"); - rt_set_errno(-RT_ENOSYS); - return 0; -} - -static rt_size_t rt_at32_emac_write(rt_device_t dev, rt_off_t pos, const void *buffer, rt_size_t size) -{ - LOG_D("emac write"); - rt_set_errno(-RT_ENOSYS); - return 0; -} - -static rt_err_t rt_at32_emac_control(rt_device_t dev, int cmd, void *args) -{ - switch (cmd) - { - case NIOCTL_GADDR: - /* get mac address */ - if (args) - { - SMEMCPY(args, at32_emac_device.dev_addr, 6); - } - else - { - return -RT_ERROR; - } - break; - - default : - break; - } - - return RT_EOK; -} - -/** - * @brief transmit data - */ -rt_err_t rt_at32_emac_tx(rt_device_t dev, struct pbuf *p) -{ - struct pbuf *q; - rt_uint32_t offset; - - while ((dma_tx_desc_to_set->status & EMAC_DMATXDESC_OWN) != RESET) - { - rt_err_t result; - rt_uint32_t level; - - level = rt_hw_interrupt_disable(); - tx_is_waiting = RT_TRUE; - rt_hw_interrupt_enable(level); - - /* it's own bit set, wait it */ - result = rt_sem_take(&tx_wait, RT_WAITING_FOREVER); - if (result == RT_EOK) break; - if (result == -RT_ERROR) return -RT_ERROR; - } - - offset = 0; - for (q = p; q != NULL; q = q->next) - { - uint8_t *buffer; - - /* copy the frame to be sent into memory pointed by the current ethernet dma tx descriptor */ - buffer = (uint8_t*)((dma_tx_desc_to_set->buf1addr) + offset); - SMEMCPY(buffer, q->payload, q->len); - offset += q->len; - } - -#ifdef EMAC_TX_DUMP - dump_hex(p->payload, p->tot_len); -#endif - /* prepare transmit descriptors to give to dma */ - LOG_D("transmit frame length :%d", p->tot_len); - - /* setting the frame length: bits[12:0] */ - dma_tx_desc_to_set->controlsize = (p->tot_len & EMAC_DMATXDESC_TBS1); - /* Setting the last segment and first segment bits (in this case a frame is transmitted in one descriptor) */ - dma_tx_desc_to_set->status |= EMAC_DMATXDESC_LS | EMAC_DMATXDESC_FS; - /* enable tx completion interrupt */ - dma_tx_desc_to_set->status |= EMAC_DMATXDESC_IC; - /* set own bit of the tx descriptor status: gives the buffer back to ethernet dma */ - dma_tx_desc_to_set->status |= EMAC_DMATXDESC_OWN; - - /* When Tx Buffer unavailable flag is set: clear it and resume transmission */ - if(emac_dma_flag_get(EMAC_DMA_TBU_FLAG) != RESET) - { - emac_dma_flag_clear(EMAC_DMA_TBU_FLAG); - emac_dma_poll_demand_set(EMAC_DMA_TRANSMIT, 0); - } - - /* selects the next dma tx descriptor list for next buffer to send */ - dma_tx_desc_to_set = (emac_dma_desc_type*) (dma_tx_desc_to_set->buf2nextdescaddr); - - return ERR_OK; -} - -/** - * @brief receive data - */ -struct pbuf *rt_at32_emac_rx(rt_device_t dev) -{ - struct pbuf *p = NULL; - struct pbuf *q = NULL; - rt_uint32_t offset = 0; - uint16_t len = 0; - uint8_t *buffer; - - /* get received frame */ - len = emac_received_packet_size_get(); - if(len > 0) - { - LOG_D("receive frame len : %d", len); - /* we allocate a pbuf chain of pbufs from the lwip buffer pool */ - p = pbuf_alloc(PBUF_RAW, len, PBUF_POOL); - - if(p != NULL) - { - for (q = p; q != RT_NULL; q= q->next) - { - /* get rx buffer */ - buffer = (uint8_t *)(dma_rx_desc_to_get->buf1addr); -#ifdef EMAC_RX_DUMP - dump_hex(buffer, len); -#endif - /* copy the received frame into buffer from memory pointed by the current ethernet dma rx descriptor */ - SMEMCPY(q->payload, (buffer + offset), q->len); - offset += q->len; - } - } - } - else - { - return p; - } - - /* release descriptors to dma */ - dma_rx_desc_to_get->status |= EMAC_DMARXDESC_OWN; - - /* when rx buffer unavailable flag is set: clear it and resume reception */ - if(emac_dma_flag_get(EMAC_DMA_RBU_FLAG) != RESET) - { - /* clear rbu ethernet dma flag */ - emac_dma_flag_clear(EMAC_DMA_RBU_FLAG); - /* resume dma reception */ - emac_dma_poll_demand_set(EMAC_DMA_RECEIVE, 0); - } - - /* update the ethernet dma global rx descriptor with next rx decriptor */ - /* chained mode */ - if((dma_rx_desc_to_get->controlsize & EMAC_DMARXDESC_RCH) != RESET) - { - /* selects the next dma rx descriptor list for next buffer to read */ - dma_rx_desc_to_get = (emac_dma_desc_type*) (dma_rx_desc_to_get->buf2nextdescaddr); - } - /* ring mode */ - else - { - if((dma_rx_desc_to_get->controlsize & EMAC_DMARXDESC_RER) != RESET) - { - /* selects the first dma rx descriptor for next buffer to read: last rx descriptor was used */ - dma_rx_desc_to_get = (emac_dma_desc_type*) (EMAC_DMA->rdladdr); - } - else - { - /* selects the next dma rx descriptor list for next buffer to read */ - dma_rx_desc_to_get = (emac_dma_desc_type*) ((uint32_t)dma_rx_desc_to_get + 0x10 + ((EMAC_DMA->bm & 0x0000007C) >> 2)); - } - } - return p; -} - -void EMAC_IRQHandler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - /* clear received it */ - if(emac_dma_flag_get(EMAC_DMA_NIS_FLAG) != RESET) - { - emac_dma_flag_clear(EMAC_DMA_NIS_FLAG); - } - if(emac_dma_flag_get(EMAC_DMA_AIS_FLAG) != RESET) - { - emac_dma_flag_clear(EMAC_DMA_AIS_FLAG); - } - if(emac_dma_flag_get(EMAC_DMA_OVF_FLAG) != RESET) - { - emac_dma_flag_clear(EMAC_DMA_OVF_FLAG); - } - if(emac_dma_flag_get(EMAC_DMA_RBU_FLAG) != RESET) - { - emac_dma_flag_clear(EMAC_DMA_RBU_FLAG); - } - - /* packet receiption */ - if (emac_dma_flag_get(EMAC_DMA_RI_FLAG) == SET) - { - /* a frame has been received */ - eth_device_ready(&(at32_emac_device.parent)); - emac_dma_flag_clear(EMAC_DMA_RI_FLAG); - } - - /* packet transmission */ - if (emac_dma_flag_get(EMAC_DMA_TI_FLAG) == SET) - { - if (tx_is_waiting == RT_TRUE) - { - tx_is_waiting = RT_FALSE; - rt_sem_release(&tx_wait); - } - - emac_dma_flag_clear(EMAC_DMA_TI_FLAG); - } - - /* leave interrupt */ - rt_interrupt_leave(); -} - -enum { - PHY_LINK = (1 << 0), - PHY_10M = (1 << 1), - PHY_FULLDUPLEX = (1 << 2), -}; - -static void phy_linkchange() -{ - static rt_uint8_t phy_speed = 0; - rt_uint8_t phy_speed_new = 0; - rt_uint16_t status; - - emac_phy_register_read(phy_addr, PHY_BASIC_STATUS_REG, (uint16_t *)&status); - LOG_D("phy basic status reg is 0x%X", status); - - if (status & (PHY_AUTONEGO_COMPLETE_MASK | PHY_LINKED_STATUS_MASK)) - { - rt_uint16_t SR = 0; - - phy_speed_new |= PHY_LINK; - - emac_phy_register_read(phy_addr, PHY_SPECIFIED_CS_REG, (uint16_t *)&SR); - LOG_D("phy control status reg is 0x%X", SR); - - if (SR & (PHY_SPEED_MODE)) - { - phy_speed_new |= PHY_10M; - } - - if (SR & (PHY_DUPLEX_MODE)) - { - phy_speed_new |= PHY_FULLDUPLEX; - } - } - - if (phy_speed != phy_speed_new) - { - phy_speed = phy_speed_new; - if (phy_speed & PHY_LINK) - { - LOG_D("link up"); - if (phy_speed & PHY_10M) - { - LOG_D("10Mbps"); - at32_emac_device.emac_speed = EMAC_SPEED_10MBPS; - } - else - { - at32_emac_device.emac_speed = EMAC_SPEED_100MBPS; - LOG_D("100Mbps"); - } - - if (phy_speed & PHY_FULLDUPLEX) - { - LOG_D("full-duplex"); - at32_emac_device.emac_mode = EMAC_FULL_DUPLEX; - } - else - { - LOG_D("half-duplex"); - at32_emac_device.emac_mode = EMAC_HALF_DUPLEX; - } - - /* send link up. */ - eth_device_linkchange(&at32_emac_device.parent, RT_TRUE); - } - else - { - LOG_I("link down"); - eth_device_linkchange(&at32_emac_device.parent, RT_FALSE); - } - } -} - -#ifdef PHY_USING_INTERRUPT_MODE -static void emac_phy_isr(void *args) -{ - rt_uint32_t status = 0; - - emac_phy_register_read(phy_addr, PHY_INTERRUPT_FLAG_REG, (uint16_t *)&status); - LOG_D("phy interrupt status reg is 0x%X", status); - - phy_linkchange(); -} -#endif /* PHY_USING_INTERRUPT_MODE */ - -static void phy_monitor_thread_entry(void *parameter) -{ - uint8_t detected_count = 0; - - while(phy_addr == 0xFF) - { - /* phy search */ - rt_uint32_t i, temp; - for (i = 0; i <= 0x1F; i++) - { - emac_phy_register_read(i, PHY_BASIC_STATUS_REG, (uint16_t *)&temp); - - if (temp != 0xFFFF && temp != 0x00) - { - phy_addr = i; - break; - } - } - - detected_count++; - rt_thread_mdelay(1000); - - if (detected_count > 10) - { - LOG_E("No PHY device was detected, please check hardware!"); - } - } - - LOG_D("Found a phy, address:0x%02X", phy_addr); - - /* reset phy */ - LOG_D("RESET PHY!"); - emac_phy_register_write(phy_addr, PHY_BASIC_CONTROL_REG, PHY_RESET_MASK); - rt_thread_mdelay(2000); - emac_phy_register_write(phy_addr, PHY_BASIC_CONTROL_REG, PHY_AUTO_NEGOTIATION_MASK); - - phy_linkchange(); -#ifdef PHY_USING_INTERRUPT_MODE - /* configuration intterrupt pin */ - rt_pin_mode(PHY_INT_PIN, PIN_MODE_INPUT_PULLUP); - rt_pin_attach_irq(PHY_INT_PIN, PIN_IRQ_MODE_FALLING, emac_phy_isr, (void *)"callbackargs"); - rt_pin_irq_enable(PHY_INT_PIN, PIN_IRQ_ENABLE); - - /* enable phy interrupt */ - emac_phy_register_write(phy_addr, PHY_INTERRUPT_MASK_REG, PHY_INT_MASK); -#if defined(PHY_INTERRUPT_CTRL_REG) - emac_phy_register_write(phy_addr, PHY_INTERRUPT_CTRL_REG, PHY_INTERRUPT_EN); -#endif -#else /* PHY_USING_INTERRUPT_MODE */ - at32_emac_device.poll_link_timer = rt_timer_create("phylnk", (void (*)(void*))phy_linkchange, - NULL, RT_TICK_PER_SECOND, RT_TIMER_FLAG_PERIODIC); - if (!at32_emac_device.poll_link_timer || rt_timer_start(at32_emac_device.poll_link_timer) != RT_EOK) - { - LOG_E("Start link change detection timer failed"); - } -#endif /* PHY_USING_INTERRUPT_MODE */ -} - -/* Register the EMAC device */ -static int rt_hw_at32_emac_init(void) -{ - rt_err_t state = RT_EOK; - - /* Prepare receive and send buffers */ - rx_buff = (rt_uint8_t *)rt_calloc(EMAC_NUM_RX_BUF, EMAC_MAX_PACKET_LENGTH); - if (rx_buff == RT_NULL) - { - LOG_E("No memory"); - state = -RT_ENOMEM; - goto __exit; - } - - tx_buff = (rt_uint8_t *)rt_calloc(EMAC_NUM_TX_BUF, EMAC_MAX_PACKET_LENGTH); - if (tx_buff == RT_NULL) - { - LOG_E("No memory"); - state = -RT_ENOMEM; - goto __exit; - } - - dma_rx_dscr_tab = (emac_dma_desc_type *)rt_calloc(EMAC_NUM_RX_BUF, sizeof(emac_dma_desc_type)); - if (dma_rx_dscr_tab == RT_NULL) - { - LOG_E("No memory"); - state = -RT_ENOMEM; - goto __exit; - } - - dma_tx_dscr_tab = (emac_dma_desc_type *)rt_calloc(EMAC_NUM_TX_BUF, sizeof(emac_dma_desc_type)); - if (dma_tx_dscr_tab == RT_NULL) - { - LOG_E("No memory"); - state = -RT_ENOMEM; - goto __exit; - } - - /* phy clock */ - phy_clock_config(); - - /* enable periph clock */ - crm_periph_clock_enable(CRM_EMAC_PERIPH_CLOCK, TRUE); - crm_periph_clock_enable(CRM_EMACTX_PERIPH_CLOCK, TRUE); - crm_periph_clock_enable(CRM_EMACRX_PERIPH_CLOCK, TRUE); - - /* interface mode */ - gpio_pin_remap_config(MII_RMII_SEL_GMUX, TRUE); - - /* emac gpio init */ - at32_msp_emac_init(NULL); - - at32_emac_device.emac_speed = EMAC_SPEED_100MBPS; - at32_emac_device.emac_mode = EMAC_FULL_DUPLEX; - - at32_emac_device.dev_addr[0] = 0x00; - at32_emac_device.dev_addr[1] = 0x80; - at32_emac_device.dev_addr[2] = 0xE1; - /* generate mac addr from unique id (only for test). */ - at32_emac_device.dev_addr[3] = *(rt_uint8_t *)(0x1FFFF7E8 + 4); - at32_emac_device.dev_addr[4] = *(rt_uint8_t *)(0x1FFFF7E8 + 2); - at32_emac_device.dev_addr[5] = *(rt_uint8_t *)(0x1FFFF7E8 + 0); - - at32_emac_device.parent.parent.init = rt_at32_emac_init; - at32_emac_device.parent.parent.open = rt_at32_emac_open; - at32_emac_device.parent.parent.close = rt_at32_emac_close; - at32_emac_device.parent.parent.read = rt_at32_emac_read; - at32_emac_device.parent.parent.write = rt_at32_emac_write; - at32_emac_device.parent.parent.control = rt_at32_emac_control; - at32_emac_device.parent.parent.user_data = RT_NULL; - - at32_emac_device.parent.eth_rx = rt_at32_emac_rx; - at32_emac_device.parent.eth_tx = rt_at32_emac_tx; - - /* reset phy */ - phy_reset(); - - /* start phy monitor */ - rt_thread_t tid; - tid = rt_thread_create("phy", - phy_monitor_thread_entry, - RT_NULL, - 1024, - RT_THREAD_PRIORITY_MAX - 2, - 2); - if (tid != RT_NULL) - { - rt_thread_startup(tid); - } - else - { - state = -RT_ERROR; - } - - /* register eth device */ - state = eth_device_init(&(at32_emac_device.parent), "e0"); - if (RT_EOK == state) - { - LOG_D("emac device init success"); - } - else - { - LOG_E("emac device init faild: %d", state); - state = -RT_ERROR; - goto __exit; - } -__exit: - if (state != RT_EOK) - { - if (rx_buff) - { - rt_free(rx_buff); - } - - if (tx_buff) - { - rt_free(tx_buff); - } - - if (dma_rx_dscr_tab) - { - rt_free(dma_rx_dscr_tab); - } - - if (dma_tx_dscr_tab) - { - rt_free(dma_tx_dscr_tab); - } - } - - return state; -} - -INIT_DEVICE_EXPORT(rt_hw_at32_emac_init); diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_emac.h b/bsp/at32/libraries/f403a_407/rt_drivers/drv_emac.h deleted file mode 100644 index 64833938e4..0000000000 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_emac.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-18 shelton first version - */ - -#ifndef __DRV_ETH_H__ -#define __DRV_ETH_H__ - -#include <rtthread.h> -#include <rthw.h> -#include <rtdevice.h> -#include <board.h> - -#define CRYSTAL_ON_PHY 0 /* phy does not with crystal */ - -/* the phy basic control register */ -#define PHY_BASIC_CONTROL_REG 0x00U -#define PHY_RESET_MASK (1<<15) -#define PHY_AUTO_NEGOTIATION_MASK (1<<12) - -/* the phy basic status register */ -#define PHY_BASIC_STATUS_REG 0x01U -#define PHY_LINKED_STATUS_MASK (1<<2) -#define PHY_AUTONEGO_COMPLETE_MASK (1<<5) - -/* the phy id one register */ -#define PHY_ID1_REG 0x02U -/* the phy id two register */ -#define PHY_ID2_REG 0x03U -/* the phy auto-negotiate advertise register */ -#define PHY_AUTONEG_ADVERTISE_REG 0x04U - -#if defined (PHY_USING_DM9162) - #define PHY_CONTROL_REG (0x00) /*!< basic mode control register */ - #define PHY_STATUS_REG (0x01) /*!< basic mode status register */ - #define PHY_SPECIFIED_CS_REG (0x11) /*!< specified configuration and status register */ - /* phy control register */ - #define PHY_AUTO_NEGOTIATION_BIT (0x1000) /*!< enable auto negotiation */ - #define PHY_LOOPBACK_BIT (0x4000) /*!< enable loopback */ - #define PHY_RESET_BIT (0x8000) /*!< reset phy */ - /* phy status register */ - #define PHY_LINKED_STATUS_BIT (0x0004) /*!< link status */ - #define PHY_NEGO_COMPLETE_BIT (0x0020) /*!< auto negotiation complete */ - /* phy specified control/status register */ - #define PHY_FULL_DUPLEX_100MBPS_BIT (0x8000) /*!< full duplex 100 mbps */ - #define PHY_HALF_DUPLEX_100MBPS_BIT (0x4000) /*!< half duplex 100 mbps */ - #define PHY_FULL_DUPLEX_10MBPS_BIT (0x2000) /*!< full duplex 10 mbps */ - #define PHY_HALF_DUPLEX_10MBPS_BIT (0x1000) /*!< half duplex 10 mbps */ - #define PHY_DUPLEX_MODE (PHY_FULL_DUPLEX_100MBPS_BIT | PHY_FULL_DUPLEX_10MBPS_BIT) /*!< full duplex mode */ - #define PHY_SPEED_MODE (PHY_FULL_DUPLEX_10MBPS_BIT | PHY_HALF_DUPLEX_10MBPS_BIT) /*!< 10 mbps */ - /* the phy interrupt source flag register. */ - #define PHY_INTERRUPT_FLAG_REG 0x15U - /* the phy interrupt mask register. */ - #define PHY_INTERRUPT_MASK_REG 0x15U - #define PHY_LINK_CHANGE_FLAG (1<<2) - #define PHY_LINK_CHANGE_MASK (1<<9) - #define PHY_INT_MASK 0 -#elif defined (PHY_USING_DP83848) - #define PHY_CONTROL_REG (0x00) /*!< basic mode control register */ - #define PHY_STATUS_REG (0x01) /*!< basic mode status register */ - #define PHY_SPECIFIED_CS_REG (0x10) /*!< phy status register */ - /* phy control register */ - #define PHY_AUTO_NEGOTIATION_BIT (0x1000) /*!< enable auto negotiation */ - #define PHY_LOOPBACK_BIT (0x4000) /*!< enable loopback */ - #define PHY_RESET_BIT (0x8000) /*!< reset phy */ - /* phy status register */ - #define PHY_LINKED_STATUS_BIT (0x0004) /*!< link status */ - #define PHY_NEGO_COMPLETE_BIT (0x0020) /*!< auto negotiation complete */ - - #define PHY_DUPLEX_MODE (0x0004) /*!< full duplex mode */ - #define PHY_SPEED_MODE (0x0002) /*!< 10 mbps */ - - /* the phy interrupt source flag register. */ - #define PHY_INTERRUPT_FLAG_REG 0x12U - #define PHY_LINK_CHANGE_FLAG (1<<13) - /* the phy interrupt control register. */ - #define PHY_INTERRUPT_CTRL_REG 0x11U - #define PHY_INTERRUPT_EN ((1<<0)|(1<<1)) - /* the phy interrupt mask register. */ - #define PHY_INTERRUPT_MASK_REG 0x12U - #define PHY_INT_MASK (1<<5) -#endif - -#endif /* __DRV_ETH_H__ */ diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_flash.c b/bsp/at32/libraries/f403a_407/rt_drivers/drv_flash.c deleted file mode 100644 index e763e817bc..0000000000 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_flash.c +++ /dev/null @@ -1,210 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-24 shelton first version - */ - -#include <rtthread.h> -#include "board.h" - -#ifdef BSP_USING_ON_CHIP_FLASH -#include "drv_flash.h" - -#if defined(PKG_USING_FAL) -#include "fal.h" -#endif - -//#define DRV_DEBUG -#define LOG_TAG "drv.flash" -#include <drv_log.h> - -/** - * @brief gets the page of a given address - * @param addr: address of the flash memory - * @retval the page of a given address - */ -static rt_uint32_t get_page(uint32_t addr) -{ - rt_uint32_t page = 0; - - page = RT_ALIGN_DOWN(addr, FLASH_PAGE_SIZE); - - return page; -} - -/** - * @brief read data from flash. - * @note this operation's units is word. - * - * @param addr flash address - * @param buf buffer to store read data - * @param size read bytes size - * - * @return result - */ -int at32_flash_read(rt_uint32_t addr, rt_uint8_t *buf, rt_uint32_t size) -{ - rt_uint32_t i; - - if ((addr + size) > AT32_FLASH_END_ADDRESS) - { - LOG_E("read outrange flash size! addr is (0x%p)", (void *)(addr + size)); - return -RT_EINVAL; - } - - for (i = 0; i < size; i++, buf++, addr++) - { - *buf = *(rt_uint8_t *) addr; - } - - return size; -} - -/** - * @brief write data to flash. - * @note this operation's units is word. - * @note this operation must after erase. @see flash_erase. - * - * @param addr flash address - * @param buf the write data buffer - * @param size write bytes size - * - * @return result - */ -int at32_flash_write(rt_uint32_t addr, const rt_uint8_t *buf, rt_uint32_t size) -{ - rt_err_t result = RT_EOK; - rt_uint32_t end_addr = addr + size; - - if (addr % 4 != 0) - { - LOG_E("write addr must be 4-byte alignment"); - return -RT_EINVAL; - } - - if ((end_addr) > AT32_FLASH_END_ADDRESS) - { - LOG_E("write outrange flash size! addr is (0x%p)", (void *)(addr + size)); - return -RT_EINVAL; - } - - flash_unlock(); - - while (addr < end_addr) - { - if (flash_word_program(addr, *((rt_uint32_t *)buf)) == FLASH_OPERATE_DONE) - { - if (*(rt_uint32_t *)addr != *(rt_uint32_t *)buf) - { - result = -RT_ERROR; - break; - } - addr += 4; - buf += 4; - } - else - { - result = -RT_ERROR; - break; - } - } - - flash_lock(); - - if (result != RT_EOK) - { - return result; - } - - return size; -} - -/** - * @brief erase data on flash . - * @note this operation is irreversible. - * @note this operation's units is different which on many chips. - * - * @param addr flash address - * @param size erase bytes size - * - * @return result - */ -int at32_flash_erase(rt_uint32_t addr, rt_uint32_t size) -{ - rt_err_t result = RT_EOK; - rt_uint32_t end_addr = addr + size; - rt_uint32_t page_addr = 0; - - flash_unlock(); - - if ((end_addr) > AT32_FLASH_END_ADDRESS) - { - LOG_E("erase outrange flash size! addr is (0x%p)", (void *)(addr + size)); - return -RT_EINVAL; - } - - while(addr < end_addr) - { - page_addr = get_page(addr); - - if(flash_sector_erase(page_addr) != FLASH_OPERATE_DONE) - { - result = -RT_ERROR; - goto __exit; - } - - addr += FLASH_PAGE_SIZE; - } - - flash_lock(); - -__exit: - if(result != RT_EOK) - { - return result; - } - - return size; -} - -#if defined(PKG_USING_FAL) - -static int fal_flash_read(long offset, rt_uint8_t *buf, rt_uint32_t size); -static int fal_flash_write(long offset, const rt_uint8_t *buf, rt_uint32_t size); -static int fal_flash_erase(long offset, rt_uint32_t size); - -const struct fal_flash_dev at32_onchip_flash = -{ - "onchip_flash", - AT32_FLASH_START_ADRESS, - AT32_FLASH_SIZE, - FLASH_PAGE_SIZE, - { - NULL, - fal_flash_read, - fal_flash_write, - fal_flash_erase - } -}; - -static int fal_flash_read(long offset, rt_uint8_t *buf, rt_uint32_t size) -{ - return at32_flash_read(at32_onchip_flash.addr + offset, buf, size); -} - -static int fal_flash_write(long offset, const rt_uint8_t *buf, rt_uint32_t size) -{ - return at32_flash_write(at32_onchip_flash.addr + offset, buf, size); -} - -static int fal_flash_erase(long offset, rt_uint32_t size) -{ - return at32_flash_erase(at32_onchip_flash.addr + offset, size); -} - -#endif -#endif /* BSP_USING_ON_CHIP_FLASH */ diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_gpio.c b/bsp/at32/libraries/f403a_407/rt_drivers/drv_gpio.c deleted file mode 100644 index b66c475050..0000000000 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_gpio.c +++ /dev/null @@ -1,557 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-08 shelton first version - */ - -#include "board.h" -#include "drv_gpio.h" - -#ifdef RT_USING_PIN - -#define PIN_NUM(port, no) (((((port) & 0xFu) << 4) | ((no) & 0xFu))) -#define PIN_PORT(pin) ((uint8_t)(((pin) >> 4) & 0xFu)) -#define PIN_NO(pin) ((uint8_t)((pin) & 0xFu)) - -#define PIN_ATPORTSOURCE(pin) (gpio_port_source_type)((uint8_t)(((pin) & 0xF0u) >> 4)) -#define PIN_ATPINSOURCE(pin) (gpio_pins_source_type)((uint8_t)((pin) & 0xFu)) -#define PIN_ATPORT(pin) ((gpio_type *)(GPIOA_BASE + (0x400u * PIN_PORT(pin)))) -#define PIN_ATPIN(pin) ((uint16_t)(1u << PIN_NO(pin))) - -#if defined(GPIOZ) - #define __AT32_PORT_MAX 12u -#elif defined(GPIOK) - #define __AT32_PORT_MAX 11u -#elif defined(GPIOJ) - #define __AT32_PORT_MAX 10u -#elif defined(GPIOI) - #define __AT32_PORT_MAX 9u -#elif defined(GPIOH) - #define __AT32_PORT_MAX 8u -#elif defined(GPIOG) - #define __AT32_PORT_MAX 7u -#elif defined(GPIOF) - #define __AT32_PORT_MAX 6u -#elif defined(GPIOE) - #define __AT32_PORT_MAX 5u -#elif defined(GPIOD) - #define __AT32_PORT_MAX 4u -#elif defined(GPIOC) - #define __AT32_PORT_MAX 3u -#elif defined(GPIOB) - #define __AT32_PORT_MAX 2u -#elif defined(GPIOA) - #define __AT32_PORT_MAX 1u -#else - #define __AT32_PORT_MAX 0u - #error Unsupported AT32 GPIO peripheral. -#endif - -#define PIN_ATPORT_MAX __AT32_PORT_MAX - -static const struct pin_irq_map pin_irq_map[] = -{ - {GPIO_PINS_0, EXINT_LINE_0, EXINT0_IRQn}, - {GPIO_PINS_1, EXINT_LINE_1, EXINT1_IRQn}, - {GPIO_PINS_2, EXINT_LINE_2, EXINT2_IRQn}, - {GPIO_PINS_3, EXINT_LINE_3, EXINT3_IRQn}, - {GPIO_PINS_4, EXINT_LINE_4, EXINT4_IRQn}, - {GPIO_PINS_5, EXINT_LINE_5, EXINT9_5_IRQn}, - {GPIO_PINS_6, EXINT_LINE_6, EXINT9_5_IRQn}, - {GPIO_PINS_7, EXINT_LINE_7, EXINT9_5_IRQn}, - {GPIO_PINS_8, EXINT_LINE_8, EXINT9_5_IRQn}, - {GPIO_PINS_9, EXINT_LINE_9, EXINT9_5_IRQn}, - {GPIO_PINS_10, EXINT_LINE_10, EXINT15_10_IRQn}, - {GPIO_PINS_11, EXINT_LINE_11, EXINT15_10_IRQn}, - {GPIO_PINS_12, EXINT_LINE_12, EXINT15_10_IRQn}, - {GPIO_PINS_13, EXINT_LINE_13, EXINT15_10_IRQn}, - {GPIO_PINS_14, EXINT_LINE_14, EXINT15_10_IRQn}, - {GPIO_PINS_15, EXINT_LINE_15, EXINT15_10_IRQn}, -}; - -static struct rt_pin_irq_hdr pin_irq_handler_tab[] = -{ - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, -}; -static uint32_t pin_irq_enable_mask = 0; - -#define ITEM_NUM(items) sizeof(items) / sizeof(items[0]) - -static void at32_pin_write(rt_device_t dev, rt_base_t pin, rt_base_t value) -{ - gpio_type *gpio_port; - - uint16_t gpio_pin; - if (PIN_PORT(pin) < PIN_ATPORT_MAX) - { - gpio_port = PIN_ATPORT(pin); - gpio_pin = PIN_ATPIN(pin); - } - else - { - return; - } - gpio_bits_write(gpio_port, gpio_pin, (confirm_state)value); -} - -static int at32_pin_read(rt_device_t dev, rt_base_t pin) -{ - gpio_type *gpio_port; - uint16_t gpio_pin; - int value; - - value = PIN_LOW; - - if (PIN_PORT(pin) < PIN_ATPORT_MAX) - { - gpio_port = PIN_ATPORT(pin); - gpio_pin = PIN_ATPIN(pin); - value = gpio_input_data_bit_read(gpio_port, gpio_pin); - } - return value; -} - -static void at32_pin_mode(rt_device_t dev, rt_base_t pin, rt_base_t mode) -{ - gpio_init_type gpio_init_struct; - gpio_type *gpio_port; - uint16_t gpio_pin; - - if (PIN_PORT(pin) < PIN_ATPORT_MAX) - { - gpio_port = PIN_ATPORT(pin); - gpio_pin = PIN_ATPIN(pin); - } - else - { - return; - } - - /* configure gpio_init_struct */ - gpio_default_para_init(&gpio_init_struct); - gpio_init_struct.gpio_pins = gpio_pin; - gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT; - gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL; - gpio_init_struct.gpio_pull = GPIO_PULL_NONE; - gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER; - - if (mode == PIN_MODE_OUTPUT) - { - /* output setting */ - gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT; - gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL; - gpio_init_struct.gpio_pull = GPIO_PULL_NONE; - } - else if (mode == PIN_MODE_INPUT) - { - /* input setting: not pull. */ - gpio_init_struct.gpio_mode = GPIO_MODE_INPUT; - gpio_init_struct.gpio_pull = GPIO_PULL_NONE; - } - else if (mode == PIN_MODE_INPUT_PULLUP) - { - /* input setting: pull up. */ - gpio_init_struct.gpio_mode = GPIO_MODE_INPUT; - gpio_init_struct.gpio_pull = GPIO_PULL_UP; - } - else if (mode == PIN_MODE_INPUT_PULLDOWN) - { - /* input setting: pull down. */ - gpio_init_struct.gpio_mode = GPIO_MODE_INPUT; - gpio_init_struct.gpio_pull = GPIO_PULL_DOWN; - } - else if (mode == PIN_MODE_OUTPUT_OD) - { - /* output setting: od. */ - gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT; - gpio_init_struct.gpio_out_type = GPIO_OUTPUT_OPEN_DRAIN; - } - - gpio_init(gpio_port, &gpio_init_struct); -} - -rt_inline rt_int32_t bit2bitno(rt_uint32_t bit) -{ - int i; - for (i = 0; i < 32; i++) - { - if ((0x01 << i) == bit) - { - return i; - } - } - return -1; -} - -rt_inline const struct pin_irq_map *get_pin_irq_map(uint32_t pinbit) -{ - rt_int32_t mapindex = bit2bitno(pinbit); - if (mapindex < 0 || mapindex >= ITEM_NUM(pin_irq_map)) - { - return RT_NULL; - } - return &pin_irq_map[mapindex]; -}; - -static rt_err_t at32_pin_attach_irq(struct rt_device *device, rt_int32_t pin, - rt_uint32_t mode, void (*hdr)(void *args), void *args) -{ - uint16_t gpio_pin; - rt_base_t level; - rt_int32_t irqindex = -1; - - if (PIN_PORT(pin) < PIN_ATPORT_MAX) - { - gpio_pin = PIN_ATPIN(pin); - } - else - { - return -RT_EINVAL; - } - - irqindex = bit2bitno(gpio_pin); - if (irqindex < 0 || irqindex >= ITEM_NUM(pin_irq_map)) - { - return -RT_EINVAL; - } - - level = rt_hw_interrupt_disable(); - if (pin_irq_handler_tab[irqindex].pin == pin && - pin_irq_handler_tab[irqindex].hdr == hdr && - pin_irq_handler_tab[irqindex].mode == mode && - pin_irq_handler_tab[irqindex].args == args) - { - rt_hw_interrupt_enable(level); - return RT_EOK; - } - if (pin_irq_handler_tab[irqindex].pin != -1) - { - rt_hw_interrupt_enable(level); - return -RT_EBUSY; - } - pin_irq_handler_tab[irqindex].pin = pin; - pin_irq_handler_tab[irqindex].hdr = hdr; - pin_irq_handler_tab[irqindex].mode = mode; - pin_irq_handler_tab[irqindex].args = args; - rt_hw_interrupt_enable(level); - - return RT_EOK; -} - -static rt_err_t at32_pin_dettach_irq(struct rt_device *device, rt_int32_t pin) -{ - uint16_t gpio_pin; - rt_base_t level; - rt_int32_t irqindex = -1; - - if (PIN_PORT(pin) < PIN_ATPORT_MAX) - { - gpio_pin = PIN_ATPIN(pin); - } - else - { - return -RT_EINVAL; - } - irqindex = bit2bitno(gpio_pin); - if (irqindex < 0 || irqindex >= ITEM_NUM(pin_irq_map)) - { - return -RT_EINVAL; - } - - level = rt_hw_interrupt_disable(); - if (pin_irq_handler_tab[irqindex].pin == -1) - { - rt_hw_interrupt_enable(level); - return RT_EOK; - } - pin_irq_handler_tab[irqindex].pin = -1; - pin_irq_handler_tab[irqindex].hdr = RT_NULL; - pin_irq_handler_tab[irqindex].mode = 0; - pin_irq_handler_tab[irqindex].args = RT_NULL; - rt_hw_interrupt_enable(level); - - return RT_EOK; -} - -static rt_err_t at32_pin_irq_enable(struct rt_device *device, rt_base_t pin, - rt_uint32_t enabled) -{ - gpio_init_type gpio_init_struct; - exint_init_type exint_init_struct; - gpio_type *gpio_port; - IRQn_Type irqn; - uint16_t gpio_pin; - const struct pin_irq_map *irqmap; - rt_base_t level; - rt_int32_t irqindex = -1; - - if (PIN_PORT(pin) < PIN_ATPORT_MAX) - { - gpio_port = PIN_ATPORT(pin); - gpio_pin = PIN_ATPIN(pin); - } - else - { - return -RT_EINVAL; - } - - if (enabled == PIN_IRQ_ENABLE) - { - irqindex = bit2bitno(gpio_pin); - if (irqindex < 0 || irqindex >= ITEM_NUM(pin_irq_map)) - { - return -RT_EINVAL; - } - - level = rt_hw_interrupt_disable(); - - if (pin_irq_handler_tab[irqindex].pin == -1) - { - rt_hw_interrupt_enable(level); - return -RT_EINVAL; - } - - irqmap = &pin_irq_map[irqindex]; - - /* configure gpio_init_struct */ - gpio_default_para_init(&gpio_init_struct); - exint_default_para_init(&exint_init_struct); - - gpio_init_struct.gpio_pins = irqmap->pinbit; - gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER; - exint_init_struct.line_select = irqmap->pinbit; - exint_init_struct.line_mode = EXINT_LINE_INTERRUPUT; - exint_init_struct.line_enable = TRUE; - switch (pin_irq_handler_tab[irqindex].mode) - { - case PIN_IRQ_MODE_RISING: - exint_init_struct.line_polarity = EXINT_TRIGGER_RISING_EDGE; - break; - case PIN_IRQ_MODE_FALLING: - exint_init_struct.line_polarity = EXINT_TRIGGER_FALLING_EDGE; - break; - case PIN_IRQ_MODE_RISING_FALLING: - exint_init_struct.line_polarity = EXINT_TRIGGER_BOTH_EDGE; - break; - } - gpio_init(gpio_port, &gpio_init_struct); - - gpio_exint_line_config(PIN_ATPORTSOURCE(pin), PIN_ATPINSOURCE(pin)); - - exint_init(&exint_init_struct); - - nvic_irq_enable(irqmap->irqno, 5, 0); - pin_irq_enable_mask |= irqmap->pinbit; - - rt_hw_interrupt_enable(level); - } - else if (enabled == PIN_IRQ_DISABLE) - { - irqmap = get_pin_irq_map(gpio_pin); - if (irqmap == RT_NULL) - { - return -RT_EINVAL; - } - - level = rt_hw_interrupt_disable(); - - pin_irq_enable_mask &= ~irqmap->pinbit; - - - if ((irqmap->pinbit >= GPIO_PINS_5) && (irqmap->pinbit <= GPIO_PINS_9)) - { - if (!(pin_irq_enable_mask & (GPIO_PINS_5 | GPIO_PINS_6 | GPIO_PINS_7 | GPIO_PINS_8 | GPIO_PINS_9))) - { - irqn = irqmap->irqno; - } - } - else if ((irqmap->pinbit >= GPIO_PINS_10) && (irqmap->pinbit <= GPIO_PINS_15)) - { - if (!(pin_irq_enable_mask & (GPIO_PINS_10 | GPIO_PINS_11 | GPIO_PINS_12 | GPIO_PINS_13 | GPIO_PINS_14 | GPIO_PINS_15))) - { - irqn = irqmap->irqno; - } - } - else - { - irqn = irqmap->irqno; - } - nvic_irq_disable(irqn); - rt_hw_interrupt_enable(level); - } - else - { - return -RT_EINVAL; - } - - return RT_EOK; -} - -const static struct rt_pin_ops _at32_pin_ops = -{ - at32_pin_mode, - at32_pin_write, - at32_pin_read, - at32_pin_attach_irq, - at32_pin_dettach_irq, - at32_pin_irq_enable, - RT_NULL, -}; - -rt_inline void pin_irq_handler(int irqno) -{ - exint_flag_clear(pin_irq_map[irqno].lineno); - if (pin_irq_handler_tab[irqno].hdr) - { - pin_irq_handler_tab[irqno].hdr(pin_irq_handler_tab[irqno].args); - } -} - -void gpio_exint_handler(uint16_t GPIO_Pin) -{ - pin_irq_handler(bit2bitno(GPIO_Pin)); -} - -void EXINT0_IRQHandler(void) -{ - rt_interrupt_enter(); - gpio_exint_handler(GPIO_PINS_0); - rt_interrupt_leave(); -} - -void EXINT1_IRQHandler(void) -{ - rt_interrupt_enter(); - gpio_exint_handler(GPIO_PINS_1); - rt_interrupt_leave(); -} - -void EXINT2_IRQHandler(void) -{ - rt_interrupt_enter(); - gpio_exint_handler(GPIO_PINS_2); - rt_interrupt_leave(); -} - -void EXINT3_IRQHandler(void) -{ - rt_interrupt_enter(); - gpio_exint_handler(GPIO_PINS_3); - rt_interrupt_leave(); -} - -void EXINT4_IRQHandler(void) -{ - rt_interrupt_enter(); - gpio_exint_handler(GPIO_PINS_4); - rt_interrupt_leave(); -} - -void EXINT9_5_IRQHandler(void) -{ - rt_interrupt_enter(); - if (RESET != exint_flag_get(EXINT_LINE_5)) - { - gpio_exint_handler(GPIO_PINS_5); - } - if (RESET != exint_flag_get(EXINT_LINE_6)) - { - gpio_exint_handler(GPIO_PINS_6); - } - if (RESET != exint_flag_get(EXINT_LINE_7)) - { - gpio_exint_handler(GPIO_PINS_7); - } - if (RESET != exint_flag_get(EXINT_LINE_8)) - { - gpio_exint_handler(GPIO_PINS_8); - } - if (RESET != exint_flag_get(EXINT_LINE_9)) - { - gpio_exint_handler(GPIO_PINS_9); - } - rt_interrupt_leave(); -} - -void EXINT15_10_IRQHandler(void) -{ - rt_interrupt_enter(); - if (RESET != exint_flag_get(EXINT_LINE_10)) - { - gpio_exint_handler(GPIO_PINS_10); - } - if (RESET != exint_flag_get(EXINT_LINE_11)) - { - gpio_exint_handler(GPIO_PINS_11); - } - if (RESET != exint_flag_get(EXINT_LINE_12)) - { - gpio_exint_handler(GPIO_PINS_12); - } - if (RESET != exint_flag_get(EXINT_LINE_13)) - { - gpio_exint_handler(GPIO_PINS_13); - } - if (RESET != exint_flag_get(EXINT_LINE_14)) - { - gpio_exint_handler(GPIO_PINS_14); - } - if (RESET != exint_flag_get(EXINT_LINE_15)) - { - gpio_exint_handler(GPIO_PINS_15); - } - rt_interrupt_leave(); -} - -int rt_hw_pin_init(void) -{ - -#ifdef GPIOA - crm_periph_clock_enable(CRM_GPIOA_PERIPH_CLOCK, TRUE); -#endif -#ifdef GPIOB - crm_periph_clock_enable(CRM_GPIOB_PERIPH_CLOCK, TRUE); -#endif -#ifdef GPIOC - crm_periph_clock_enable(CRM_GPIOC_PERIPH_CLOCK, TRUE); -#endif -#ifdef GPIOD - crm_periph_clock_enable(CRM_GPIOD_PERIPH_CLOCK, TRUE); -#endif -#ifdef GPIOE - crm_periph_clock_enable(CRM_GPIOE_PERIPH_CLOCK, TRUE); -#endif -#ifdef GPIOF - crm_periph_clock_enable(CRM_GPIOF_PERIPH_CLOCK, TRUE); -#endif -#ifdef GPIOG - crm_periph_clock_enable(CRM_GPIOG_PERIPH_CLOCK, TRUE); -#endif - - crm_periph_clock_enable(CRM_IOMUX_PERIPH_CLOCK, TRUE); - - return rt_device_pin_register("pin", &_at32_pin_ops, RT_NULL); -} - -INIT_BOARD_EXPORT(rt_hw_pin_init); - -#endif /* RT_USING_PIN */ diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_gpio.h b/bsp/at32/libraries/f403a_407/rt_drivers/drv_gpio.h deleted file mode 100644 index 16abd818a1..0000000000 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_gpio.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2020-01-07 shelton first version - */ - -#ifndef __DRV_GPIO_H__ -#define __DRV_GPIO_H__ - -#include <rthw.h> -#include <rtdevice.h> -#include "board.h" - -#define __AT32_PORT(port) GPIO##port##_BASE - -#define GET_PIN(PORTx,PIN) (rt_base_t)((16 * ( ((rt_base_t)__AT32_PORT(PORTx) - (rt_base_t)GPIOA_BASE)/(0x0400UL) )) + PIN) - -#define __AT32_PIN(index, gpio, gpio_index) \ - { \ - index, GPIO##gpio, GPIO_Pins_##gpio_index, \ - GPIO_PortSourceGPIO##gpio, GPIO_PinsSource##gpio_index \ - } - -#define __AT32_PIN_RESERVE \ - { \ - -1, 0, 0, 0, 0 \ - } - -/* AT32 GPIO driver */ -struct pin_index -{ - int index; - gpio_type *gpio_x; - rt_uint32_t pin; - rt_uint32_t portsource; - rt_uint32_t pinsource; -}; - -struct pin_irq_map -{ - rt_uint16_t pinbit; - rt_uint16_t lineno; - IRQn_Type irqno; -}; - -int rt_hw_pin_init(void); - -#endif /* __DRV_GPIO_H__ */ - diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_rtc.c b/bsp/at32/libraries/f403a_407/rt_drivers/drv_rtc.c deleted file mode 100644 index 6589d9fd44..0000000000 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_rtc.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-10 shelton first version - */ - -#include <rtthread.h> -#include <rtdevice.h> -#include <sys/time.h> -#include "board.h" - -#ifdef BSP_USING_RTC - -#ifndef BKP_DR1 -#define BKP_DR1 RT_NULL -#endif - -//#define DRV_DEBUG -#define LOG_TAG "drv.rtc" -#include <drv_log.h> - -#define BKUP_REG_DATA 0xA5A5 - -static time_t get_rtc_timestamp(void) -{ - return rtc_counter_get(); -} - -static rt_err_t set_rtc_time_stamp(time_t time_stamp) -{ - /* set the rtc counter value */ - rtc_counter_set(time_stamp); - /* wait until last write operation on rtc registers has finished */ - rtc_wait_config_finish(); - LOG_D("set rtc time."); - - bpr_data_write(BPR_DATA1, BKUP_REG_DATA); - return RT_EOK; -} - -static rt_err_t rt_rtc_config(void) -{ - /* allow access to pattery powered domain */ - pwc_battery_powered_domain_access(TRUE); - -#ifdef BSP_RTC_USING_LICK - crm_rtc_clock_select(CRM_RTC_CLOCK_LICK); -#else - crm_rtc_clock_select(CRM_RTC_CLOCK_LEXT); -#endif /* BSP_RTC_USING_LICK */ - /* enable rtc */ - crm_rtc_clock_enable(TRUE); - - /* wait for rtc registers update finish */ - rtc_wait_update_finish(); - /* wait until last write operation on rtc registers has finished */ - rtc_wait_config_finish(); - - if (bpr_data_read(BPR_DATA1) != BKUP_REG_DATA) - { - LOG_I("RTC hasn't been configured, please use <date> command to config."); - /* set rtc divider: set rtc period to 1sec */ - rtc_divider_set(32767); - /* wait until last write operation on rtc registers has finished */ - rtc_wait_config_finish(); - } - return RT_EOK; -} - -static rt_err_t _rtc_init(void) -{ - crm_periph_clock_enable(CRM_PWC_PERIPH_CLOCK, TRUE); - crm_periph_clock_enable(CRM_BPR_PERIPH_CLOCK, TRUE); - -#ifdef BSP_RTC_USING_LICK - crm_clock_source_enable(CRM_CLOCK_SOURCE_LICK, TRUE); - while(crm_flag_get(CRM_LICK_STABLE_FLAG) == RESET); -#else - crm_periph_clock_enable(CRM_PWC_PERIPH_CLOCK, TRUE); - pwc_battery_powered_domain_access(TRUE); - crm_clock_source_enable(CRM_CLOCK_SOURCE_LEXT, TRUE); - while(crm_flag_get(CRM_LEXT_STABLE_FLAG) == RESET); -#endif /* BSP_RTC_USING_LICK */ - if (rt_rtc_config() != RT_EOK) - { - LOG_E("rtc init failed."); - return -RT_ERROR; - } - return RT_EOK; -} - -static rt_err_t _rtc_get_secs(void *args) -{ - *(rt_uint32_t *)args = get_rtc_timestamp(); - LOG_D("RTC: get rtc_time %x\n", *(rt_uint32_t *)args); - - return RT_EOK; -} - -static rt_err_t _rtc_set_secs(void *args) -{ - rt_err_t result = RT_EOK; - - if (set_rtc_time_stamp(*(rt_uint32_t *)args)) - { - result = -RT_ERROR; - } - LOG_D("RTC: set rtc_time %x\n", *(rt_uint32_t *)args); - - return result; -} - -static const struct rt_rtc_ops _rtc_ops = -{ - _rtc_init, - _rtc_get_secs, - _rtc_set_secs, - RT_NULL, - RT_NULL, - RT_NULL, - RT_NULL, -}; - -static rt_rtc_dev_t at32_rtc_dev; - -int rt_hw_rtc_init(void) -{ - rt_err_t result; - at32_rtc_dev.ops = &_rtc_ops; - result = rt_hw_rtc_register(&at32_rtc_dev, "rtc", RT_DEVICE_FLAG_RDWR,RT_NULL); - if (result != RT_EOK) - { - LOG_E("rtc register err code: %d", result); - return result; - } - LOG_D("rtc init success"); - return RT_EOK; -} - -INIT_DEVICE_EXPORT(rt_hw_rtc_init); - -#endif /* BSP_USING_RTC */ diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_sdio.c b/bsp/at32/libraries/f403a_407/rt_drivers/drv_sdio.c deleted file mode 100644 index 2da45546d9..0000000000 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_sdio.c +++ /dev/null @@ -1,823 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-08 shelton first version - */ - -#include "board.h" -#include "drv_sdio.h" - -#ifdef BSP_USING_SDIO -#if !defined (BSP_USING_SDIO1) -#error "Please define at least one SDIOx" -#endif - -//#define DRV_DEBUG -#define LOG_TAG "drv.sdio" -#include <drv_log.h> - -static struct at32_sdio_config sdio_config = SDIO_BUS_CONFIG; -static struct at32_sdio_class sdio_obj; -static struct rt_mmcsd_host *host; - -#define SDIO_TX_RX_COMPLETE_TIMEOUT_LOOPS (100000) - -#define RT_HW_SDIO_LOCK(_sdio) rt_mutex_take(&_sdio->mutex, RT_WAITING_FOREVER) -#define RT_HW_SDIO_UNLOCK(_sdio) rt_mutex_release(&_sdio->mutex); - -struct sdio_pkg -{ - struct rt_mmcsd_cmd *cmd; - void *buff; - rt_uint32_t flag; -}; - -struct rt_hw_sdio -{ - struct rt_mmcsd_host *host; - struct at32_sdio_des sdio_des; - struct rt_event event; - struct rt_mutex mutex; - struct sdio_pkg *pkg; -}; - -ALIGN(SDIO_ALIGN_LEN) -static rt_uint8_t cache_buf[SDIO_BUFF_SIZE]; - -static rt_uint32_t at32_sdio_clk_get(struct at32_sdio *hw_sdio) -{ - return SDIO_CLOCK_FREQ; -} - -/** - * @brief this function get order from sdio. - * @param data - * @retval sdio order - */ -static int get_order(rt_uint32_t data) -{ - int order = 0; - - switch (data) - { - case 1: - order = 0; - break; - case 2: - order = 1; - break; - case 4: - order = 2; - break; - case 8: - order = 3; - break; - case 16: - order = 4; - break; - case 32: - order = 5; - break; - case 64: - order = 6; - break; - case 128: - order = 7; - break; - case 256: - order = 8; - break; - case 512: - order = 9; - break; - case 1024: - order = 10; - break; - case 2048: - order = 11; - break; - case 4096: - order = 12; - break; - case 8192: - order = 13; - break; - case 16384: - order = 14; - break; - default : - order = 0; - break; - } - - return order; -} - -/** - * @brief this function wait sdio completed. - * @param sdio rt_hw_sdio - * @retval none - */ -static void rt_hw_sdio_wait_completed(struct rt_hw_sdio *sdio) -{ - rt_uint32_t status; - struct rt_mmcsd_cmd *cmd = sdio->pkg->cmd; - struct rt_mmcsd_data *data = cmd->data; - struct at32_sdio *hw_sdio = sdio->sdio_des.hw_sdio; - - if (rt_event_recv(&sdio->event, 0xffffffff, RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, - rt_tick_from_millisecond(5000), &status) != RT_EOK) - { - LOG_E("wait completed timeout"); - cmd->err = -RT_ETIMEOUT; - return; - } - - if (sdio->pkg == RT_NULL) - { - return; - } - - cmd->resp[0] = hw_sdio->resp1; - cmd->resp[1] = hw_sdio->resp2; - cmd->resp[2] = hw_sdio->resp3; - cmd->resp[3] = hw_sdio->resp4; - - if (status & HW_SDIO_ERRORS) - { - if ((status & HW_SDIO_IT_CCRCFAIL) && (resp_type(cmd) & (RESP_R3 | RESP_R4))) - { - cmd->err = RT_EOK; - } - else - { - cmd->err = -RT_ERROR; - } - - if (status & HW_SDIO_IT_CTIMEOUT) - { - cmd->err = -RT_ETIMEOUT; - } - - if (status & HW_SDIO_IT_DCRCFAIL) - { - data->err = -RT_ERROR; - } - - if (status & HW_SDIO_IT_DTIMEOUT) - { - data->err = -RT_ETIMEOUT; - } - - if (cmd->err == RT_EOK) - { - LOG_D("sta:0x%08X [%08X %08X %08X %08X]", status, cmd->resp[0], cmd->resp[1], cmd->resp[2], cmd->resp[3]); - } - else - { - LOG_D("err:0x%08x, %s%s%s%s%s%s%s cmd:%d arg:0x%08x rw:%c len:%d blksize:%d", - status, - status & HW_SDIO_IT_CCRCFAIL ? "CCRCFAIL " : "", - status & HW_SDIO_IT_DCRCFAIL ? "DCRCFAIL " : "", - status & HW_SDIO_IT_CTIMEOUT ? "CTIMEOUT " : "", - status & HW_SDIO_IT_DTIMEOUT ? "DTIMEOUT " : "", - status & HW_SDIO_IT_TXUNDERR ? "TXUNDERR " : "", - status & HW_SDIO_IT_RXOVERR ? "RXOVERR " : "", - status == 0 ? "NULL" : "", - cmd->cmd_code, - cmd->arg, - data ? (data->flags & DATA_DIR_WRITE ? 'w' : 'r') : '-', - data ? data->blks * data->blksize : 0, - data ? data->blksize : 0 - ); - } - } - else - { - cmd->err = RT_EOK; - LOG_D("sta:0x%08X [%08X %08X %08X %08X]", status, cmd->resp[0], cmd->resp[1], cmd->resp[2], cmd->resp[3]); - } -} - -/** - * @brief this function transfer data by dma. - * @param sdio rt_hw_sdio - * @param pkg sdio package - * @retval none - */ -static void rt_hw_sdio_transfer_by_dma(struct rt_hw_sdio *sdio, struct sdio_pkg *pkg) -{ - struct rt_mmcsd_data *data; - int size; - void *buff; - struct at32_sdio *hw_sdio; - - if ((RT_NULL == pkg) || (RT_NULL == sdio)) - { - LOG_E("rt_hw_sdio_transfer_by_dma invalid args"); - return; - } - - data = pkg->cmd->data; - if (RT_NULL == data) - { - LOG_E("rt_hw_sdio_transfer_by_dma invalid args"); - return; - } - - buff = pkg->buff; - if (RT_NULL == buff) - { - LOG_E("rt_hw_sdio_transfer_by_dma invalid args"); - return; - } - hw_sdio = sdio->sdio_des.hw_sdio; - size = data->blks * data->blksize; - - if (data->flags & DATA_DIR_WRITE) - { - sdio->sdio_des.txconfig((rt_uint32_t *)buff, (rt_uint32_t *)&hw_sdio->fifo, size); - hw_sdio->dctrl |= HW_SDIO_DMA_ENABLE; - } - else if (data->flags & DATA_DIR_READ) - { - sdio->sdio_des.rxconfig((rt_uint32_t *)&hw_sdio->fifo, (rt_uint32_t *)buff, size); - hw_sdio->dctrl |= HW_SDIO_DMA_ENABLE | HW_SDIO_DPSM_ENABLE; - } -} - -/** - * @brief this function send command. - * @param sdio rt_hw_sdio - * @param pkg sdio package - * @retval none - */ -static void rt_hw_sdio_send_command(struct rt_hw_sdio *sdio, struct sdio_pkg *pkg) -{ - struct rt_mmcsd_cmd *cmd = pkg->cmd; - struct rt_mmcsd_data *data = cmd->data; - struct at32_sdio *hw_sdio = sdio->sdio_des.hw_sdio; - rt_uint32_t reg_cmd; - - /* save pkg */ - sdio->pkg = pkg; - - LOG_D("CMD:%d ARG:0x%08x RES:%s%s%s%s%s%s%s%s%s rw:%c len:%d blksize:%d", - cmd->cmd_code, - cmd->arg, - resp_type(cmd) == RESP_NONE ? "NONE" : "", - resp_type(cmd) == RESP_R1 ? "R1" : "", - resp_type(cmd) == RESP_R1B ? "R1B" : "", - resp_type(cmd) == RESP_R2 ? "R2" : "", - resp_type(cmd) == RESP_R3 ? "R3" : "", - resp_type(cmd) == RESP_R4 ? "R4" : "", - resp_type(cmd) == RESP_R5 ? "R5" : "", - resp_type(cmd) == RESP_R6 ? "R6" : "", - resp_type(cmd) == RESP_R7 ? "R7" : "", - data ? (data->flags & DATA_DIR_WRITE ? 'w' : 'r') : '-', - data ? data->blks * data->blksize : 0, - data ? data->blksize : 0 - ); - - /* config cmd reg */ - reg_cmd = cmd->cmd_code | HW_SDIO_CPSM_ENABLE; - if (resp_type(cmd) == RESP_NONE) - reg_cmd |= HW_SDIO_RESPONSE_NO; - else if (resp_type(cmd) == RESP_R2) - reg_cmd |= HW_SDIO_RESPONSE_LONG; - else - reg_cmd |= HW_SDIO_RESPONSE_SHORT; - - /* config data reg */ - if (data != RT_NULL) - { - rt_uint32_t dir = 0; - rt_uint32_t size = data->blks * data->blksize; - int order; - - hw_sdio->dctrl = 0; - hw_sdio->dtimer = HW_SDIO_DATATIMEOUT; - hw_sdio->dlen = size; - order = get_order(data->blksize); - dir = (data->flags & DATA_DIR_READ) ? HW_SDIO_TO_HOST : 0; - hw_sdio->dctrl = /* HW_SDIO_IO_ENABLE | */ (order << 4) | dir; - } - - /* transfer config */ - if (data != RT_NULL) - { - rt_hw_sdio_transfer_by_dma(sdio, pkg); - } - - /* open irq */ - hw_sdio->mask |= HW_SDIO_IT_CMDSENT | HW_SDIO_IT_CMDREND | HW_SDIO_ERRORS; - if (data != RT_NULL) - { - hw_sdio->mask |= HW_SDIO_IT_DATAEND; - } - - /* send cmd */ - hw_sdio->arg = cmd->arg; - hw_sdio->cmd = reg_cmd; - - /* wait completed */ - rt_hw_sdio_wait_completed(sdio); - - /* waiting for data to be sent to completion */ - if (data != RT_NULL) - { - volatile rt_uint32_t count = SDIO_TX_RX_COMPLETE_TIMEOUT_LOOPS; - - while (count && (hw_sdio->sta & (HW_SDIO_IT_TXACT | HW_SDIO_IT_RXACT))) - { - count--; - } - - if ((count == 0) || (hw_sdio->sta & HW_SDIO_ERRORS)) - { - cmd->err = -RT_ERROR; - } - } - - /* close irq, keep sdio irq */ - hw_sdio->mask = hw_sdio->mask & HW_SDIO_IT_SDIOIT ? HW_SDIO_IT_SDIOIT : 0x00; - - /* clear pkg */ - sdio->pkg = RT_NULL; -} - -/** - * @brief this function send sdio request. - * @param sdio rt_hw_sdio - * @param req request - * @retval none - */ -static void rt_hw_sdio_request(struct rt_mmcsd_host *host, struct rt_mmcsd_req *req) -{ - struct sdio_pkg pkg; - struct rt_hw_sdio *sdio = host->private_data; - struct rt_mmcsd_data *data; - - RT_HW_SDIO_LOCK(sdio); - - if (req->cmd != RT_NULL) - { - memset(&pkg, 0, sizeof(pkg)); - data = req->cmd->data; - pkg.cmd = req->cmd; - - if (data != RT_NULL) - { - rt_uint32_t size = data->blks * data->blksize; - - RT_ASSERT(size <= SDIO_BUFF_SIZE); - - pkg.buff = data->buf; - if ((rt_uint32_t)data->buf & (SDIO_ALIGN_LEN - 1)) - { - pkg.buff = cache_buf; - if (data->flags & DATA_DIR_WRITE) - { - memcpy(cache_buf, data->buf, size); - } - } - } - - rt_hw_sdio_send_command(sdio, &pkg); - - if ((data != RT_NULL) && (data->flags & DATA_DIR_READ) && ((rt_uint32_t)data->buf & (SDIO_ALIGN_LEN - 1))) - { - memcpy(data->buf, cache_buf, data->blksize * data->blks); - } - } - - if (req->stop != RT_NULL) - { - memset(&pkg, 0, sizeof(pkg)); - pkg.cmd = req->stop; - rt_hw_sdio_send_command(sdio, &pkg); - } - - RT_HW_SDIO_UNLOCK(sdio); - - mmcsd_req_complete(sdio->host); -} - -/** - * @brief this function config sdio. - * @param host rt_mmcsd_host - * @param io_cfg rt_mmcsd_io_cfg - * @retval none - */ -static void rt_hw_sdio_iocfg(struct rt_mmcsd_host *host, struct rt_mmcsd_io_cfg *io_cfg) -{ - rt_uint32_t clkcr, div, clk_src; - rt_uint32_t clk = io_cfg->clock; - struct rt_hw_sdio *sdio = host->private_data; - struct at32_sdio *hw_sdio = sdio->sdio_des.hw_sdio; - - clk_src = sdio->sdio_des.clk_get(sdio->sdio_des.hw_sdio); - if (clk_src < 400 * 1000) - { - LOG_E("The clock rate is too low! rata:%d", clk_src); - return; - } - - if (clk > host->freq_max) clk = host->freq_max; - - if (clk > clk_src) - { - LOG_W("Setting rate is greater than clock source rate."); - clk = clk_src; - } - - LOG_D("clk:%d width:%s%s%s power:%s%s%s", - clk, - io_cfg->bus_width == MMCSD_BUS_WIDTH_8 ? "8" : "", - io_cfg->bus_width == MMCSD_BUS_WIDTH_4 ? "4" : "", - io_cfg->bus_width == MMCSD_BUS_WIDTH_1 ? "1" : "", - io_cfg->power_mode == MMCSD_POWER_OFF ? "OFF" : "", - io_cfg->power_mode == MMCSD_POWER_UP ? "UP" : "", - io_cfg->power_mode == MMCSD_POWER_ON ? "ON" : "" - ); - - RT_HW_SDIO_LOCK(sdio); - - div = clk_src / clk; - if ((clk == 0) || (div == 0)) - { - clkcr = 0; - } - else - { - if (div < 2) - { - div = 2; - } - else if (div > 0x3FF) - { - div = 0x3FF; - } - div -= 2; - clkcr = (div & 0xFF) | ((div & 0x300) << 7) | HW_SDIO_CLK_ENABLE; - } - - if (io_cfg->bus_width == MMCSD_BUS_WIDTH_8) - { - clkcr |= HW_SDIO_BUSWIDE_8B; - } - else if (io_cfg->bus_width == MMCSD_BUS_WIDTH_4) - { - clkcr |= HW_SDIO_BUSWIDE_4B; - } - else - { - clkcr |= HW_SDIO_BUSWIDE_1B; - } - - hw_sdio->clkcr = clkcr; - - switch (io_cfg->power_mode) - { - case MMCSD_POWER_OFF: - hw_sdio->power = HW_SDIO_POWER_OFF; - break; - case MMCSD_POWER_UP: - hw_sdio->power = HW_SDIO_POWER_UP; - break; - case MMCSD_POWER_ON: - hw_sdio->power = HW_SDIO_POWER_ON; - break; - default: - LOG_W("unknown power_mode %d", io_cfg->power_mode); - break; - } - - RT_HW_SDIO_UNLOCK(sdio); -} - -/** - * @brief this function update sdio interrupt. - * @param host rt_mmcsd_host - * @param enable - * @retval none - */ -void rt_hw_sdio_irq_update(struct rt_mmcsd_host *host, rt_int32_t enable) -{ - struct rt_hw_sdio *sdio = host->private_data; - struct at32_sdio *hw_sdio = sdio->sdio_des.hw_sdio; - - if (enable) - { - LOG_D("enable sdio irq"); - hw_sdio->mask |= HW_SDIO_IT_SDIOIT; - } - else - { - LOG_D("disable sdio irq"); - hw_sdio->mask &= ~HW_SDIO_IT_SDIOIT; - } -} - -/** - * @brief this function delect sdcard. - * @param host rt_mmcsd_host - * @retval 0x01 - */ -static rt_int32_t rt_hw_sd_delect(struct rt_mmcsd_host *host) -{ - LOG_D("try to detect device"); - return 0x01; -} - -/** - * @brief this function interrupt process function. - * @param host rt_mmcsd_host - * @retval none - */ -void rt_hw_sdio_irq_process(struct rt_mmcsd_host *host) -{ - int complete = 0; - struct rt_hw_sdio *sdio = host->private_data; - struct at32_sdio *hw_sdio = sdio->sdio_des.hw_sdio; - rt_uint32_t intstatus = hw_sdio->sta; - - if (intstatus & HW_SDIO_ERRORS) - { - hw_sdio->icr = HW_SDIO_ERRORS; - complete = 1; - } - else - { - if (intstatus & HW_SDIO_IT_CMDREND) - { - hw_sdio->icr = HW_SDIO_IT_CMDREND; - - if (sdio->pkg != RT_NULL) - { - if (!sdio->pkg->cmd->data) - { - complete = 1; - } - else if ((sdio->pkg->cmd->data->flags & DATA_DIR_WRITE)) - { - hw_sdio->dctrl |= HW_SDIO_DPSM_ENABLE; - } - } - } - - if (intstatus & HW_SDIO_IT_CMDSENT) - { - hw_sdio->icr = HW_SDIO_IT_CMDSENT; - - if (resp_type(sdio->pkg->cmd) == RESP_NONE) - { - complete = 1; - } - } - - if (intstatus & HW_SDIO_IT_DATAEND) - { - hw_sdio->icr = HW_SDIO_IT_DATAEND; - complete = 1; - } - } - - if ((intstatus & HW_SDIO_IT_SDIOIT) && (hw_sdio->mask & HW_SDIO_IT_SDIOIT)) - { - hw_sdio->icr = HW_SDIO_IT_SDIOIT; - sdio_irq_wakeup(host); - } - - if (complete) - { - hw_sdio->mask &= ~HW_SDIO_ERRORS; - rt_event_send(&sdio->event, intstatus); - } -} - -static const struct rt_mmcsd_host_ops ops = -{ - rt_hw_sdio_request, - rt_hw_sdio_iocfg, - rt_hw_sd_delect, - rt_hw_sdio_irq_update, -}; - -/** - * @brief this function create mmcsd host. - * @param sdio_des at32_sdio_des - * @retval rt_mmcsd_host - */ -struct rt_mmcsd_host *sdio_host_create(struct at32_sdio_des *sdio_des) -{ - struct rt_mmcsd_host *host; - struct rt_hw_sdio *sdio = RT_NULL; - - if ((sdio_des == RT_NULL) || (sdio_des->txconfig == RT_NULL) || (sdio_des->rxconfig == RT_NULL)) - { - LOG_E("L:%d F:%s %s %s %s", - (sdio_des == RT_NULL ? "sdio_des is NULL" : ""), - (sdio_des ? (sdio_des->txconfig ? "txconfig is NULL" : "") : ""), - (sdio_des ? (sdio_des->rxconfig ? "rxconfig is NULL" : "") : "") - ); - return RT_NULL; - } - - sdio = rt_malloc(sizeof(struct rt_hw_sdio)); - if (sdio == RT_NULL) - { - LOG_E("L:%d F:%s malloc rt_hw_sdio fail"); - return RT_NULL; - } - rt_memset(sdio, 0, sizeof(struct rt_hw_sdio)); - - host = mmcsd_alloc_host(); - if (host == RT_NULL) - { - LOG_E("L:%d F:%s mmcsd alloc host fail"); - rt_free(sdio); - return RT_NULL; - } - - rt_memcpy(&sdio->sdio_des, sdio_des, sizeof(struct at32_sdio_des)); - sdio->sdio_des.hw_sdio = (sdio_des->hw_sdio == RT_NULL ? (struct at32_sdio *)SDIO_BASE_ADDRESS : sdio_des->hw_sdio); - sdio->sdio_des.clk_get = (sdio_des->clk_get == RT_NULL ? at32_sdio_clk_get : sdio_des->clk_get); - - rt_event_init(&sdio->event, "sdio", RT_IPC_FLAG_FIFO); - rt_mutex_init(&sdio->mutex, "sdio", RT_IPC_FLAG_PRIO); - - /* set host defautl attributes */ - host->ops = &ops; - host->freq_min = 400 * 1000; - host->freq_max = SDIO_MAX_FREQ; - host->valid_ocr = 0X00FFFF80;/* the voltage range supported is 1.65v-3.6v */ -#ifndef SDIO_USING_1_BIT - host->flags = MMCSD_BUSWIDTH_4 | MMCSD_MUTBLKWRITE | MMCSD_SUP_SDIO_IRQ; -#else - host->flags = MMCSD_MUTBLKWRITE | MMCSD_SUP_SDIO_IRQ; -#endif - host->max_seg_size = SDIO_BUFF_SIZE; - host->max_dma_segs = 1; - host->max_blk_size = 512; - host->max_blk_count = 512; - - /* link up host and sdio */ - sdio->host = host; - host->private_data = sdio; - - rt_hw_sdio_irq_update(host, 1); - - /* ready to change */ - mmcsd_change(host); - - return host; -} - -/** - * @brief this function configures the dmatx. - * @param src: pointer to the source buffer - * @param dst: pointer to the destination buffer - * @param buffer_size: size of tx buffer - * @retval none - */ -void sd_lowlevel_dmatx_config(uint32_t *src, uint32_t *dst, uint32_t buffer_size) -{ - static uint32_t size = 0; - dma_init_type dma_init_struct; - - size += buffer_size * 4; - sdio_obj.cfg = &sdio_config; - - dma_default_para_init(&dma_init_struct); - sdio_obj.dma.handle_tx = sdio_config.dma_tx.dma_channel; - dma_init_struct.direction = DMA_DIR_MEMORY_TO_PERIPHERAL; - dma_init_struct.buffer_size = buffer_size; - dma_init_struct.memory_base_addr = (uint32_t)src; - dma_init_struct.memory_data_width = DMA_MEMORY_DATA_WIDTH_WORD; - dma_init_struct.memory_inc_enable = TRUE; - dma_init_struct.peripheral_base_addr = (uint32_t)dst; - dma_init_struct.peripheral_data_width = DMA_PERIPHERAL_DATA_WIDTH_WORD; - dma_init_struct.peripheral_inc_enable = FALSE; - dma_init_struct.priority = DMA_PRIORITY_MEDIUM; - - nvic_irq_enable(sdio_config.dma_tx.dma_irq, 2, 0); - - dma_init(sdio_obj.dma.handle_tx, &dma_init_struct); - dma_interrupt_enable(sdio_obj.dma.handle_tx, DMA_FDT_INT, TRUE); - dma_channel_enable(sdio_obj.dma.handle_tx, TRUE); -} - -/** - * @brief this function configures the dmarx. - * @param src: pointer to the source buffer - * @param dst: pointer to the destination buffer - * @param buffer_size: size of rx buffer - * @retval none - */ -void sd_lowlevel_dmarx_config(uint32_t *src, uint32_t *dst, uint32_t buffer_size) -{ - sdio_obj.cfg = &sdio_config; - dma_init_type dma_init_struct; - - dma_default_para_init(&dma_init_struct); - sdio_obj.dma.handle_rx = sdio_config.dma_rx.dma_channel; - dma_init_struct.direction = DMA_DIR_PERIPHERAL_TO_MEMORY; - dma_init_struct.buffer_size = buffer_size; - dma_init_struct.memory_base_addr = (uint32_t)dst; - dma_init_struct.memory_data_width = DMA_MEMORY_DATA_WIDTH_WORD; - dma_init_struct.memory_inc_enable = TRUE; - dma_init_struct.peripheral_base_addr = (uint32_t)src; - dma_init_struct.peripheral_data_width = DMA_PERIPHERAL_DATA_WIDTH_WORD; - dma_init_struct.peripheral_inc_enable = FALSE; - dma_init_struct.priority = DMA_PRIORITY_MEDIUM; - - nvic_irq_enable(sdio_config.dma_rx.dma_irq, 2, 0); - - dma_init(sdio_obj.dma.handle_rx, &dma_init_struct); - dma_interrupt_enable(sdio_obj.dma.handle_rx, DMA_FDT_INT, TRUE); - dma_channel_enable(sdio_obj.dma.handle_rx, TRUE); -} - -void DMA2_Channel4_5_IRQHandler(void) -{ - if(dma_flag_get(DMA2_FDT4_FLAG)) - { - dma_flag_clear(DMA2_FDT4_FLAG); - dma_channel_enable(sdio_config.dma_rx.dma_channel, FALSE); - } -} - -/** - * @brief this function get at32 sdio clock. - * @param hw_sdio: at32_sdio - * @retval ahb frequency - */ -static rt_uint32_t at32_sdio_clock_get(struct at32_sdio *hw_sdio) -{ - crm_clocks_freq_type clocks; - - crm_clocks_freq_get(&clocks); - return clocks.ahb_freq; -} - -static rt_err_t dma_tx_config(rt_uint32_t *src, rt_uint32_t *dst, int size) -{ - sd_lowlevel_dmatx_config((uint32_t *)src, (uint32_t *)dst, size / 4); - return RT_EOK; -} - -static rt_err_t dma_rx_config(rt_uint32_t *src, rt_uint32_t *dst, int size) -{ - sd_lowlevel_dmarx_config((uint32_t *)src, (uint32_t *)dst, size / 4); - return RT_EOK; -} - -void SDIO1_IRQHandler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - rt_hw_sdio_irq_process(host); - - /* leave interrupt */ - rt_interrupt_leave(); -} - -int rt_hw_sdio_init(void) -{ - struct at32_sdio_des sdio_des; - struct at32_sdio_config hsd; - - hsd.sdio_x = SDCARD_INSTANCE; - at32_msp_sdio_init((void *)(hsd.sdio_x)); - - nvic_irq_enable(SDIO1_IRQn, 2, 0); - - sdio_des.clk_get = at32_sdio_clock_get; - sdio_des.hw_sdio = (struct at32_sdio *)SDCARD_INSTANCE; - sdio_des.rxconfig = dma_rx_config; - sdio_des.txconfig = dma_tx_config; - - host = sdio_host_create(&sdio_des); - if (host == RT_NULL) - { - LOG_E("host create fail"); - return -1; - } - - return 0; -} - -INIT_DEVICE_EXPORT(rt_hw_sdio_init); - -void at32_mmcsd_change(void) -{ - mmcsd_change(host); -} - -#endif diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_sdio.h b/bsp/at32/libraries/f403a_407/rt_drivers/drv_sdio.h deleted file mode 100644 index d196fc116f..0000000000 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_sdio.h +++ /dev/null @@ -1,203 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-08 shelton first version - */ - -#ifndef _DRV_SDIO_H -#define _DRV_SDIO_H -#include <rtthread.h> -#include "rtdevice.h" -#include <rthw.h> -#include <string.h> -#include <drivers/mmcsd_core.h> -#include <drivers/sdio.h> -#include "at32f403a_407.h" - -#define SDCARD_INSTANCE_TYPE sdio_type - -#define SDCARD_INSTANCE SDIO1 - -#define SDIO_BUFF_SIZE 4096 -#define SDIO_ALIGN_LEN 32 - -#ifndef SDIO_MAX_FREQ -#define SDIO_MAX_FREQ (1000000) -#endif - -#ifndef SDIO_BASE_ADDRESS -#define SDIO_BASE_ADDRESS SDIO1_BASE -#endif - -#ifndef SDIO_CLOCK_FREQ -#define SDIO_CLOCK_FREQ (48U * 1000 * 1000) -#endif - -#ifndef SDIO_BUFF_SIZE -#define SDIO_BUFF_SIZE (4096) -#endif - -#ifndef SDIO_ALIGN_LEN -#define SDIO_ALIGN_LEN (32) -#endif - -#ifndef SDIO_MAX_FREQ -#define SDIO_MAX_FREQ (24 * 1000 * 1000) -#endif - -#define HW_SDIO_IT_CCRCFAIL (0x01U << 0) -#define HW_SDIO_IT_DCRCFAIL (0x01U << 1) -#define HW_SDIO_IT_CTIMEOUT (0x01U << 2) -#define HW_SDIO_IT_DTIMEOUT (0x01U << 3) -#define HW_SDIO_IT_TXUNDERR (0x01U << 4) -#define HW_SDIO_IT_RXOVERR (0x01U << 5) -#define HW_SDIO_IT_CMDREND (0x01U << 6) -#define HW_SDIO_IT_CMDSENT (0x01U << 7) -#define HW_SDIO_IT_DATAEND (0x01U << 8) -#define HW_SDIO_IT_STBITERR (0x01U << 9) -#define HW_SDIO_IT_DBCKEND (0x01U << 10) -#define HW_SDIO_IT_CMDACT (0x01U << 11) -#define HW_SDIO_IT_TXACT (0x01U << 12) -#define HW_SDIO_IT_RXACT (0x01U << 13) -#define HW_SDIO_IT_TXFIFOHE (0x01U << 14) -#define HW_SDIO_IT_RXFIFOHF (0x01U << 15) -#define HW_SDIO_IT_TXFIFOF (0x01U << 16) -#define HW_SDIO_IT_RXFIFOF (0x01U << 17) -#define HW_SDIO_IT_TXFIFOE (0x01U << 18) -#define HW_SDIO_IT_RXFIFOE (0x01U << 19) -#define HW_SDIO_IT_TXDAVL (0x01U << 20) -#define HW_SDIO_IT_RXDAVL (0x01U << 21) -#define HW_SDIO_IT_SDIOIT (0x01U << 22) - -#define HW_SDIO_ERRORS \ - (HW_SDIO_IT_CCRCFAIL | HW_SDIO_IT_CTIMEOUT | \ - HW_SDIO_IT_DCRCFAIL | HW_SDIO_IT_DTIMEOUT | \ - HW_SDIO_IT_RXOVERR | HW_SDIO_IT_TXUNDERR) - -#define HW_SDIO_POWER_OFF (0x00U) -#define HW_SDIO_POWER_UP (0x02U) -#define HW_SDIO_POWER_ON (0x03U) - -#define HW_SDIO_FLOW_ENABLE (0x01U << 14) -#define HW_SDIO_BUSWIDE_1B (0x00U << 11) -#define HW_SDIO_BUSWIDE_4B (0x01U << 11) -#define HW_SDIO_BUSWIDE_8B (0x02U << 11) -#define HW_SDIO_BYPASS_ENABLE (0x01U << 10) -#define HW_SDIO_IDLE_ENABLE (0x01U << 9) -#define HW_SDIO_CLK_ENABLE (0x01U << 8) - -#define HW_SDIO_SUSPEND_CMD (0x01U << 11) -#define HW_SDIO_CPSM_ENABLE (0x01U << 10) -#define HW_SDIO_WAIT_END (0x01U << 9) -#define HW_SDIO_WAIT_INT (0x01U << 8) -#define HW_SDIO_RESPONSE_NO (0x00U << 6) -#define HW_SDIO_RESPONSE_SHORT (0x01U << 6) -#define HW_SDIO_RESPONSE_LONG (0x03U << 6) - -#define HW_SDIO_DATA_LEN_MASK (0x01FFFFFFU) - -#define HW_SDIO_IO_ENABLE (0x01U << 11) -#define HW_SDIO_RWMOD_CK (0x01U << 10) -#define HW_SDIO_RWSTOP_ENABLE (0x01U << 9) -#define HW_SDIO_RWSTART_ENABLE (0x01U << 8) -#define HW_SDIO_DBLOCKSIZE_1 (0x00U << 4) -#define HW_SDIO_DBLOCKSIZE_2 (0x01U << 4) -#define HW_SDIO_DBLOCKSIZE_4 (0x02U << 4) -#define HW_SDIO_DBLOCKSIZE_8 (0x03U << 4) -#define HW_SDIO_DBLOCKSIZE_16 (0x04U << 4) -#define HW_SDIO_DBLOCKSIZE_32 (0x05U << 4) -#define HW_SDIO_DBLOCKSIZE_64 (0x06U << 4) -#define HW_SDIO_DBLOCKSIZE_128 (0x07U << 4) -#define HW_SDIO_DBLOCKSIZE_256 (0x08U << 4) -#define HW_SDIO_DBLOCKSIZE_512 (0x09U << 4) -#define HW_SDIO_DBLOCKSIZE_1024 (0x0AU << 4) -#define HW_SDIO_DBLOCKSIZE_2048 (0x0BU << 4) -#define HW_SDIO_DBLOCKSIZE_4096 (0x0CU << 4) -#define HW_SDIO_DBLOCKSIZE_8192 (0x0DU << 4) -#define HW_SDIO_DBLOCKSIZE_16384 (0x0EU << 4) -#define HW_SDIO_DMA_ENABLE (0x01U << 3) -#define HW_SDIO_STREAM_ENABLE (0x01U << 2) -#define HW_SDIO_TO_HOST (0x01U << 1) -#define HW_SDIO_DPSM_ENABLE (0x01U << 0) - -#define HW_SDIO_DATATIMEOUT (0xF0000000U) - -struct at32_sdio -{ - volatile rt_uint32_t power; - volatile rt_uint32_t clkcr; - volatile rt_uint32_t arg; - volatile rt_uint32_t cmd; - volatile rt_uint32_t respcmd; - volatile rt_uint32_t resp1; - volatile rt_uint32_t resp2; - volatile rt_uint32_t resp3; - volatile rt_uint32_t resp4; - volatile rt_uint32_t dtimer; - volatile rt_uint32_t dlen; - volatile rt_uint32_t dctrl; - volatile rt_uint32_t dcount; - volatile rt_uint32_t sta; - volatile rt_uint32_t icr; - volatile rt_uint32_t mask; - volatile rt_uint32_t reserved0[2]; - volatile rt_uint32_t fifocnt; - volatile rt_uint32_t reserved1[13]; - volatile rt_uint32_t fifo; -}; - -typedef rt_err_t (*dma_txconfig)(rt_uint32_t *src, rt_uint32_t *dst, int size); -typedef rt_err_t (*dma_rxconfig)(rt_uint32_t *src, rt_uint32_t *dst, int size); -typedef rt_uint32_t (*sdio_clk_get)(struct at32_sdio *hw_sdio); - -#define SDIO_BUS_CONFIG \ - { \ - .sdio_x = SDIO1, \ - .dma_rx.dma_crm = CRM_DMA2_PERIPH_CLOCK, \ - .dma_tx.dma_crm = CRM_DMA2_PERIPH_CLOCK, \ - .dma_rx.dma_channel = DMA2_CHANNEL4, \ - .dma_rx.dma_irq = DMA2_Channel4_5_IRQn, \ - .dma_tx.dma_channel = DMA2_CHANNEL4, \ - .dma_tx.dma_irq = DMA2_Channel4_5_IRQn, \ - } - -struct dma_config { - dma_channel_type *dma_channel; - crm_periph_clock_type dma_crm; - IRQn_Type dma_irq; -}; - -struct at32_sdio_des -{ - struct at32_sdio *hw_sdio; - dma_txconfig txconfig; - dma_rxconfig rxconfig; - sdio_clk_get clk_get; -}; - -struct at32_sdio_config -{ - SDCARD_INSTANCE_TYPE *sdio_x; - struct dma_config dma_rx, dma_tx; -}; - -/* at32 sdio dirver class */ -struct at32_sdio_class -{ - struct at32_sdio_des *des; - const struct at32_sdio_config *cfg; - struct rt_mmcsd_host host; - struct - { - dma_channel_type* handle_rx; - dma_channel_type* handle_tx; - } dma; -}; - -extern void at32_mmcsd_change(void); - -#endif diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_soft_i2c.c b/bsp/at32/libraries/f403a_407/rt_drivers/drv_soft_i2c.c deleted file mode 100644 index b08adcd56a..0000000000 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_soft_i2c.c +++ /dev/null @@ -1,219 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-09 shelton first version - */ - -#include "board.h" -#include "drv_soft_i2c.h" - -#ifdef RT_USING_I2C - -#define LOG_TAG "drv.i2c" -#include <drv_log.h> - -#if !defined(BSP_USING_I2C1) && !defined(BSP_USING_I2C2) && \ - !defined(BSP_USING_I2C3) -#error "Please define at least one BSP_USING_I2Cx" -/* this driver can be disabled at menuconfig RT-Thread Components Device Drivers */ -#endif - -static const struct at32_soft_i2c_config soft_i2c_config[] = -{ -#ifdef BSP_USING_I2C1 - I2C1_BUS_CONFIG, -#endif -#ifdef BSP_USING_I2C2 - I2C2_BUS_CONFIG, -#endif -#ifdef BSP_USING_I2C3 - I2C3_BUS_CONFIG, -#endif -}; - -static struct at32_i2c i2c_obj[sizeof(soft_i2c_config) / sizeof(soft_i2c_config[0])]; - -/** - * this function initializes the i2c pin. - * - * @param at32 i2c dirver class. - */ -static void at32_i2c_gpio_init(struct at32_i2c *i2c) -{ - struct at32_soft_i2c_config* cfg = (struct at32_soft_i2c_config*)i2c->ops.data; - - rt_pin_mode(cfg->scl, PIN_MODE_OUTPUT_OD); - rt_pin_mode(cfg->sda, PIN_MODE_OUTPUT_OD); - - rt_pin_write(cfg->scl, PIN_HIGH); - rt_pin_write(cfg->sda, PIN_HIGH); -} - -/** - * this function sets the sda pin. - * - * @param at32 config class. - * @param the sda pin state. - */ -static void at32_set_sda(void *data, rt_int32_t state) -{ - struct at32_soft_i2c_config* cfg = (struct at32_soft_i2c_config*)data; - if (state) - { - rt_pin_write(cfg->sda, PIN_HIGH); - } - else - { - rt_pin_write(cfg->sda, PIN_LOW); - } -} - -/** - * this function sets the scl pin. - * - * @param at32 config class. - * @param the scl pin state. - */ -static void at32_set_scl(void *data, rt_int32_t state) -{ - struct at32_soft_i2c_config* cfg = (struct at32_soft_i2c_config*)data; - if (state) - { - rt_pin_write(cfg->scl, PIN_HIGH); - } - else - { - rt_pin_write(cfg->scl, PIN_LOW); - } -} - -/** - * this function gets the sda pin state. - * - * @param the sda pin state. - */ -static rt_int32_t at32_get_sda(void *data) -{ - struct at32_soft_i2c_config* cfg = (struct at32_soft_i2c_config*)data; - return rt_pin_read(cfg->sda); -} - -/** - * this function gets the scl pin state. - * - * @param the scl pin state. - */ -static rt_int32_t at32_get_scl(void *data) -{ - struct at32_soft_i2c_config* cfg = (struct at32_soft_i2c_config*)data; - return rt_pin_read(cfg->scl); -} - -/** - * the time delay function. - * - * @param microseconds. - */ -static void at32_udelay(rt_uint32_t us) -{ - rt_uint32_t ticks; - rt_uint32_t told, tnow, tcnt = 0; - rt_uint32_t reload = SysTick->LOAD; - - ticks = us * reload / (1000000 / RT_TICK_PER_SECOND); - told = SysTick->VAL; - while (1) - { - tnow = SysTick->VAL; - if (tnow != told) - { - if (tnow < told) - { - tcnt += told - tnow; - } - else - { - tcnt += reload - tnow + told; - } - told = tnow; - if (tcnt >= ticks) - { - break; - } - } - } -} - -static const struct rt_i2c_bit_ops at32_bit_ops_default = -{ - .data = RT_NULL, - .set_sda = at32_set_sda, - .set_scl = at32_set_scl, - .get_sda = at32_get_sda, - .get_scl = at32_get_scl, - .udelay = at32_udelay, - .delay_us = 1, - .timeout = 100 -}; - -/** - * if i2c is locked, this function will unlock it - * - * @param at32 config class - * - * @return RT_EOK indicates successful unlock. - */ -static rt_err_t at32_i2c_bus_unlock(const struct at32_soft_i2c_config *cfg) -{ - rt_int32_t i = 0; - - if (PIN_LOW == rt_pin_read(cfg->sda)) - { - while (i++ < 9) - { - rt_pin_write(cfg->scl, PIN_HIGH); - at32_udelay(100); - rt_pin_write(cfg->scl, PIN_LOW); - at32_udelay(100); - } - } - if (PIN_LOW == rt_pin_read(cfg->sda)) - { - return -RT_ERROR; - } - - return RT_EOK; -} - -/* i2c initialization function */ -int rt_hw_i2c_init(void) -{ - rt_size_t obj_num = sizeof(i2c_obj) / sizeof(struct at32_i2c); - rt_err_t result; - - for (int i = 0; i < obj_num; i++) - { - i2c_obj[i].ops = at32_bit_ops_default; - i2c_obj[i].ops.data = (void*)&soft_i2c_config[i]; - i2c_obj[i].i2c_bus.priv = &i2c_obj[i].ops; - at32_i2c_gpio_init(&i2c_obj[i]); - result = rt_i2c_bit_add_bus(&i2c_obj[i].i2c_bus, soft_i2c_config[i].bus_name); - RT_ASSERT(result == RT_EOK); - at32_i2c_bus_unlock(&soft_i2c_config[i]); - - LOG_D("software simulation %s init done, pin scl: %d, pin sda %d", - soft_i2c_config[i].bus_name, - soft_i2c_config[i].scl, - soft_i2c_config[i].sda); - } - - return RT_EOK; -} - -INIT_BOARD_EXPORT(rt_hw_i2c_init); - -#endif /* RT_USING_I2C */ diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_spi.c b/bsp/at32/libraries/f403a_407/rt_drivers/drv_spi.c deleted file mode 100644 index 6acfcc5fb7..0000000000 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_spi.c +++ /dev/null @@ -1,340 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-11 shelton first version - */ - -#include "board.h" -#include "drv_spi.h" - -#ifdef RT_USING_SPI -#if !defined(BSP_USING_SPI1) && !defined(BSP_USING_SPI2) && \ - !defined(BSP_USING_SPI3) && !defined(BSP_USING_SPI4) -#error "Please define at least one BSP_USING_SPIx" -#endif - -#define ARR_LEN(__N) (sizeof(__N) / sizeof(__N[0])) - -//#define DRV_DEBUG -#define LOG_TAG "drv.pwm" -#include <drv_log.h> - -/* private rt-thread spi ops function */ -static rt_err_t configure(struct rt_spi_device* device, struct rt_spi_configuration* configuration); -static rt_uint32_t xfer(struct rt_spi_device* device, struct rt_spi_message* message); - -static struct rt_spi_ops at32_spi_ops = -{ - configure, - xfer -}; - -/** - * attach the spi device to spi bus, this function must be used after initialization. - */ -rt_err_t rt_hw_spi_device_attach(const char *bus_name, const char *device_name, gpio_type *cs_gpiox, uint16_t cs_gpio_pin) -{ - gpio_init_type gpio_init_struct; - - RT_ASSERT(bus_name != RT_NULL); - RT_ASSERT(device_name != RT_NULL); - - rt_err_t result; - struct rt_spi_device *spi_device; - struct at32_spi_cs *cs_pin; - - /* initialize the cs pin & select the slave*/ - gpio_default_para_init(&gpio_init_struct); - gpio_init_struct.gpio_pins = cs_gpio_pin; - gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT; - gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL; - gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER; - gpio_init(cs_gpiox, &gpio_init_struct); - gpio_bits_set(cs_gpiox, cs_gpio_pin); - - /* attach the device to spi bus */ - spi_device = (struct rt_spi_device *)rt_malloc(sizeof(struct rt_spi_device)); - RT_ASSERT(spi_device != RT_NULL); - cs_pin = (struct at32_spi_cs *)rt_malloc(sizeof(struct at32_spi_cs)); - RT_ASSERT(cs_pin != RT_NULL); - cs_pin->gpio_x = cs_gpiox; - cs_pin->gpio_pin = cs_gpio_pin; - result = rt_spi_bus_attach_device(spi_device, device_name, bus_name, (void *)cs_pin); - - if (result != RT_EOK) - { - LOG_D("%s attach to %s faild, %d\n", device_name, bus_name, result); - } - - RT_ASSERT(result == RT_EOK); - - LOG_D("%s attach to %s done", device_name, bus_name); - - return result; -} - -static rt_err_t configure(struct rt_spi_device* device, - struct rt_spi_configuration* configuration) -{ - struct rt_spi_bus * spi_bus = (struct rt_spi_bus *)device->bus; - struct at32_spi *spi_instance = (struct at32_spi *)spi_bus->parent.user_data; - - spi_init_type spi_init_struct; - - RT_ASSERT(device != RT_NULL); - RT_ASSERT(configuration != RT_NULL); - - at32_msp_spi_init(spi_instance->config->spi_x); - - /* data_width */ - if(configuration->data_width <= 8) - { - spi_init_struct.frame_bit_num = SPI_FRAME_8BIT; - } - else if(configuration->data_width <= 16) - { - spi_init_struct.frame_bit_num = SPI_FRAME_16BIT; - } - else - { - return RT_EIO; - } - - /* baudrate */ - { - uint32_t spi_apb_clock; - uint32_t max_hz; - crm_clocks_freq_type clocks_struct; - - max_hz = configuration->max_hz; - - crm_clocks_freq_get(&clocks_struct); - LOG_D("sys freq: %d\n", clocks_struct.sclk_freq); - LOG_D("max freq: %d\n", max_hz); - - if (spi_instance->config->spi_x == SPI1) - { - spi_apb_clock = clocks_struct.apb2_freq; - LOG_D("pclk2 freq: %d\n", clocks_struct.apb2_freq); - } - else - { - spi_apb_clock = clocks_struct.apb1_freq; - LOG_D("pclk1 freq: %d\n", clocks_struct.apb1_freq); - } - - if(max_hz >= (spi_apb_clock / 2)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_2; - } - else if (max_hz >= (spi_apb_clock / 4)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_4; - } - else if (max_hz >= (spi_apb_clock / 8)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_8; - } - else if (max_hz >= (spi_apb_clock / 16)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_16; - } - else if (max_hz >= (spi_apb_clock / 32)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_32; - } - else if (max_hz >= (spi_apb_clock / 64)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_64; - } - else if (max_hz >= (spi_apb_clock / 128)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_128; - } - else - { - /* min prescaler 256 */ - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_256; - } - } /* baudrate */ - - switch(configuration->mode & RT_SPI_MODE_3) - { - case RT_SPI_MODE_0: - spi_init_struct.clock_phase = SPI_CLOCK_PHASE_1EDGE; - spi_init_struct.clock_polarity = SPI_CLOCK_POLARITY_LOW; - break; - case RT_SPI_MODE_1: - spi_init_struct.clock_phase = SPI_CLOCK_PHASE_2EDGE; - spi_init_struct.clock_polarity = SPI_CLOCK_POLARITY_LOW; - break; - case RT_SPI_MODE_2: - spi_init_struct.clock_phase = SPI_CLOCK_PHASE_1EDGE; - spi_init_struct.clock_polarity = SPI_CLOCK_POLARITY_HIGH; - break; - case RT_SPI_MODE_3: - spi_init_struct.clock_phase = SPI_CLOCK_PHASE_2EDGE; - spi_init_struct.clock_polarity = SPI_CLOCK_POLARITY_HIGH; - break; - } - - /* msb or lsb */ - if(configuration->mode & RT_SPI_MSB) - { - spi_init_struct.first_bit_transmission = SPI_FIRST_BIT_MSB; - } - else - { - spi_init_struct.first_bit_transmission = SPI_FIRST_BIT_LSB; - } - - spi_init_struct.transmission_mode = SPI_TRANSMIT_FULL_DUPLEX; - spi_init_struct.master_slave_mode = SPI_MODE_MASTER; - spi_init_struct.cs_mode_selection = SPI_CS_SOFTWARE_MODE; - /* init spi */ - spi_init(spi_instance->config->spi_x, &spi_init_struct); - - /* enable spi */ - spi_enable(spi_instance->config->spi_x, TRUE); - /* disable spi crc */ - spi_crc_enable(spi_instance->config->spi_x, FALSE); - - return RT_EOK; -}; - -static rt_uint32_t xfer(struct rt_spi_device* device, struct rt_spi_message* message) -{ - struct rt_spi_bus * at32_spi_bus = (struct rt_spi_bus *)device->bus; - struct at32_spi *spi_instance = (struct at32_spi *)at32_spi_bus->parent.user_data; - struct rt_spi_configuration * config = &device->config; - struct at32_spi_cs * at32_spi_cs = device->parent.user_data; - - RT_ASSERT(device != NULL); - RT_ASSERT(message != NULL); - - /* take cs */ - if(message->cs_take) - { - gpio_bits_reset(at32_spi_cs->gpio_x, at32_spi_cs->gpio_pin); - LOG_D("spi take cs\n"); - } - - if(config->data_width <= 8) - { - const rt_uint8_t *send_ptr = message->send_buf; - rt_uint8_t * recv_ptr = message->recv_buf; - rt_uint32_t size = message->length; - - LOG_D("spi poll transfer start: %d\n", size); - - while(size--) - { - rt_uint8_t data = 0xFF; - - if(send_ptr != RT_NULL) - { - data = *send_ptr++; - } - - /* wait until the transmit buffer is empty */ - while(spi_i2s_flag_get(spi_instance->config->spi_x, SPI_I2S_TDBE_FLAG) == RESET); - /* send the byte */ - spi_i2s_data_transmit(spi_instance->config->spi_x, data); - - /* wait until a data is received */ - while(spi_i2s_flag_get(spi_instance->config->spi_x, SPI_I2S_RDBF_FLAG) == RESET); - /* get the received data */ - data = spi_i2s_data_receive(spi_instance->config->spi_x); - - if(recv_ptr != RT_NULL) - { - *recv_ptr++ = data; - } - } - LOG_D("spi poll transfer finsh\n"); - } - else if(config->data_width <= 16) - { - const rt_uint16_t * send_ptr = message->send_buf; - rt_uint16_t * recv_ptr = message->recv_buf; - rt_uint32_t size = message->length; - - while(size--) - { - rt_uint16_t data = 0xFF; - - if(send_ptr != RT_NULL) - { - data = *send_ptr++; - } - - /* wait until the transmit buffer is empty */ - while(spi_i2s_flag_get(spi_instance->config->spi_x, SPI_I2S_TDBE_FLAG) == RESET); - /* send the byte */ - spi_i2s_data_transmit(spi_instance->config->spi_x, data); - - /* wait until a data is received */ - while(spi_i2s_flag_get(spi_instance->config->spi_x, SPI_I2S_RDBF_FLAG) == RESET); - /* get the received data */ - data = spi_i2s_data_receive(spi_instance->config->spi_x); - - if(recv_ptr != RT_NULL) - { - *recv_ptr++ = data; - } - } - } - - /* release cs */ - if(message->cs_release) - { - gpio_bits_set(at32_spi_cs->gpio_x, at32_spi_cs->gpio_pin); - LOG_D("spi release cs\n"); - } - - return message->length; -}; - -static struct at32_spi_config configs[] = { -#ifdef BSP_USING_SPI1 - {SPI1, "spi1"}, -#endif - -#ifdef BSP_USING_SPI2 - {SPI2, "spi2"}, -#endif - -#ifdef BSP_USING_SPI3 - {SPI3, "spi3"}, -#endif - -#ifdef BSP_USING_SPI4 - {SPI4, "spi4"}, -#endif -}; - -static struct at32_spi spis[sizeof(configs) / sizeof(configs[0])] = {0}; - -int rt_hw_spi_init(void) -{ - int i; - rt_err_t result; - rt_size_t obj_num = sizeof(spis) / sizeof(struct at32_spi); - - for (i = 0; i < obj_num; i++) - { - spis[i].config = &configs[i]; - spis[i].spi_bus.parent.user_data = (void *)&spis[i]; - result = rt_spi_bus_register(&(spis[i].spi_bus), spis[i].config->spi_name, &at32_spi_ops); - } - - return result; -} - -INIT_BOARD_EXPORT(rt_hw_spi_init); - -#endif diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_spi.h b/bsp/at32/libraries/f403a_407/rt_drivers/drv_spi.h deleted file mode 100644 index 74e0c83911..0000000000 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_spi.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2020-01-09 shelton first version - */ - -#ifndef __DRV_SPI__ -#define __DRV_SPI__ - -#include <rtthread.h> -#include <drivers/spi.h> -#include "at32f403a_407.h" - -struct at32_spi_config -{ - spi_type *spi_x; - const char *spi_name; -}; - -struct at32_spi -{ - struct at32_spi_config *config; - struct rt_spi_bus spi_bus; -}; - -struct at32_spi_cs -{ - gpio_type *gpio_x; - uint32_t gpio_pin; -}; - -/* public function */ -int rt_hw_spi_init(void); -rt_err_t rt_hw_spi_device_attach(const char *bus_name, const char *device_name, gpio_type *cs_gpiox, uint16_t cs_gpio_pin); - -#endif // __DRV_SPI__ diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_wdt.c b/bsp/at32/libraries/f403a_407/rt_drivers/drv_wdt.c deleted file mode 100644 index 4f03f7cdbb..0000000000 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_wdt.c +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-15 shelton first version - */ - -#include <drivers/watchdog.h> -#include "board.h" - -#ifdef RT_USING_WDT - -#define LICK_VALUE 40000 - -//#define DRV_DEBUG -#define LOG_TAG "drv.wdt" -#include <drv_log.h> - -struct at32_wdt_obj -{ - wdt_type *wdt_x; - wdt_division_type div; - rt_uint32_t reload; - rt_uint16_t is_start; -}; -static struct at32_wdt_obj at32_wdt; -static struct rt_watchdog_ops ops; -static rt_watchdog_t watchdog; - -static rt_err_t wdt_init(rt_watchdog_t *wdt) -{ - return RT_EOK; -} - -static rt_err_t wdt_control(rt_watchdog_t *wdt, int cmd, void *arg) -{ - switch (cmd) - { - /* feed the watchdog */ - case RT_DEVICE_CTRL_WDT_KEEPALIVE: - wdt_counter_reload(); - break; - /* set watchdog timeout */ - case RT_DEVICE_CTRL_WDT_SET_TIMEOUT: -#if defined(LICK_VALUE) - if(LICK_VALUE) - { - at32_wdt.reload = (*((rt_uint32_t*)arg)) * LICK_VALUE / 256 ; - } - else - { - LOG_E("Please define the value of LICK_VALUE!"); - } - if(at32_wdt.reload > 0xFFF) - { - LOG_E("wdg set timeout parameter too large, please less than %ds",0xFFF * 256 / LICK_VALUE); - return -RT_EINVAL; - } -#else - #error "Please define the value of LICK_VALUE!" -#endif - if(at32_wdt.is_start) - { - wdt_register_write_enable(TRUE); - wdt_divider_set(at32_wdt.div); - wdt_reload_value_set(at32_wdt.reload); - wdt_counter_reload(); - wdt_register_write_enable(FALSE); - wdt_enable(); - } - break; - case RT_DEVICE_CTRL_WDT_GET_TIMEOUT: -#if defined(LICK_VALUE) - if(LICK_VALUE) - { - (*((rt_uint32_t*)arg)) = at32_wdt.reload * 256 / LICK_VALUE; - } - else - { - LOG_E("Please define the value of LICK_VALUE!"); - } -#else - #error "Please define the value of LICK_VALUE!" -#endif - break; - case RT_DEVICE_CTRL_WDT_START: - wdt_register_write_enable(TRUE); - wdt_divider_set(at32_wdt.div); - wdt_reload_value_set(at32_wdt.reload); - wdt_counter_reload(); - wdt_register_write_enable(FALSE); - wdt_enable(); - at32_wdt.is_start = 1; - break; - default: - LOG_W("This command is not supported."); - return -RT_ERROR; - } - return RT_EOK; -} - -int rt_hw_wdt_init(void) -{ - at32_wdt.wdt_x = WDT; - at32_wdt.div = WDT_CLK_DIV_256; - at32_wdt.reload = 0x00000FFF; - at32_wdt.is_start = 0; - - ops.init = &wdt_init; - ops.control = &wdt_control; - watchdog.ops = &ops; - /* register watchdog device */ - if (rt_hw_watchdog_register(&watchdog, "wdt", RT_DEVICE_FLAG_DEACTIVATE, RT_NULL) != RT_EOK) - { - LOG_E("wdt device register failed."); - return -RT_ERROR; - } - LOG_D("wdt device register success."); - return RT_EOK; -} - -INIT_BOARD_EXPORT(rt_hw_wdt_init); - -#endif /* RT_USING_WDT */ diff --git a/bsp/at32/libraries/f413/SConscript b/bsp/at32/libraries/f413/SConscript deleted file mode 100644 index c7ef7659ec..0000000000 --- a/bsp/at32/libraries/f413/SConscript +++ /dev/null @@ -1,14 +0,0 @@ -# for module compiling -import os -from building import * - -cwd = GetCurrentDir() -objs = [] -list = os.listdir(cwd) - -for d in list: - path = os.path.join(cwd, d) - if os.path.isfile(os.path.join(path, 'SConscript')): - objs = objs + SConscript(os.path.join(d, 'SConscript')) - -Return('objs') diff --git a/bsp/at32/libraries/f413/rt_drivers/SConscript b/bsp/at32/libraries/f413/rt_drivers/SConscript deleted file mode 100644 index 0192065380..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/SConscript +++ /dev/null @@ -1,57 +0,0 @@ -# RT-Thread building script for component -Import('RTT_ROOT') -Import('rtconfig') -from building import * - -cwd = GetCurrentDir() - -# add the general drivers. -src = Split(""" -drv_common.c -""") - -if GetDepend(['RT_USING_PIN']): - src += ['drv_gpio.c'] - -if GetDepend(['RT_USING_WDT']): - src += ['drv_wdt.c'] - -if GetDepend(['BSP_USING_SERIAL']): - src += ['drv_usart.c'] - -if GetDepend(['BSP_USING_PWM']): - src += ['drv_pwm.c'] - -if GetDepend(['BSP_USING_HWTIMER']): - src += ['drv_hwtimer.c'] - -if GetDepend(['BSP_USING_SPI']): - src += ['drv_spi.c'] - -if GetDepend(['RT_USING_I2C', 'RT_USING_I2C_BITOPS']): - if GetDepend('BSP_USING_I2C1') or GetDepend('BSP_USING_I2C2') or GetDepend('BSP_USING_I2C3') or GetDepend('BSP_USING_I2C4'): - src += ['drv_soft_i2c.c'] - -if GetDepend(['BSP_USING_ADC']): - src += Glob('drv_adc.c') - -if GetDepend('BSP_USING_RTC'): - src += ['drv_rtc.c'] - -if GetDepend('BSP_USING_ON_CHIP_FLASH'): - src += ['drv_flash.c'] - -if GetDepend(['BSP_USING_WDT']): - src += ['drv_wdt.c'] - -if GetDepend(['BSP_USING_CAN']): - src += ['drv_can.c'] - -if GetDepend(['BSP_USING_SDIO']): - src += ['drv_sdio.c'] - -CPPPATH = [cwd] - -group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH) - -Return('group') diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_adc.c b/bsp/at32/libraries/f413/rt_drivers/drv_adc.c deleted file mode 100644 index b6d3af201d..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_adc.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-05-11 shelton first version - */ - -#include "board.h" -#include "drv_adc.h" - -#if defined(BSP_USING_ADC1) || defined(BSP_USING_ADC2) - -//#define DRV_DEBUG -#define LOG_TAG "drv.adc" -#include <drv_log.h> - -struct at32_adc -{ - struct rt_adc_device at32_adc_device; - adc_type *adc_x; - char *name; -}; - -static struct at32_adc at32_adc_obj[] = -{ -#ifdef BSP_USING_ADC1 - ADC1_CONFIG, -#endif - -#ifdef BSP_USING_ADC2 - ADC2_CONFIG, -#endif -}; - -static rt_err_t at32_adc_enabled(struct rt_adc_device *device, rt_uint32_t channel, rt_bool_t enabled) -{ - adc_type *adc_x; - adc_base_config_type adc_config_struct; - - RT_ASSERT(device != RT_NULL); - adc_x = device->parent.user_data; - - at32_msp_adc_init(adc_x); - - /* adc_x configuration */ - adc_base_default_para_init(&adc_config_struct); - adc_config_struct.data_align = ADC_RIGHT_ALIGNMENT; - adc_config_struct.ordinary_channel_length = 1; - adc_config_struct.repeat_mode = FALSE; - adc_config_struct.sequence_mode = FALSE; - adc_base_config(adc_x, &adc_config_struct); - adc_combine_mode_select(ADC_INDEPENDENT_MODE); - adc_ordinary_conversion_trigger_set(adc_x, ADC12_ORDINARY_TRIG_SOFTWARE, TRUE); - - if (!enabled) - { - /* disable adc_x */ - adc_enable(adc_x, FALSE); - } - else - { - /* enable adc_x */ - adc_enable(adc_x, TRUE); - - /* enable adc_x calibration */ - adc_calibration_init(adc_x); - /* check the end of adc_x reset calibration register */ - while(adc_calibration_init_status_get(adc_x) == SET) - { - } - /* start adc_x calibration */ - adc_calibration_start(adc_x); - /* check the end of adc_x calibration */ - while(adc_calibration_status_get(adc_x) == SET) - { - } - } - - return RT_EOK; -} - -static rt_err_t at32_get_adc_value(struct rt_adc_device *device, rt_uint32_t channel, rt_uint32_t *value) -{ - adc_type *adc_x; - rt_uint32_t timeout = 0; - - RT_ASSERT(device != RT_NULL); - adc_x = device->parent.user_data; - - /* adc_x regular channels configuration */ - adc_ordinary_channel_set(adc_x, (adc_channel_select_type)channel, 1, ADC_SAMPLETIME_239_5); - - /* start adc_x software conversion */ - adc_ordinary_software_trigger_enable(adc_x, TRUE); - - /* wait for the adc to convert */ - while((adc_flag_get(adc_x, ADC_CCE_FLAG) == RESET) && timeout < 0xFFFF) - { - timeout ++; - } - - if(timeout >= 0xFFFF) - { - LOG_D("channel%d converts timeout, please confirm adc_x enabled or not", channel); - } - - /* get adc value */ - *value = adc_ordinary_conversion_data_get(adc_x); - - return RT_EOK; -} - -static const struct rt_adc_ops at_adc_ops = -{ - .enabled = at32_adc_enabled, - .convert = at32_get_adc_value, -}; - -static int rt_hw_adc_init(void) -{ - int result = RT_EOK; - int i = 0; - - for (i = 0; i < sizeof(at32_adc_obj) / sizeof(at32_adc_obj[0]); i++) - { - /* register ADC device */ - if (rt_hw_adc_register(&at32_adc_obj[i].at32_adc_device, at32_adc_obj[i].name, &at_adc_ops, at32_adc_obj[i].adc_x) == RT_EOK) - { - LOG_D("%s register success", at32_adc_obj[i].name); - } - else - { - LOG_E("%s register failed", at32_adc_obj[i].name); - result = -RT_ERROR; - } - - } - - return result; -} -INIT_BOARD_EXPORT(rt_hw_adc_init); - -#endif /* BSP_USING_ADC */ diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_adc.h b/bsp/at32/libraries/f413/rt_drivers/drv_adc.h deleted file mode 100644 index 3912378588..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_adc.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-11 leo first version - */ - -#ifndef __ADC_CONFIG_H__ -#define __ADC_CONFIG_H__ - -#include <rtthread.h> -#include <drivers/adc.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#if defined(BSP_USING_ADC1) || defined(BSP_USING_ADC2) - -#ifndef ADC1_CONFIG -#define ADC1_CONFIG \ - { \ - .adc_x = ADC1, \ - .name = "adc1", \ - } -#endif /* ADC1_CONFIG */ - -#ifndef ADC2_CONFIG -#define ADC2_CONFIG \ - { \ - .adc_x = ADC2, \ - .name = "adc2", \ - } -#endif /* ADC2_CONFIG */ - -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* __ADC_CONFIG_H__ */ diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_can.c b/bsp/at32/libraries/f413/rt_drivers/drv_can.c deleted file mode 100644 index 6a71bc001d..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_can.c +++ /dev/null @@ -1,850 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-05-10 shelton first version - */ - -#include "drv_can.h" - -#ifdef BSP_USING_CAN - -#define LOG_TAG "drv_can" -#include <drv_log.h> - -/* attention !!! baud calculation example: apbclk / ((ss + bs1 + bs2) * brp), ep: 96 / ((1 + 8 + 3) * 8) = 1MHz*/ -/* attention !!! default apbclk 96 mhz */ -static const struct at32_baud_rate can_baud_rate_tab[] = -{ - {CAN1MBaud, {8 , CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, - {CAN800kBaud, {20, CAN_RSAW_1TQ, CAN_BTS1_3TQ, CAN_BTS2_2TQ}}, - {CAN500kBaud, {16, CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, - {CAN250kBaud, {32, CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, - {CAN125kBaud, {64, CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, - {CAN100kBaud, {160, CAN_RSAW_1TQ, CAN_BTS1_3TQ, CAN_BTS2_2TQ}}, - {CAN50kBaud, {320, CAN_RSAW_1TQ, CAN_BTS1_3TQ, CAN_BTS2_2TQ}}, - {CAN20kBaud, {800, CAN_RSAW_1TQ, CAN_BTS1_3TQ, CAN_BTS2_2TQ}}, - {CAN10kBaud, {800, CAN_RSAW_1TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, -}; - -#ifdef BSP_USING_CAN1 -static struct at32_can can_instance1 = -{ - .name = "can1", - .config.can_x = CAN1, -}; -#endif - -#ifdef BSP_USING_CAN2 -static struct at32_can can_instance2 = -{ - .name = "can2", - .config.can_x = CAN2, -}; -#endif - -static rt_uint32_t get_can_baud_index(rt_uint32_t baud) -{ - rt_uint32_t len, index; - - len = sizeof(can_baud_rate_tab) / sizeof(can_baud_rate_tab[0]); - for (index = 0; index < len; index++) - { - if (can_baud_rate_tab[index].baud_rate == baud) - return index; - } - /* default baud is CAN1MBaud */ - return 0; -} - -static rt_err_t _can_config(struct rt_can_device *can, struct can_configure *cfg) -{ - struct at32_can *can_instance; - rt_uint32_t baud_index; - - RT_ASSERT(can); - RT_ASSERT(cfg); - - can_instance = (struct at32_can *)can->parent.user_data; - RT_ASSERT(can_instance); - - at32_msp_can_init((void *)can_instance->config.can_x); - - baud_index = get_can_baud_index(cfg->baud_rate); - /* get baudrate parameters */ - can_baudrate_default_para_init(&can_instance->config.baudrate_init_struct); - can_instance->config.baudrate_init_struct.rsaw_size = can_baud_rate_tab[baud_index].baud_struct.rsaw_size; - can_instance->config.baudrate_init_struct.bts1_size = can_baud_rate_tab[baud_index].baud_struct.bts1_size; - can_instance->config.baudrate_init_struct.bts2_size = can_baud_rate_tab[baud_index].baud_struct.bts2_size; - can_instance->config.baudrate_init_struct.baudrate_div = can_baud_rate_tab[baud_index].baud_struct.baudrate_div; - /* config can baudrate */ - if(can_baudrate_set(can_instance->config.can_x, &(can_instance->config.baudrate_init_struct)) != SUCCESS) - { - return -RT_ERROR; - } - - /* config can base parameters */ - can_default_para_init(&(can_instance->config.base_init_struct)); - switch (cfg->mode) - { - case RT_CAN_MODE_NORMAL: - can_instance->config.base_init_struct.mode_selection = CAN_MODE_COMMUNICATE; - break; - case RT_CAN_MODE_LISEN: - can_instance->config.base_init_struct.mode_selection = CAN_MODE_LISTENONLY; - break; - case RT_CAN_MODE_LOOPBACK: - can_instance->config.base_init_struct.mode_selection = CAN_MODE_LOOPBACK; - break; - case RT_CAN_MODE_LOOPBACKANLISEN: - can_instance->config.base_init_struct.mode_selection = CAN_MODE_LISTENONLY_LOOPBACK; - break; - } - - can_instance->config.base_init_struct.aebo_enable = TRUE; - can_instance->config.base_init_struct.aed_enable = TRUE; - can_instance->config.base_init_struct.prsf_enable = FALSE; - can_instance->config.base_init_struct.mdrsel_selection = CAN_DISCARDING_FIRST_RECEIVED; - can_instance->config.base_init_struct.mmssr_selection = CAN_SENDING_BY_REQUEST; - /* init can base function */ - if (can_base_init(can_instance->config.can_x, &(can_instance->config.base_init_struct)) != SUCCESS) - { - return -RT_ERROR; - } - - /* config filter parameters */ - can_filter_init(can_instance->config.can_x, &can_instance->config.filter_init_struct); - - return RT_EOK; -} - -static rt_err_t _can_control(struct rt_can_device *can, int cmd, void *arg) -{ - rt_uint32_t argval; - struct at32_can *can_instance; - struct rt_can_filter_config *filter_cfg; - - RT_ASSERT(can != RT_NULL); - can_instance = (struct at32_can *)can->parent.user_data; - RT_ASSERT(can_instance != RT_NULL); - - switch (cmd) - { - case RT_DEVICE_CTRL_CLR_INT: - argval = (rt_uint32_t) arg; - if (argval == RT_DEVICE_FLAG_INT_RX) - { - if (CAN1 == can_instance->config.can_x) - { - nvic_irq_disable(USBFS_L_CAN1_RX0_IRQn); - nvic_irq_disable(CAN1_RX1_IRQn); - } - - if (CAN2 == can_instance->config.can_x) - { - nvic_irq_disable(CAN2_RX0_IRQn); - nvic_irq_disable(CAN2_RX1_IRQn); - } - - /* disable interrupt */ - can_interrupt_enable(can_instance->config.can_x, CAN_RF0MIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF0FIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF0OIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF1MIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF1FIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF1OIEN_INT, FALSE); - } - else if (argval == RT_DEVICE_FLAG_INT_TX) - { - if (CAN1 == can_instance->config.can_x) - { - nvic_irq_disable(USBFS_H_CAN1_TX_IRQn); - } - - if (CAN2 == can_instance->config.can_x) - { - nvic_irq_disable(CAN2_TX_IRQn); - } - - can_interrupt_enable(can_instance->config.can_x, CAN_TCIEN_INT, FALSE); - } - else if (argval == RT_DEVICE_CAN_INT_ERR) - { - if (CAN1 == can_instance->config.can_x) - { - nvic_irq_disable(CAN1_SE_IRQn); - } - - if (CAN2 == can_instance->config.can_x) - { - nvic_irq_disable(CAN2_SE_IRQn); - } - - can_interrupt_enable(can_instance->config.can_x, CAN_EAIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_EPIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_BOIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_ETRIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_EOIEN_INT, FALSE); - } - - break; - case RT_DEVICE_CTRL_SET_INT: - argval = (rt_uint32_t) arg; - if (argval == RT_DEVICE_FLAG_INT_RX) - { - can_interrupt_enable(can_instance->config.can_x, CAN_RF0MIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF0FIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF0OIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF1MIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF1FIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF1OIEN_INT, TRUE); - - if (CAN1 == can_instance->config.can_x) - { - nvic_irq_enable(USBFS_L_CAN1_RX0_IRQn, 1, 0); - nvic_irq_enable(CAN1_RX1_IRQn, 1, 0); - } - - if (CAN2 == can_instance->config.can_x) - { - nvic_irq_enable(CAN2_RX0_IRQn, 1, 0); - nvic_irq_enable(CAN2_RX1_IRQn, 1, 0); - } - - } - else if (argval == RT_DEVICE_FLAG_INT_TX) - { - can_interrupt_enable(can_instance->config.can_x, CAN_TCIEN_INT, TRUE); - - if (CAN1 == can_instance->config.can_x) - { - nvic_irq_enable(USBFS_H_CAN1_TX_IRQn, 1, 0); - } - - if (CAN2 == can_instance->config.can_x) - { - nvic_irq_enable(CAN2_TX_IRQn, 1, 0); - } - } - else if (argval == RT_DEVICE_CAN_INT_ERR) - { - can_interrupt_enable(can_instance->config.can_x, CAN_EAIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_EPIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_BOIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_ETRIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_EOIEN_INT, TRUE); - - if (CAN1 == can_instance->config.can_x) - { - nvic_irq_enable(CAN1_SE_IRQn, 1, 0); - } - - if (CAN2 == can_instance->config.can_x) - { - nvic_irq_enable(CAN2_SE_IRQn, 1, 0); - } - } - break; - case RT_CAN_CMD_SET_FILTER: - { - rt_uint32_t id_h = 0; - rt_uint32_t id_l = 0; - rt_uint32_t mask_h = 0; - rt_uint32_t mask_l = 0; - rt_uint32_t mask_l_tail = 0; - - if (RT_NULL == arg) - { - /* default filter config */ - can_filter_init(can_instance->config.can_x, &can_instance->config.filter_init_struct); - } - else - { - filter_cfg = (struct rt_can_filter_config *)arg; - /* get default filter */ - for (int i = 0; i < filter_cfg->count; i++) - { - if (filter_cfg->items[i].hdr == -1) - { - can_instance->config.filter_init_struct.filter_number = i; - } - else - { - can_instance->config.filter_init_struct.filter_number = filter_cfg->items[i].hdr; - } - /** - * ID | CAN_FxR1[31:24] | CAN_FxR1[23:16] | CAN_FxR1[15:8] | CAN_FxR1[7:0] | - * MASK | CAN_FxR2[31:24] | CAN_FxR1[23:16] | CAN_FxR1[15:8] | CAN_FxR1[7:0] | - * STD ID | STID[10:3] | STDID[2:0] |<- 21bit ->| - * EXT ID | EXTID[28:21] | EXTID[20:13] | EXTID[12:5] | EXTID[4:0] IDE RTR 0| - * @note the 32bit STD ID must << 21 to fill CAN_FxR1[31:21] and EXT ID must << 3, - * -> but the id bit of struct rt_can_filter_item is 29, - * -> so STD id << 18 and EXT id Don't need << 3, when get the high 16bit. - * -> FilterIdHigh : (((STDid << 18) or (EXT id)) >> 13) & 0xFFFF, - * -> FilterIdLow: ((STDid << 18) or (EXT id << 3)) & 0xFFFF. - * @note the mask bit of struct rt_can_filter_item is 32, - * -> FilterMaskIdHigh: (((STD mask << 21) or (EXT mask <<3)) >> 16) & 0xFFFF - * -> FilterMaskIdLow: ((STD mask << 21) or (EXT mask <<3)) & 0xFFFF - */ - if (filter_cfg->items[i].mode == CAN_FILTER_MODE_ID_MASK) - { - mask_l_tail = 0x06; - } - else if (filter_cfg->items[i].mode == CAN_FILTER_MODE_ID_LIST) - { - mask_l_tail = (filter_cfg->items[i].ide << 2) | - (filter_cfg->items[i].rtr << 1); - } - if (filter_cfg->items[i].ide == RT_CAN_STDID) - { - id_h = ((filter_cfg->items[i].id << 18) >> 13) & 0xFFFF; - id_l = ((filter_cfg->items[i].id << 18) | - (filter_cfg->items[i].ide << 2) | - (filter_cfg->items[i].rtr << 1)) & 0xFFFF; - mask_h = ((filter_cfg->items[i].mask << 21) >> 16) & 0xFFFF; - mask_l = ((filter_cfg->items[i].mask << 21) | mask_l_tail) & 0xFFFF; - } - else if (filter_cfg->items[i].ide == RT_CAN_EXTID) - { - id_h = (filter_cfg->items[i].id >> 13) & 0xFFFF; - id_l = ((filter_cfg->items[i].id << 3) | - (filter_cfg->items[i].ide << 2) | - (filter_cfg->items[i].rtr << 1)) & 0xFFFF; - mask_h = ((filter_cfg->items[i].mask << 3) >> 16) & 0xFFFF; - mask_l = ((filter_cfg->items[i].mask << 3) | mask_l_tail) & 0xFFFF; - } - can_instance->config.filter_init_struct.filter_id_high = id_h; - can_instance->config.filter_init_struct.filter_id_low = id_l; - can_instance->config.filter_init_struct.filter_mask_high = mask_h; - can_instance->config.filter_init_struct.filter_mask_low = mask_l; - can_instance->config.filter_init_struct.filter_mode = (can_filter_mode_type)filter_cfg->items[i].mode; - - /* filter conf */ - can_filter_init(can_instance->config.can_x, &can_instance->config.filter_init_struct); - } - } - break; - } - case RT_CAN_CMD_SET_MODE: - argval = (rt_uint32_t) arg; - if (argval != RT_CAN_MODE_NORMAL && - argval != RT_CAN_MODE_LISEN && - argval != RT_CAN_MODE_LOOPBACK && - argval != RT_CAN_MODE_LOOPBACKANLISEN) - { - return -RT_ERROR; - } - if (argval != can_instance->device.config.mode) - { - can_instance->device.config.mode = argval; - return _can_config(&can_instance->device, &can_instance->device.config); - } - break; - case RT_CAN_CMD_SET_BAUD: - argval = (rt_uint32_t) arg; - if (argval != CAN1MBaud && - argval != CAN800kBaud && - argval != CAN500kBaud && - argval != CAN250kBaud && - argval != CAN125kBaud && - argval != CAN100kBaud && - argval != CAN50kBaud && - argval != CAN20kBaud && - argval != CAN10kBaud) - { - return -RT_ERROR; - } - if (argval != can_instance->device.config.baud_rate) - { - can_instance->device.config.baud_rate = argval; - return _can_config(&can_instance->device, &can_instance->device.config); - } - break; - case RT_CAN_CMD_SET_PRIV: - argval = (rt_uint32_t) arg; - if (argval != RT_CAN_MODE_PRIV && - argval != RT_CAN_MODE_NOPRIV) - { - return -RT_ERROR; - } - if (argval != can_instance->device.config.privmode) - { - can_instance->device.config.privmode = argval; - return _can_config(&can_instance->device, &can_instance->device.config); - } - break; - case RT_CAN_CMD_GET_STATUS: - { - rt_uint32_t errtype; - errtype = can_instance->config.can_x->ests; - can_instance->device.status.rcverrcnt = errtype >> 24; - can_instance->device.status.snderrcnt = (errtype >> 16 & 0xFF); - can_instance->device.status.lasterrtype = errtype & 0x70; - can_instance->device.status.errcode = errtype & 0x07; - - rt_memcpy(arg, &can_instance->device.status, sizeof(can_instance->device.status)); - } - break; - } - - return RT_EOK; -} - -static int _can_sendmsg(struct rt_can_device *can, const void *buf, rt_uint32_t box_num) -{ - struct can_config *hcan; - hcan = &((struct at32_can *) can->parent.user_data)->config; - struct rt_can_msg *pmsg = (struct rt_can_msg *) buf; - can_tx_message_type tx_message; - - /* check select mailbox is empty */ - switch (box_num) - { - case CAN_TX_MAILBOX0: - if (hcan->can_x->tsts_bit.tm0ef != 1) - { - /* return function status */ - return -RT_ERROR; - } - break; - case CAN_TX_MAILBOX1: - if (hcan->can_x->tsts_bit.tm1ef != 1) - { - /* return function status */ - return -RT_ERROR; - } - break; - case CAN_TX_MAILBOX2: - if (hcan->can_x->tsts_bit.tm2ef != 1) - { - /* return function status */ - return -RT_ERROR; - } - break; - default: - RT_ASSERT(0); - break; - } - - if (RT_CAN_STDID == pmsg->ide) - { - tx_message.id_type = CAN_ID_STANDARD; - tx_message.standard_id = pmsg->id; - } - else - { - tx_message.id_type = CAN_ID_EXTENDED; - tx_message.extended_id = pmsg->id; - } - - if (RT_CAN_DTR == pmsg->rtr) - { - tx_message.frame_type = CAN_TFT_DATA; - } - else - { - tx_message.frame_type = CAN_TFT_REMOTE; - } - - /* set up the dlc */ - tx_message.dlc = pmsg->len & 0x0FU; - /* set up the data field */ - tx_message.data[0] = (uint32_t)pmsg->data[0]; - tx_message.data[1] = (uint32_t)pmsg->data[1]; - tx_message.data[2] = (uint32_t)pmsg->data[2]; - tx_message.data[3] = (uint32_t)pmsg->data[3]; - tx_message.data[4] = (uint32_t)pmsg->data[4]; - tx_message.data[5] = (uint32_t)pmsg->data[5]; - tx_message.data[6] = (uint32_t)pmsg->data[6]; - tx_message.data[7] = (uint32_t)pmsg->data[7]; - - can_message_transmit(hcan->can_x, &tx_message); - - return RT_EOK; -} - -static int _can_recvmsg(struct rt_can_device *can, void *buf, rt_uint32_t fifo) -{ - struct can_config *hcan; - hcan = &((struct at32_can *) can->parent.user_data)->config; - struct rt_can_msg *pmsg = (struct rt_can_msg *) buf; - can_rx_message_type rx_message; - - RT_ASSERT(can); - - /* get data */ - can_message_receive(hcan->can_x, (can_rx_fifo_num_type)fifo, &rx_message); - - pmsg->data[0] = rx_message.data[0]; - pmsg->data[1] = rx_message.data[1]; - pmsg->data[2] = rx_message.data[2]; - pmsg->data[3] = rx_message.data[3]; - pmsg->data[4] = rx_message.data[4]; - pmsg->data[5] = rx_message.data[5]; - pmsg->data[6] = rx_message.data[6]; - pmsg->data[7] = rx_message.data[7]; - - pmsg->len = rx_message.dlc; - pmsg->id = rx_message.id_type; - - if (rx_message.id_type == CAN_ID_STANDARD) - pmsg->id = rx_message.standard_id; - else - pmsg->ide = rx_message.extended_id; - - pmsg->rtr = rx_message.frame_type; - pmsg->hdr = rx_message.filter_index; - - return RT_EOK; -} - -static const struct rt_can_ops _can_ops = -{ - _can_config, - _can_control, - _can_sendmsg, - _can_recvmsg, -}; - -static void _can_rx_isr(struct rt_can_device *can, rt_uint32_t fifo) -{ - struct can_config *hcan; - RT_ASSERT(can); - hcan = &((struct at32_can *) can->parent.user_data)->config; - - switch (fifo) - { - case CAN_RX_FIFO0: - /* save to user list */ - if (can_receive_message_pending_get(hcan->can_x, CAN_RX_FIFO0) && \ - can_flag_get(hcan->can_x, CAN_RF0MN_FLAG)) - { - rt_hw_can_isr(can, RT_CAN_EVENT_RX_IND | fifo << 8); - } - /* check full flag for fifo0 */ - if (can_flag_get(hcan->can_x, CAN_RF0FF_FLAG) == SET) - { - /* clear fifo0 full flag */ - can_flag_clear(hcan->can_x, CAN_RF0FF_FLAG); - } - - /* check overrun flag for fifo0 */ - if (can_flag_get(hcan->can_x, CAN_RF0OF_FLAG) == SET) - { - /* clear fifo0 overrun flag */ - can_flag_clear(hcan->can_x, CAN_RF0OF_FLAG); - rt_hw_can_isr(can, RT_CAN_EVENT_RXOF_IND | fifo << 8); - } - break; - case CAN_RX_FIFO1: - /* save to user list */ - if (can_receive_message_pending_get(hcan->can_x, CAN_RX_FIFO1) && \ - can_flag_get(hcan->can_x, CAN_RF1MN_FLAG)) - { - rt_hw_can_isr(can, RT_CAN_EVENT_RX_IND | fifo << 8); - } - /* check full flag for fifo1 */ - if (can_flag_get(hcan->can_x, CAN_RF1FF_FLAG) == SET) - { - /* clear fifo1 full flag */ - can_flag_clear(hcan->can_x, CAN_RF1FF_FLAG); - } - - /* check overrun flag for fifo1 */ - if (can_flag_get(hcan->can_x, CAN_RF1OF_FLAG) == SET) - { - /* clear fifo1 overrun flag */ - can_flag_clear(hcan->can_x, CAN_RF1OF_FLAG); - rt_hw_can_isr(can, RT_CAN_EVENT_RXOF_IND | fifo << 8); - } - break; - } -} - -#ifdef BSP_USING_CAN1 -/** - * @brief this function handles can1 tx interrupts. transmit fifo0/1/2 is empty can trigger this interrupt - */ -void USBFS_H_CAN1_TX_IRQHandler(void) -{ - rt_interrupt_enter(); - struct can_config *hcan; - hcan = &can_instance1.config; - if (can_flag_get(hcan->can_x, CAN_TM0TCF_FLAG) == SET) - { - if (hcan->can_x->tsts_bit.tm0tsf == 1) - { - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_DONE | 0 << 8); - } - else - { - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_FAIL | 0 << 8); - } - /* write 0 to clear transmission status flag */ - can_flag_clear(hcan->can_x, CAN_TM0TCF_FLAG); - } - else if (can_flag_get(hcan->can_x, CAN_TM1TCF_FLAG) == SET) - { - if (hcan->can_x->tsts_bit.tm1tsf == 1) - { - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_DONE | 1 << 8); - } - else - { - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_FAIL | 1 << 8); - } - /* write 0 to clear transmission status flag */ - can_flag_clear(hcan->can_x, CAN_TM1TCF_FLAG); - } - else if (can_flag_get(hcan->can_x, CAN_TM2TCF_FLAG) == SET) - { - if (hcan->can_x->tsts_bit.tm2tsf == 1) - { - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_DONE | 2 << 8); - } - else - { - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_FAIL | 2 << 8); - } - /* write 0 to clear transmission status flag */ - can_flag_clear(hcan->can_x, CAN_TM2TCF_FLAG); - } - rt_interrupt_leave(); -} - -/** - * @brief this function handles can1 rx0 interrupts. - */ -void USBFS_L_CAN1_RX0_IRQHandler(void) -{ - rt_interrupt_enter(); - _can_rx_isr(&can_instance1.device, CAN_RX_FIFO0); - rt_interrupt_leave(); -} - -/** - * @brief this function handles can1 rx1 interrupts. - */ -void CAN1_RX1_IRQHandler(void) -{ - rt_interrupt_enter(); - _can_rx_isr(&can_instance1.device, CAN_RX_FIFO1); - rt_interrupt_leave(); -} - -/** - * @brief this function handles can1 sce interrupts. - */ -void CAN1_SE_IRQHandler(void) -{ - rt_uint32_t errtype; - struct can_config *hcan; - - hcan = &can_instance1.config; - errtype = hcan->can_x->ests; - - rt_interrupt_enter(); - - switch ((errtype & 0x70) >> 4) - { - case RT_CAN_BUS_BIT_PAD_ERR: - can_instance1.device.status.bitpaderrcnt++; - break; - case RT_CAN_BUS_FORMAT_ERR: - can_instance1.device.status.formaterrcnt++; - break; - case RT_CAN_BUS_ACK_ERR:/* attention !!! test ack err's unit is transmit unit */ - can_instance1.device.status.ackerrcnt++; - if (!(can_instance1.config.can_x->tsts_bit.tm0tsf == 1)) - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_FAIL | 0 << 8); - else if (!(can_instance1.config.can_x->tsts_bit.tm1tsf == 1)) - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_FAIL | 1 << 8); - else if (!(can_instance1.config.can_x->tsts_bit.tm2tsf == 1)) - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_FAIL | 2 << 8); - break; - case RT_CAN_BUS_IMPLICIT_BIT_ERR: - case RT_CAN_BUS_EXPLICIT_BIT_ERR: - can_instance1.device.status.biterrcnt++; - break; - case RT_CAN_BUS_CRC_ERR: - can_instance1.device.status.crcerrcnt++; - break; - } - - can_instance1.device.status.lasterrtype = errtype & 0x70; - can_instance1.device.status.rcverrcnt = errtype >> 24; - can_instance1.device.status.snderrcnt = (errtype >> 16 & 0xFF); - can_instance1.device.status.errcode = errtype & 0x07; - /* clear error flags */ - can_flag_clear(hcan->can_x, CAN_ETR_FLAG); - rt_interrupt_leave(); -} -#endif - -#ifdef BSP_USING_CAN2 -/** - * @brief this function handles can2 tx interrupts. - */ -void CAN2_TX_IRQHandler(void) -{ - rt_interrupt_enter(); - struct can_config *hcan; - hcan = &can_instance2.config; - if (can_flag_get(hcan->can_x, CAN_TM0TCF_FLAG) == SET) - { - if (hcan->can_x->tsts_bit.tm0tsf == 1) - { - rt_hw_can_isr(&can_instance2.device, RT_CAN_EVENT_TX_DONE | 0 << 8); - } - else - { - rt_hw_can_isr(&can_instance2.device, RT_CAN_EVENT_TX_FAIL | 0 << 8); - } - /* write 0 to clear transmission status flag rqcpx */ - can_flag_clear(hcan->can_x, CAN_TM0TCF_FLAG); - } - else if (can_flag_get(hcan->can_x, CAN_TM1TCF_FLAG) == SET) - { - if (hcan->can_x->tsts_bit.tm1tsf == 1) - { - rt_hw_can_isr(&can_instance2.device, RT_CAN_EVENT_TX_DONE | 1 << 8); - } - else - { - rt_hw_can_isr(&can_instance2.device, RT_CAN_EVENT_TX_FAIL | 1 << 8); - } - /* write 0 to clear transmission status flag rqcpx */ - can_flag_clear(hcan->can_x, CAN_TM1TCF_FLAG); - } - else if (can_flag_get(hcan->can_x, CAN_TM2TCF_FLAG) == SET) - { - if (hcan->can_x->tsts_bit.tm2tsf == 1) - { - rt_hw_can_isr(&can_instance2.device, RT_CAN_EVENT_TX_DONE | 2 << 8); - } - else - { - rt_hw_can_isr(&can_instance2.device, RT_CAN_EVENT_TX_FAIL | 2 << 8); - } - /* write 0 to clear transmission status flag rqcpx */ - can_flag_clear(hcan->can_x, CAN_TM2TCF_FLAG); - } - rt_interrupt_leave(); -} - -/** - * @brief this function handles can2 rx0 interrupts. - */ -void CAN2_RX0_IRQHandler(void) -{ - rt_interrupt_enter(); - _can_rx_isr(&can_instance2.device, CAN_RX_FIFO0); - rt_interrupt_leave(); -} - -/** - * @brief this function handles can2 rx1 interrupts. - */ -void CAN2_RX1_IRQHandler(void) -{ - rt_interrupt_enter(); - _can_rx_isr(&can_instance2.device, CAN_RX_FIFO1); - rt_interrupt_leave(); -} - -/** - * @brief this function handles can2 sce interrupts. - */ -void CAN2_SE_IRQHandler(void) -{ - rt_uint32_t errtype; - struct can_config *hcan; - - hcan = &can_instance2.config; - errtype = hcan->can_x->ests; - - rt_interrupt_enter(); - - switch ((errtype & 0x70) >> 4) - { - case RT_CAN_BUS_BIT_PAD_ERR: - can_instance2.device.status.bitpaderrcnt++; - break; - case RT_CAN_BUS_FORMAT_ERR: - can_instance2.device.status.formaterrcnt++; - break; - case RT_CAN_BUS_ACK_ERR: - can_instance2.device.status.ackerrcnt++; - if (!(can_instance2.config.can_x->tsts_bit.tm0tsf == 1)) - rt_hw_can_isr(&can_instance2.device, RT_CAN_EVENT_TX_FAIL | 0 << 8); - else if (!(can_instance2.config.can_x->tsts_bit.tm1tsf == 1)) - rt_hw_can_isr(&can_instance2.device, RT_CAN_EVENT_TX_FAIL | 1 << 8); - else if (!(can_instance2.config.can_x->tsts_bit.tm2tsf == 1)) - rt_hw_can_isr(&can_instance2.device, RT_CAN_EVENT_TX_FAIL | 2 << 8); - break; - case RT_CAN_BUS_IMPLICIT_BIT_ERR: - case RT_CAN_BUS_EXPLICIT_BIT_ERR: - can_instance2.device.status.biterrcnt++; - break; - case RT_CAN_BUS_CRC_ERR: - can_instance2.device.status.crcerrcnt++; - break; - } - - can_instance2.device.status.lasterrtype = errtype & 0x70; - can_instance2.device.status.rcverrcnt = errtype >> 24; - can_instance2.device.status.snderrcnt = (errtype >> 16 & 0xFF); - can_instance2.device.status.errcode = errtype & 0x07; - /* clear error flags */ - can_flag_clear(hcan->can_x, CAN_ETR_FLAG); - rt_interrupt_leave(); -} -#endif - -int rt_hw_can_init(void) -{ - struct can_configure config = CANDEFAULTCONFIG; - config.privmode = RT_CAN_MODE_NOPRIV; - config.ticks = 50; -#ifdef RT_CAN_USING_HDR - config.maxhdr = 14; -#endif - /* config default filter */ - can_filter_init_type filter_conf; - can_filter_default_para_init(&filter_conf); - filter_conf.filter_activate_enable = TRUE; - filter_conf.filter_bit = CAN_FILTER_32BIT; - -#ifdef BSP_USING_CAN1 - filter_conf.filter_number = 0; - can_instance1.config.filter_init_struct = filter_conf; - can_instance1.device.config = config; - - /* register can1 device */ - rt_hw_can_register(&can_instance1.device, - can_instance1.name, - &_can_ops, - &can_instance1); -#endif /* BSP_USING_CAN1 */ - -#ifdef BSP_USING_CAN2 - filter_conf.filter_number = 0; - can_instance2.config.filter_init_struct = filter_conf; - can_instance2.device.config = config; - - /* register can2 device */ - rt_hw_can_register(&can_instance2.device, - can_instance2.name, - &_can_ops, - &can_instance2); -#endif /* BSP_USING_CAN2 */ - - return 0; -} - -INIT_BOARD_EXPORT(rt_hw_can_init); - -#endif /* BSP_USING_CAN */ diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_can.h b/bsp/at32/libraries/f413/rt_drivers/drv_can.h deleted file mode 100644 index cec0239989..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_can.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-11 shelton first version - */ - -#ifndef __DRV_CAN_H__ -#define __DRV_CAN_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#include <rtdevice.h> -#include <rtthread.h> -#include "board.h" - -struct at32_baud_rate -{ - rt_uint32_t baud_rate; - can_baudrate_type baud_struct; -}; - -struct can_config -{ - can_type *can_x; - can_base_type base_init_struct; - can_baudrate_type baudrate_init_struct; - can_filter_init_type filter_init_struct; -}; - -/* at32 can device */ -struct at32_can -{ - char *name; - struct can_config config; - struct rt_can_device device; /* inherit from can device */ -}; - -int rt_hw_can_init(void); - -#ifdef __cplusplus -} -#endif - -#endif /*__DRV_CAN_H__ */ - -/************************** end of file ******************/ diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_common.h b/bsp/at32/libraries/f413/rt_drivers/drv_common.h deleted file mode 100644 index c9d725bb52..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_common.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-08 shelton first version - */ - -#ifndef __DRV_COMMON_H__ -#define __DRV_COMMON_H__ - -#include <rtthread.h> -#include <rthw.h> -#ifdef RT_USING_DEVICE -#include <rtdevice.h> -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -void _Error_Handler(char *s, int num); - -#ifndef Error_Handler -#define Error_Handler() _Error_Handler(__FILE__, __LINE__) -#endif - -//#define DMA_NOT_AVAILABLE ((DMA_INSTANCE_TYPE *)0xFFFFFFFFU) - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_flash.c b/bsp/at32/libraries/f413/rt_drivers/drv_flash.c deleted file mode 100644 index e763e817bc..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_flash.c +++ /dev/null @@ -1,210 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-24 shelton first version - */ - -#include <rtthread.h> -#include "board.h" - -#ifdef BSP_USING_ON_CHIP_FLASH -#include "drv_flash.h" - -#if defined(PKG_USING_FAL) -#include "fal.h" -#endif - -//#define DRV_DEBUG -#define LOG_TAG "drv.flash" -#include <drv_log.h> - -/** - * @brief gets the page of a given address - * @param addr: address of the flash memory - * @retval the page of a given address - */ -static rt_uint32_t get_page(uint32_t addr) -{ - rt_uint32_t page = 0; - - page = RT_ALIGN_DOWN(addr, FLASH_PAGE_SIZE); - - return page; -} - -/** - * @brief read data from flash. - * @note this operation's units is word. - * - * @param addr flash address - * @param buf buffer to store read data - * @param size read bytes size - * - * @return result - */ -int at32_flash_read(rt_uint32_t addr, rt_uint8_t *buf, rt_uint32_t size) -{ - rt_uint32_t i; - - if ((addr + size) > AT32_FLASH_END_ADDRESS) - { - LOG_E("read outrange flash size! addr is (0x%p)", (void *)(addr + size)); - return -RT_EINVAL; - } - - for (i = 0; i < size; i++, buf++, addr++) - { - *buf = *(rt_uint8_t *) addr; - } - - return size; -} - -/** - * @brief write data to flash. - * @note this operation's units is word. - * @note this operation must after erase. @see flash_erase. - * - * @param addr flash address - * @param buf the write data buffer - * @param size write bytes size - * - * @return result - */ -int at32_flash_write(rt_uint32_t addr, const rt_uint8_t *buf, rt_uint32_t size) -{ - rt_err_t result = RT_EOK; - rt_uint32_t end_addr = addr + size; - - if (addr % 4 != 0) - { - LOG_E("write addr must be 4-byte alignment"); - return -RT_EINVAL; - } - - if ((end_addr) > AT32_FLASH_END_ADDRESS) - { - LOG_E("write outrange flash size! addr is (0x%p)", (void *)(addr + size)); - return -RT_EINVAL; - } - - flash_unlock(); - - while (addr < end_addr) - { - if (flash_word_program(addr, *((rt_uint32_t *)buf)) == FLASH_OPERATE_DONE) - { - if (*(rt_uint32_t *)addr != *(rt_uint32_t *)buf) - { - result = -RT_ERROR; - break; - } - addr += 4; - buf += 4; - } - else - { - result = -RT_ERROR; - break; - } - } - - flash_lock(); - - if (result != RT_EOK) - { - return result; - } - - return size; -} - -/** - * @brief erase data on flash . - * @note this operation is irreversible. - * @note this operation's units is different which on many chips. - * - * @param addr flash address - * @param size erase bytes size - * - * @return result - */ -int at32_flash_erase(rt_uint32_t addr, rt_uint32_t size) -{ - rt_err_t result = RT_EOK; - rt_uint32_t end_addr = addr + size; - rt_uint32_t page_addr = 0; - - flash_unlock(); - - if ((end_addr) > AT32_FLASH_END_ADDRESS) - { - LOG_E("erase outrange flash size! addr is (0x%p)", (void *)(addr + size)); - return -RT_EINVAL; - } - - while(addr < end_addr) - { - page_addr = get_page(addr); - - if(flash_sector_erase(page_addr) != FLASH_OPERATE_DONE) - { - result = -RT_ERROR; - goto __exit; - } - - addr += FLASH_PAGE_SIZE; - } - - flash_lock(); - -__exit: - if(result != RT_EOK) - { - return result; - } - - return size; -} - -#if defined(PKG_USING_FAL) - -static int fal_flash_read(long offset, rt_uint8_t *buf, rt_uint32_t size); -static int fal_flash_write(long offset, const rt_uint8_t *buf, rt_uint32_t size); -static int fal_flash_erase(long offset, rt_uint32_t size); - -const struct fal_flash_dev at32_onchip_flash = -{ - "onchip_flash", - AT32_FLASH_START_ADRESS, - AT32_FLASH_SIZE, - FLASH_PAGE_SIZE, - { - NULL, - fal_flash_read, - fal_flash_write, - fal_flash_erase - } -}; - -static int fal_flash_read(long offset, rt_uint8_t *buf, rt_uint32_t size) -{ - return at32_flash_read(at32_onchip_flash.addr + offset, buf, size); -} - -static int fal_flash_write(long offset, const rt_uint8_t *buf, rt_uint32_t size) -{ - return at32_flash_write(at32_onchip_flash.addr + offset, buf, size); -} - -static int fal_flash_erase(long offset, rt_uint32_t size) -{ - return at32_flash_erase(at32_onchip_flash.addr + offset, size); -} - -#endif -#endif /* BSP_USING_ON_CHIP_FLASH */ diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_flash.h b/bsp/at32/libraries/f413/rt_drivers/drv_flash.h deleted file mode 100644 index 42ada3416a..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_flash.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2021-02-09 shelton the first version - */ - -#ifndef __DRV_FLASH_H__ -#define __DRV_FLASH_H__ - -#include <rtthread.h> -#include "rtdevice.h" -#include <rthw.h> - -#ifdef __cplusplus -extern "C" { -#endif - -int at32_flash_read(rt_uint32_t addr, rt_uint8_t *buf, rt_uint32_t size); -int at32_flash_write(rt_uint32_t addr, const rt_uint8_t *buf, rt_uint32_t size); -int at32_flash_erase(rt_uint32_t addr, rt_uint32_t size); - -#ifdef __cplusplus -} -#endif - -#endif /* __DRV_FLASH_H__ */ diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_gpio.c b/bsp/at32/libraries/f413/rt_drivers/drv_gpio.c deleted file mode 100644 index b66c475050..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_gpio.c +++ /dev/null @@ -1,557 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-08 shelton first version - */ - -#include "board.h" -#include "drv_gpio.h" - -#ifdef RT_USING_PIN - -#define PIN_NUM(port, no) (((((port) & 0xFu) << 4) | ((no) & 0xFu))) -#define PIN_PORT(pin) ((uint8_t)(((pin) >> 4) & 0xFu)) -#define PIN_NO(pin) ((uint8_t)((pin) & 0xFu)) - -#define PIN_ATPORTSOURCE(pin) (gpio_port_source_type)((uint8_t)(((pin) & 0xF0u) >> 4)) -#define PIN_ATPINSOURCE(pin) (gpio_pins_source_type)((uint8_t)((pin) & 0xFu)) -#define PIN_ATPORT(pin) ((gpio_type *)(GPIOA_BASE + (0x400u * PIN_PORT(pin)))) -#define PIN_ATPIN(pin) ((uint16_t)(1u << PIN_NO(pin))) - -#if defined(GPIOZ) - #define __AT32_PORT_MAX 12u -#elif defined(GPIOK) - #define __AT32_PORT_MAX 11u -#elif defined(GPIOJ) - #define __AT32_PORT_MAX 10u -#elif defined(GPIOI) - #define __AT32_PORT_MAX 9u -#elif defined(GPIOH) - #define __AT32_PORT_MAX 8u -#elif defined(GPIOG) - #define __AT32_PORT_MAX 7u -#elif defined(GPIOF) - #define __AT32_PORT_MAX 6u -#elif defined(GPIOE) - #define __AT32_PORT_MAX 5u -#elif defined(GPIOD) - #define __AT32_PORT_MAX 4u -#elif defined(GPIOC) - #define __AT32_PORT_MAX 3u -#elif defined(GPIOB) - #define __AT32_PORT_MAX 2u -#elif defined(GPIOA) - #define __AT32_PORT_MAX 1u -#else - #define __AT32_PORT_MAX 0u - #error Unsupported AT32 GPIO peripheral. -#endif - -#define PIN_ATPORT_MAX __AT32_PORT_MAX - -static const struct pin_irq_map pin_irq_map[] = -{ - {GPIO_PINS_0, EXINT_LINE_0, EXINT0_IRQn}, - {GPIO_PINS_1, EXINT_LINE_1, EXINT1_IRQn}, - {GPIO_PINS_2, EXINT_LINE_2, EXINT2_IRQn}, - {GPIO_PINS_3, EXINT_LINE_3, EXINT3_IRQn}, - {GPIO_PINS_4, EXINT_LINE_4, EXINT4_IRQn}, - {GPIO_PINS_5, EXINT_LINE_5, EXINT9_5_IRQn}, - {GPIO_PINS_6, EXINT_LINE_6, EXINT9_5_IRQn}, - {GPIO_PINS_7, EXINT_LINE_7, EXINT9_5_IRQn}, - {GPIO_PINS_8, EXINT_LINE_8, EXINT9_5_IRQn}, - {GPIO_PINS_9, EXINT_LINE_9, EXINT9_5_IRQn}, - {GPIO_PINS_10, EXINT_LINE_10, EXINT15_10_IRQn}, - {GPIO_PINS_11, EXINT_LINE_11, EXINT15_10_IRQn}, - {GPIO_PINS_12, EXINT_LINE_12, EXINT15_10_IRQn}, - {GPIO_PINS_13, EXINT_LINE_13, EXINT15_10_IRQn}, - {GPIO_PINS_14, EXINT_LINE_14, EXINT15_10_IRQn}, - {GPIO_PINS_15, EXINT_LINE_15, EXINT15_10_IRQn}, -}; - -static struct rt_pin_irq_hdr pin_irq_handler_tab[] = -{ - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, -}; -static uint32_t pin_irq_enable_mask = 0; - -#define ITEM_NUM(items) sizeof(items) / sizeof(items[0]) - -static void at32_pin_write(rt_device_t dev, rt_base_t pin, rt_base_t value) -{ - gpio_type *gpio_port; - - uint16_t gpio_pin; - if (PIN_PORT(pin) < PIN_ATPORT_MAX) - { - gpio_port = PIN_ATPORT(pin); - gpio_pin = PIN_ATPIN(pin); - } - else - { - return; - } - gpio_bits_write(gpio_port, gpio_pin, (confirm_state)value); -} - -static int at32_pin_read(rt_device_t dev, rt_base_t pin) -{ - gpio_type *gpio_port; - uint16_t gpio_pin; - int value; - - value = PIN_LOW; - - if (PIN_PORT(pin) < PIN_ATPORT_MAX) - { - gpio_port = PIN_ATPORT(pin); - gpio_pin = PIN_ATPIN(pin); - value = gpio_input_data_bit_read(gpio_port, gpio_pin); - } - return value; -} - -static void at32_pin_mode(rt_device_t dev, rt_base_t pin, rt_base_t mode) -{ - gpio_init_type gpio_init_struct; - gpio_type *gpio_port; - uint16_t gpio_pin; - - if (PIN_PORT(pin) < PIN_ATPORT_MAX) - { - gpio_port = PIN_ATPORT(pin); - gpio_pin = PIN_ATPIN(pin); - } - else - { - return; - } - - /* configure gpio_init_struct */ - gpio_default_para_init(&gpio_init_struct); - gpio_init_struct.gpio_pins = gpio_pin; - gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT; - gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL; - gpio_init_struct.gpio_pull = GPIO_PULL_NONE; - gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER; - - if (mode == PIN_MODE_OUTPUT) - { - /* output setting */ - gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT; - gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL; - gpio_init_struct.gpio_pull = GPIO_PULL_NONE; - } - else if (mode == PIN_MODE_INPUT) - { - /* input setting: not pull. */ - gpio_init_struct.gpio_mode = GPIO_MODE_INPUT; - gpio_init_struct.gpio_pull = GPIO_PULL_NONE; - } - else if (mode == PIN_MODE_INPUT_PULLUP) - { - /* input setting: pull up. */ - gpio_init_struct.gpio_mode = GPIO_MODE_INPUT; - gpio_init_struct.gpio_pull = GPIO_PULL_UP; - } - else if (mode == PIN_MODE_INPUT_PULLDOWN) - { - /* input setting: pull down. */ - gpio_init_struct.gpio_mode = GPIO_MODE_INPUT; - gpio_init_struct.gpio_pull = GPIO_PULL_DOWN; - } - else if (mode == PIN_MODE_OUTPUT_OD) - { - /* output setting: od. */ - gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT; - gpio_init_struct.gpio_out_type = GPIO_OUTPUT_OPEN_DRAIN; - } - - gpio_init(gpio_port, &gpio_init_struct); -} - -rt_inline rt_int32_t bit2bitno(rt_uint32_t bit) -{ - int i; - for (i = 0; i < 32; i++) - { - if ((0x01 << i) == bit) - { - return i; - } - } - return -1; -} - -rt_inline const struct pin_irq_map *get_pin_irq_map(uint32_t pinbit) -{ - rt_int32_t mapindex = bit2bitno(pinbit); - if (mapindex < 0 || mapindex >= ITEM_NUM(pin_irq_map)) - { - return RT_NULL; - } - return &pin_irq_map[mapindex]; -}; - -static rt_err_t at32_pin_attach_irq(struct rt_device *device, rt_int32_t pin, - rt_uint32_t mode, void (*hdr)(void *args), void *args) -{ - uint16_t gpio_pin; - rt_base_t level; - rt_int32_t irqindex = -1; - - if (PIN_PORT(pin) < PIN_ATPORT_MAX) - { - gpio_pin = PIN_ATPIN(pin); - } - else - { - return -RT_EINVAL; - } - - irqindex = bit2bitno(gpio_pin); - if (irqindex < 0 || irqindex >= ITEM_NUM(pin_irq_map)) - { - return -RT_EINVAL; - } - - level = rt_hw_interrupt_disable(); - if (pin_irq_handler_tab[irqindex].pin == pin && - pin_irq_handler_tab[irqindex].hdr == hdr && - pin_irq_handler_tab[irqindex].mode == mode && - pin_irq_handler_tab[irqindex].args == args) - { - rt_hw_interrupt_enable(level); - return RT_EOK; - } - if (pin_irq_handler_tab[irqindex].pin != -1) - { - rt_hw_interrupt_enable(level); - return -RT_EBUSY; - } - pin_irq_handler_tab[irqindex].pin = pin; - pin_irq_handler_tab[irqindex].hdr = hdr; - pin_irq_handler_tab[irqindex].mode = mode; - pin_irq_handler_tab[irqindex].args = args; - rt_hw_interrupt_enable(level); - - return RT_EOK; -} - -static rt_err_t at32_pin_dettach_irq(struct rt_device *device, rt_int32_t pin) -{ - uint16_t gpio_pin; - rt_base_t level; - rt_int32_t irqindex = -1; - - if (PIN_PORT(pin) < PIN_ATPORT_MAX) - { - gpio_pin = PIN_ATPIN(pin); - } - else - { - return -RT_EINVAL; - } - irqindex = bit2bitno(gpio_pin); - if (irqindex < 0 || irqindex >= ITEM_NUM(pin_irq_map)) - { - return -RT_EINVAL; - } - - level = rt_hw_interrupt_disable(); - if (pin_irq_handler_tab[irqindex].pin == -1) - { - rt_hw_interrupt_enable(level); - return RT_EOK; - } - pin_irq_handler_tab[irqindex].pin = -1; - pin_irq_handler_tab[irqindex].hdr = RT_NULL; - pin_irq_handler_tab[irqindex].mode = 0; - pin_irq_handler_tab[irqindex].args = RT_NULL; - rt_hw_interrupt_enable(level); - - return RT_EOK; -} - -static rt_err_t at32_pin_irq_enable(struct rt_device *device, rt_base_t pin, - rt_uint32_t enabled) -{ - gpio_init_type gpio_init_struct; - exint_init_type exint_init_struct; - gpio_type *gpio_port; - IRQn_Type irqn; - uint16_t gpio_pin; - const struct pin_irq_map *irqmap; - rt_base_t level; - rt_int32_t irqindex = -1; - - if (PIN_PORT(pin) < PIN_ATPORT_MAX) - { - gpio_port = PIN_ATPORT(pin); - gpio_pin = PIN_ATPIN(pin); - } - else - { - return -RT_EINVAL; - } - - if (enabled == PIN_IRQ_ENABLE) - { - irqindex = bit2bitno(gpio_pin); - if (irqindex < 0 || irqindex >= ITEM_NUM(pin_irq_map)) - { - return -RT_EINVAL; - } - - level = rt_hw_interrupt_disable(); - - if (pin_irq_handler_tab[irqindex].pin == -1) - { - rt_hw_interrupt_enable(level); - return -RT_EINVAL; - } - - irqmap = &pin_irq_map[irqindex]; - - /* configure gpio_init_struct */ - gpio_default_para_init(&gpio_init_struct); - exint_default_para_init(&exint_init_struct); - - gpio_init_struct.gpio_pins = irqmap->pinbit; - gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER; - exint_init_struct.line_select = irqmap->pinbit; - exint_init_struct.line_mode = EXINT_LINE_INTERRUPUT; - exint_init_struct.line_enable = TRUE; - switch (pin_irq_handler_tab[irqindex].mode) - { - case PIN_IRQ_MODE_RISING: - exint_init_struct.line_polarity = EXINT_TRIGGER_RISING_EDGE; - break; - case PIN_IRQ_MODE_FALLING: - exint_init_struct.line_polarity = EXINT_TRIGGER_FALLING_EDGE; - break; - case PIN_IRQ_MODE_RISING_FALLING: - exint_init_struct.line_polarity = EXINT_TRIGGER_BOTH_EDGE; - break; - } - gpio_init(gpio_port, &gpio_init_struct); - - gpio_exint_line_config(PIN_ATPORTSOURCE(pin), PIN_ATPINSOURCE(pin)); - - exint_init(&exint_init_struct); - - nvic_irq_enable(irqmap->irqno, 5, 0); - pin_irq_enable_mask |= irqmap->pinbit; - - rt_hw_interrupt_enable(level); - } - else if (enabled == PIN_IRQ_DISABLE) - { - irqmap = get_pin_irq_map(gpio_pin); - if (irqmap == RT_NULL) - { - return -RT_EINVAL; - } - - level = rt_hw_interrupt_disable(); - - pin_irq_enable_mask &= ~irqmap->pinbit; - - - if ((irqmap->pinbit >= GPIO_PINS_5) && (irqmap->pinbit <= GPIO_PINS_9)) - { - if (!(pin_irq_enable_mask & (GPIO_PINS_5 | GPIO_PINS_6 | GPIO_PINS_7 | GPIO_PINS_8 | GPIO_PINS_9))) - { - irqn = irqmap->irqno; - } - } - else if ((irqmap->pinbit >= GPIO_PINS_10) && (irqmap->pinbit <= GPIO_PINS_15)) - { - if (!(pin_irq_enable_mask & (GPIO_PINS_10 | GPIO_PINS_11 | GPIO_PINS_12 | GPIO_PINS_13 | GPIO_PINS_14 | GPIO_PINS_15))) - { - irqn = irqmap->irqno; - } - } - else - { - irqn = irqmap->irqno; - } - nvic_irq_disable(irqn); - rt_hw_interrupt_enable(level); - } - else - { - return -RT_EINVAL; - } - - return RT_EOK; -} - -const static struct rt_pin_ops _at32_pin_ops = -{ - at32_pin_mode, - at32_pin_write, - at32_pin_read, - at32_pin_attach_irq, - at32_pin_dettach_irq, - at32_pin_irq_enable, - RT_NULL, -}; - -rt_inline void pin_irq_handler(int irqno) -{ - exint_flag_clear(pin_irq_map[irqno].lineno); - if (pin_irq_handler_tab[irqno].hdr) - { - pin_irq_handler_tab[irqno].hdr(pin_irq_handler_tab[irqno].args); - } -} - -void gpio_exint_handler(uint16_t GPIO_Pin) -{ - pin_irq_handler(bit2bitno(GPIO_Pin)); -} - -void EXINT0_IRQHandler(void) -{ - rt_interrupt_enter(); - gpio_exint_handler(GPIO_PINS_0); - rt_interrupt_leave(); -} - -void EXINT1_IRQHandler(void) -{ - rt_interrupt_enter(); - gpio_exint_handler(GPIO_PINS_1); - rt_interrupt_leave(); -} - -void EXINT2_IRQHandler(void) -{ - rt_interrupt_enter(); - gpio_exint_handler(GPIO_PINS_2); - rt_interrupt_leave(); -} - -void EXINT3_IRQHandler(void) -{ - rt_interrupt_enter(); - gpio_exint_handler(GPIO_PINS_3); - rt_interrupt_leave(); -} - -void EXINT4_IRQHandler(void) -{ - rt_interrupt_enter(); - gpio_exint_handler(GPIO_PINS_4); - rt_interrupt_leave(); -} - -void EXINT9_5_IRQHandler(void) -{ - rt_interrupt_enter(); - if (RESET != exint_flag_get(EXINT_LINE_5)) - { - gpio_exint_handler(GPIO_PINS_5); - } - if (RESET != exint_flag_get(EXINT_LINE_6)) - { - gpio_exint_handler(GPIO_PINS_6); - } - if (RESET != exint_flag_get(EXINT_LINE_7)) - { - gpio_exint_handler(GPIO_PINS_7); - } - if (RESET != exint_flag_get(EXINT_LINE_8)) - { - gpio_exint_handler(GPIO_PINS_8); - } - if (RESET != exint_flag_get(EXINT_LINE_9)) - { - gpio_exint_handler(GPIO_PINS_9); - } - rt_interrupt_leave(); -} - -void EXINT15_10_IRQHandler(void) -{ - rt_interrupt_enter(); - if (RESET != exint_flag_get(EXINT_LINE_10)) - { - gpio_exint_handler(GPIO_PINS_10); - } - if (RESET != exint_flag_get(EXINT_LINE_11)) - { - gpio_exint_handler(GPIO_PINS_11); - } - if (RESET != exint_flag_get(EXINT_LINE_12)) - { - gpio_exint_handler(GPIO_PINS_12); - } - if (RESET != exint_flag_get(EXINT_LINE_13)) - { - gpio_exint_handler(GPIO_PINS_13); - } - if (RESET != exint_flag_get(EXINT_LINE_14)) - { - gpio_exint_handler(GPIO_PINS_14); - } - if (RESET != exint_flag_get(EXINT_LINE_15)) - { - gpio_exint_handler(GPIO_PINS_15); - } - rt_interrupt_leave(); -} - -int rt_hw_pin_init(void) -{ - -#ifdef GPIOA - crm_periph_clock_enable(CRM_GPIOA_PERIPH_CLOCK, TRUE); -#endif -#ifdef GPIOB - crm_periph_clock_enable(CRM_GPIOB_PERIPH_CLOCK, TRUE); -#endif -#ifdef GPIOC - crm_periph_clock_enable(CRM_GPIOC_PERIPH_CLOCK, TRUE); -#endif -#ifdef GPIOD - crm_periph_clock_enable(CRM_GPIOD_PERIPH_CLOCK, TRUE); -#endif -#ifdef GPIOE - crm_periph_clock_enable(CRM_GPIOE_PERIPH_CLOCK, TRUE); -#endif -#ifdef GPIOF - crm_periph_clock_enable(CRM_GPIOF_PERIPH_CLOCK, TRUE); -#endif -#ifdef GPIOG - crm_periph_clock_enable(CRM_GPIOG_PERIPH_CLOCK, TRUE); -#endif - - crm_periph_clock_enable(CRM_IOMUX_PERIPH_CLOCK, TRUE); - - return rt_device_pin_register("pin", &_at32_pin_ops, RT_NULL); -} - -INIT_BOARD_EXPORT(rt_hw_pin_init); - -#endif /* RT_USING_PIN */ diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_hwtimer.c b/bsp/at32/libraries/f413/rt_drivers/drv_hwtimer.c deleted file mode 100644 index 56bd666745..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_hwtimer.c +++ /dev/null @@ -1,383 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-11 shelton first version - */ - -#include "board.h" -#include "drv_hwtimer.h" - -//#define DRV_DEBUG -#define LOG_TAG "drv.hwtimer" -#include <drv_log.h> - -#ifdef BSP_USING_HWTIMER - -enum -{ -#ifdef BSP_USING_HWTMR1 - TMR1_INDEX, -#endif - -#ifdef BSP_USING_HWTMR2 - TMR2_INDEX, -#endif - -#ifdef BSP_USING_HWTMR3 - TMR3_INDEX, -#endif - -#ifdef BSP_USING_HWTMR4 - TMR4_INDEX, -#endif - -#ifdef BSP_USING_HWTMR5 - TMR5_INDEX, -#endif - -#ifdef BSP_USING_HW_TMR8 - TMR8_INDEX, -#endif - -#ifdef BSP_USING_HWTMR9 - TMR9_INDEX, -#endif - -#ifdef BSP_USING_HWTMR10 - TMR10_INDEX, -#endif - -#ifdef BSP_USING_HWTMR11 - TMR11_INDEX, -#endif -}; - -struct at32_hwtimer -{ - rt_hwtimer_t tmr_device; - tmr_type* tmr_x; - IRQn_Type tmr_irqn; - char *name; -}; - -static struct at32_hwtimer at32_hwtimer_obj[] = -{ -#ifdef BSP_USING_HWTMR1 - TMR1_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR2 - TMR2_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR3 - TMR3_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR4 - TMR4_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR5 - TMR5_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR8 - TMR8_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR9 - TMR9_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR10 - TMR10_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR11 - TMR11_CONFIG, -#endif -}; - -static void tmr_pclk_get(rt_uint32_t *pclk1_doubler, rt_uint32_t *pclk2_doubler) -{ - crm_clocks_freq_type clocks_struct; - - *pclk1_doubler = 1; - *pclk2_doubler = 1; - - crm_clocks_freq_get(&clocks_struct); - - if(clocks_struct.ahb_freq != clocks_struct.apb1_freq) - { - *pclk1_doubler = 2; - } - - if(clocks_struct.ahb_freq != clocks_struct.apb2_freq) - { - *pclk2_doubler = 2; - } -} - -static void at32_timer_init(struct rt_hwtimer_device *timer, rt_uint32_t state) -{ - crm_clocks_freq_type clocks_struct; - rt_uint32_t pclk1_doubler = 0, pclk2_doubler = 0; - rt_uint32_t prescaler_value = 0, tmr_clock = 0; - tmr_type *tmr_x = RT_NULL; - struct at32_hwtimer *tmr_device = RT_NULL; - - RT_ASSERT(timer != RT_NULL); - if (state) - { - tmr_x = (tmr_type *)timer->parent.user_data; - tmr_device = (struct at32_hwtimer *)timer; - - /* timer clock enable */ - at32_msp_hwtmr_init(tmr_x); - - /* get timer clock */ - tmr_pclk_get(&pclk1_doubler, &pclk2_doubler); - crm_clocks_freq_get(&clocks_struct); - if((tmr_x == TMR1) || (tmr_x == TMR8) || (tmr_x == TMR9) || (tmr_x == TMR10) || (tmr_x == TMR11)) - { - tmr_clock = clocks_struct.apb2_freq * pclk2_doubler; - } - else - { - tmr_clock = clocks_struct.apb1_freq * pclk1_doubler; - } - /* set timer clock is 1mhz */ - prescaler_value = (uint32_t)(tmr_clock / 10000) - 1; - tmr_base_init(tmr_x, 10000 - 1, prescaler_value); - tmr_clock_source_div_set(tmr_x, TMR_CLOCK_DIV1); - tmr_repetition_counter_set(tmr_x, 0); - - if (timer->info->cntmode == HWTIMER_CNTMODE_UP) - { - tmr_cnt_dir_set(tmr_x, TMR_COUNT_UP); - } - else - { - tmr_cnt_dir_set(tmr_x, TMR_COUNT_DOWN); - } - - /* enable the timer global interrupt and clear flag */ - nvic_irq_enable(tmr_device->tmr_irqn, 2, 0); - - tmr_interrupt_enable(tmr_x, TMR_OVF_INT, TRUE); - tmr_flag_clear(tmr_x, TMR_OVF_INT); - - LOG_D("%s init success", tmr_device->name); - } -} - -static rt_err_t at32_timer_start(rt_hwtimer_t *timer, rt_uint32_t pr, rt_hwtimer_mode_t opmode) -{ - rt_err_t result = RT_EOK; - tmr_type *tmr_x = RT_NULL; - - RT_ASSERT(timer != RT_NULL); - tmr_x = (tmr_type *)timer->parent.user_data; - - /* set tmr_x count */ - tmr_counter_value_set(tmr_x, 0); - /* set tmr_x period register */ - tmr_period_value_set(tmr_x, pr - 1); - - if (opmode == HWTIMER_MODE_ONESHOT) - { - /* set timer to one cycle mode */ - tmr_one_cycle_mode_enable(tmr_x, TRUE); - } - else - { - /* set timer to period mode */ - tmr_one_cycle_mode_enable(tmr_x, FALSE); - } - - /* start timer */ - tmr_counter_enable(tmr_x, TRUE); - - return result; -} - -static void at32_timer_stop(rt_hwtimer_t *timer) -{ - tmr_type *tmr_x = RT_NULL; - - RT_ASSERT(timer != RT_NULL); - tmr_x = (tmr_type *)timer->parent.user_data; - - /* stop timer */ - tmr_counter_enable(tmr_x, FALSE); - - /* set tmr_x count */ - tmr_counter_value_set(tmr_x, 0); -} - -static rt_uint32_t at32_timer_counter_get(rt_hwtimer_t *timer) -{ - tmr_type *tmr_x = RT_NULL; - - RT_ASSERT(timer != RT_NULL); - - tmr_x = (tmr_type *)timer->parent.user_data; - - return tmr_counter_value_get(tmr_x); -} - -static rt_err_t at32_timer_ctrl(rt_hwtimer_t *timer, rt_uint32_t cmd, void *arg) -{ - crm_clocks_freq_type clocks_struct; - tmr_type *tmr_x = RT_NULL; - rt_err_t result = RT_EOK; - rt_uint32_t pclk1_doubler = 0, pclk2_doubler = 0, tmr_clock = 0; - - RT_ASSERT(timer != RT_NULL); - RT_ASSERT(arg != RT_NULL); - - tmr_x = (tmr_type *)timer->parent.user_data; - - switch(cmd) - { - case HWTIMER_CTRL_FREQ_SET: - { - rt_uint32_t freq; - rt_uint16_t val; - - /* get timer frequence */ - freq = *((rt_uint32_t *)arg); - - /* get timer clock */ - tmr_pclk_get(&pclk1_doubler, &pclk2_doubler); - crm_clocks_freq_get(&clocks_struct); - if((tmr_x == TMR1) || (tmr_x == TMR8) || (tmr_x == TMR9) || (tmr_x == TMR10) || (tmr_x == TMR11)) - { - tmr_clock = clocks_struct.apb2_freq * pclk2_doubler; - } - else - { - tmr_clock = clocks_struct.apb1_freq * pclk1_doubler; - } - /* set div value */ - val = tmr_clock / freq; - - tmr_div_value_set(tmr_x, val - 1); - tmr_event_sw_trigger(tmr_x, TMR_OVERFLOW_SWTRIG); - } - break; - default: - { - result = -RT_ENOSYS; - } - break; - } - - return result; -} - -static const struct rt_hwtimer_info _info = TMR_DEV_INFO_CONFIG; -static const struct rt_hwtimer_ops _ops = -{ - .init = at32_timer_init, - .start = at32_timer_start, - .stop = at32_timer_stop, - .count_get = at32_timer_counter_get, - .control = at32_timer_ctrl, -}; - -#ifdef BSP_USING_HWTMR2 -void TMR2_GLOBAL_IRQHandler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - if(tmr_flag_get(TMR2, TMR_OVF_FLAG) == SET) - { - rt_device_hwtimer_isr(&at32_hwtimer_obj[TMR2_INDEX].tmr_device); - tmr_flag_clear(TMR2, TMR_OVF_FLAG); - } - /* leave interrupt */ - rt_interrupt_leave(); -} -#endif - -#ifdef BSP_USING_HWTMR3 -void TMR3_GLOBAL_IRQHandler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - if(tmr_flag_get(TMR3, TMR_OVF_FLAG) == SET) - { - rt_device_hwtimer_isr(&at32_hwtimer_obj[TMR3_INDEX].tmr_device); - tmr_flag_clear(TMR3, TMR_OVF_FLAG); - } - /* leave interrupt */ - rt_interrupt_leave(); -} -#endif - -#ifdef BSP_USING_HWTMR4 -void TMR4_GLOBAL_IRQHandler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - if(tmr_flag_get(TMR4, TMR_OVF_FLAG) == SET) - { - rt_device_hwtimer_isr(&at32_hwtimer_obj[TMR4_INDEX].tmr_device); - tmr_flag_clear(TMR4, TMR_OVF_FLAG); - } - /* leave interrupt */ - rt_interrupt_leave(); -} -#endif - -#ifdef BSP_USING_HWTMR5 -void TMR5_GLOBAL_IRQHandler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - if(tmr_flag_get(TMR5, TMR_OVF_FLAG) == SET) - { - rt_device_hwtimer_isr(&at32_hwtimer_obj[TMR5_INDEX].tmr_device); - tmr_flag_clear(TMR5, TMR_OVF_FLAG); - } - /* leave interrupt */ - rt_interrupt_leave(); -} -#endif - -static int rt_hw_hwtimer_init(void) -{ - int i = 0; - int result = RT_EOK; - - for (i = 0; i < sizeof(at32_hwtimer_obj) / sizeof(at32_hwtimer_obj[0]); i++) - { - at32_hwtimer_obj[i].tmr_device.info = &_info; - at32_hwtimer_obj[i].tmr_device.ops = &_ops; - if (rt_device_hwtimer_register(&at32_hwtimer_obj[i].tmr_device, at32_hwtimer_obj[i].name, at32_hwtimer_obj[i].tmr_x) == RT_EOK) - { - LOG_D("%s register success", at32_hwtimer_obj[i].name); - } - else - { - LOG_E("%s register failed", at32_hwtimer_obj[i].name); - result = -RT_ERROR; - } - } - - return result; -} - -INIT_BOARD_EXPORT(rt_hw_hwtimer_init); - -#endif /* BSP_USING_HWTIMER */ diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_hwtimer.h b/bsp/at32/libraries/f413/rt_drivers/drv_hwtimer.h deleted file mode 100644 index 624437f559..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_hwtimer.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2020-03-16 Leo first version - */ - -#ifndef __TMR_CONFIG_H__ -#define __TMR_CONFIG_H__ - -#include <rtthread.h> -#include <drivers/hwtimer.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef TMR_DEV_INFO_CONFIG -#define TMR_DEV_INFO_CONFIG \ - { \ - .maxfreq = 1000000, \ - .minfreq = 4000, \ - .maxcnt = 0xFFFF, \ - .cntmode = HWTIMER_CNTMODE_UP, \ - } -#endif /* TIM_DEV_INFO_CONFIG */ - -#ifdef BSP_USING_HWTMR2 -#ifndef TMR2_CONFIG -#define TMR2_CONFIG \ - { \ - .tmr_x = TMR2, \ - .tmr_irqn = TMR2_GLOBAL_IRQn, \ - .name = "timer2", \ - } -#endif /* TMR2_CONFIG */ -#endif /* BSP_USING_HWTMR2 */ - -#ifdef BSP_USING_HWTMR3 -#ifndef TMR3_CONFIG -#define TMR3_CONFIG \ - { \ - .tmr_x = TMR3, \ - .tmr_irqn = TMR3_GLOBAL_IRQn, \ - .name = "timer3", \ - } -#endif /* TMR3_CONFIG */ -#endif /* BSP_USING_HWTMR3 */ - -#ifdef BSP_USING_HWTMR4 -#ifndef TMR4_CONFIG -#define TMR4_CONFIG \ - { \ - .tmr_x = TMR4, \ - .tmr_irqn = TMR4_GLOBAL_IRQn, \ - .name = "timer4", \ - } -#endif /* TMR4_CONFIG */ -#endif /* BSP_USING_HWTMR4 */ - -#ifdef BSP_USING_HWTMR5 -#ifndef TMR5_CONFIG -#define TMR5_CONFIG \ - { \ - .tmr_x = TMR5, \ - .tmr_irqn = TMR5_GLOBAL_IRQn, \ - .name = "timer5", \ - } -#endif /* TMR5_CONFIG */ -#endif /* BSP_USING_HWTMR5 */ - -#ifdef __cplusplus -} -#endif - -#endif /* __TMR_CONFIG_H__ */ - diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_log.h b/bsp/at32/libraries/f413/rt_drivers/drv_log.h deleted file mode 100644 index 45345aa150..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_log.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-21 shelton first version - */ - -/* - * NOTE: DO NOT include this file on the header file. - */ - -#ifndef LOG_TAG -#define DBG_TAG "drv" -#else -#define DBG_TAG LOG_TAG -#endif /* LOG_TAG */ - -#ifdef DRV_DEBUG -#define DBG_LVL DBG_LOG -#else -#define DBG_LVL DBG_INFO -#endif /* DRV_DEBUG */ - -#include <rtdbg.h> diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_pwm.c b/bsp/at32/libraries/f413/rt_drivers/drv_pwm.c deleted file mode 100644 index c0d90be78a..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_pwm.c +++ /dev/null @@ -1,483 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-10 shelton first version - */ - -#include "board.h" - -#ifdef RT_USING_PWM -#include "drv_pwm.h" -#include <drivers/rt_drv_pwm.h> - -//#define DRV_DEBUG -#define LOG_TAG "drv.pwm" -#include <drv_log.h> - -#define MAX_PERIOD 65535 - -struct rt_device_pwm pwm_device; - -struct at32_pwm -{ - struct rt_device_pwm pwm_device; - tmr_type* tmr_x; - rt_uint8_t channel; - char *name; -}; - -enum -{ -#ifdef BSP_USING_PWM1 - PWM1_INDEX, -#endif -#ifdef BSP_USING_PWM2 - PWM2_INDEX, -#endif -#ifdef BSP_USING_PWM3 - PWM3_INDEX, -#endif -#ifdef BSP_USING_PWM4 - PWM4_INDEX, -#endif -#ifdef BSP_USING_PWM5 - PWM5_INDEX, -#endif -#ifdef BSP_USING_PWM8 - PWM8_INDEX, -#endif -#ifdef BSP_USING_PWM9 - PWM9_INDEX, -#endif -#ifdef BSP_USING_PWM10 - PWM10_INDEX, -#endif -#ifdef BSP_USING_PWM11 - PWM11_INDEX, -#endif -}; - -static struct at32_pwm at32_pwm_obj[] = -{ -#ifdef BSP_USING_PWM1 - PWM1_CONFIG, -#endif - -#ifdef BSP_USING_PWM2 - PWM2_CONFIG, -#endif - -#ifdef BSP_USING_PWM3 - PWM3_CONFIG, -#endif - -#ifdef BSP_USING_PWM4 - PWM4_CONFIG, -#endif - -#ifdef BSP_USING_PWM5 - PWM5_CONFIG, -#endif - -#ifdef BSP_USING_PWM8 - PWM8_CONFIG, -#endif - -#ifdef BSP_USING_PWM9 - PWM9_CONFIG, -#endif - -#ifdef BSP_USING_PWM10 - PWM10_CONFIG, -#endif - -#ifdef BSP_USING_PWM11 - PWM11_CONFIG, -#endif -}; - -static rt_err_t drv_pwm_control(struct rt_device_pwm *device, int cmd, void *arg); -static struct rt_pwm_ops drv_ops = -{ - drv_pwm_control -}; - -static void tmr_pclk_get(rt_uint32_t *pclk1_doubler, rt_uint32_t *pclk2_doubler) -{ - crm_clocks_freq_type clocks_struct; - - *pclk1_doubler = 1; - *pclk2_doubler = 1; - - crm_clocks_freq_get(&clocks_struct); - - if(clocks_struct.ahb_freq != clocks_struct.apb1_freq) - { - *pclk1_doubler = 2; - } - - if(clocks_struct.ahb_freq != clocks_struct.apb2_freq) - { - *pclk2_doubler = 2; - } -} - -static rt_err_t drv_pwm_enable(tmr_type* tmr_x, struct rt_pwm_configuration *configuration, rt_bool_t enable) -{ - /* get the value of channel */ - rt_uint32_t channel = configuration->channel; - - if (!configuration->complementary) - { - if (!enable) - { - if(channel == 1) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_1, FALSE); - } - else if(channel == 2) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_2, FALSE); - } - else if(channel == 3) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_3, FALSE); - } - else if(channel == 4) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_4, FALSE); - } - } - else - { - if(channel == 1) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_1, TRUE); - } - else if(channel == 2) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_2, TRUE); - } - else if(channel == 3) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_3, TRUE); - } - else if(channel == 4) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_4, TRUE); - } - } - } - else - { - if (!enable) - { - if(channel == 1) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_1C, FALSE); - } - else if(channel == 2) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_2C, FALSE); - } - else if(channel == 3) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_3C, FALSE); - } - } - else - { - if(channel == 1) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_1C, TRUE); - } - else if(channel == 2) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_2C, TRUE); - } - else if(channel == 3) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_3C, TRUE); - } - } - } - - /* tmr_x enable counter */ - tmr_counter_enable(tmr_x, TRUE); - - return RT_EOK; -} - -static rt_err_t drv_pwm_get(tmr_type* tmr_x, struct rt_pwm_configuration *configuration) -{ - crm_clocks_freq_type clocks_struct; - rt_uint32_t pr, div, c1dt, c2dt, c3dt, c4dt; - rt_uint32_t pclk1_doubler = 0, pclk2_doubler = 0; - rt_uint32_t channel = configuration->channel; - rt_uint64_t tmr_clock; - - pr = tmr_x->pr; - div = tmr_x->div; - c1dt = tmr_x->c1dt; - c2dt = tmr_x->c2dt; - c3dt = tmr_x->c3dt; - c4dt = tmr_x->c4dt; - - tmr_pclk_get(&pclk1_doubler, &pclk2_doubler); - - crm_clocks_freq_get(&clocks_struct); - - if((tmr_x == TMR1) || (tmr_x == TMR8) || (tmr_x == TMR9) || (tmr_x == TMR10) || (tmr_x == TMR11)) - { - tmr_clock = clocks_struct.apb2_freq * pclk2_doubler; - } - else - { - tmr_clock = clocks_struct.apb1_freq * pclk1_doubler; - } - - /* convert nanosecond to frequency and duty cycle. */ - tmr_clock /= 1000000UL; - configuration->period = (pr + 1) * (div + 1) * 1000UL / tmr_clock; - - if(channel == 1) - configuration->pulse = (c1dt) * (div + 1) * 1000UL / tmr_clock; - if(channel == 2) - configuration->pulse = (c2dt) * (div + 1) * 1000UL / tmr_clock; - if(channel == 3) - configuration->pulse = (c3dt) * (div + 1) * 1000UL / tmr_clock; - if(channel == 4) - configuration->pulse = (c4dt) * (div + 1) * 1000UL / tmr_clock; - - return RT_EOK; -} - -static rt_err_t drv_pwm_set(tmr_type* tmr_x, struct rt_pwm_configuration *configuration) -{ - crm_clocks_freq_type clocks_struct; - tmr_output_config_type tmr_oc_config_struct; - tmr_channel_select_type channel_select; - rt_uint32_t period, pulse, channel, tmr_clock; - rt_uint32_t pclk1_doubler = 0, pclk2_doubler = 0; - rt_uint64_t psc; - - /* init timer pin and enable clock */ - at32_msp_tmr_init(tmr_x); - - tmr_pclk_get(&pclk1_doubler, &pclk2_doubler); - - crm_clocks_freq_get(&clocks_struct); - - if((tmr_x == TMR1) || (tmr_x == TMR8) || (tmr_x == TMR9) || (tmr_x == TMR10) || (tmr_x == TMR11)) - { - tmr_clock = clocks_struct.apb2_freq * pclk2_doubler; - } - else - { - tmr_clock = clocks_struct.apb1_freq * pclk1_doubler; - } - - /* convert nanosecond to frequency and duty cycle. */ - tmr_clock /= 1000000UL; - /* calculate pwm period */ - period = (unsigned long long)configuration->period * tmr_clock / 1000ULL;; - psc = period / MAX_PERIOD + 1; - period = period / psc; - /* calculate pulse width */ - pulse = (unsigned long long)configuration->pulse * tmr_clock / psc / 1000ULL; - /* get channel parameter */ - channel = configuration->channel; - - /* tmr base init */ - tmr_base_init(tmr_x, period - 1, psc - 1); - tmr_clock_source_div_set(tmr_x, TMR_CLOCK_DIV1); - - /* pwm mode configuration */ - tmr_output_default_para_init(&tmr_oc_config_struct); - /* config pwm mode */ - tmr_oc_config_struct.oc_mode = TMR_OUTPUT_CONTROL_PWM_MODE_A; - - if (!configuration->complementary) - { - tmr_oc_config_struct.oc_idle_state = FALSE; - tmr_oc_config_struct.oc_output_state = FALSE; - tmr_oc_config_struct.oc_polarity = TMR_OUTPUT_ACTIVE_HIGH; - } - else - { - tmr_oc_config_struct.occ_idle_state = FALSE; - tmr_oc_config_struct.occ_output_state = FALSE; - tmr_oc_config_struct.occ_polarity = TMR_OUTPUT_ACTIVE_HIGH; - } - - if(channel == 1) - { - channel_select = TMR_SELECT_CHANNEL_1; - } - else if(channel == 2) - { - channel_select = TMR_SELECT_CHANNEL_2; - } - else if(channel == 3) - { - channel_select = TMR_SELECT_CHANNEL_3; - } - else if(channel == 4) - { - channel_select = TMR_SELECT_CHANNEL_4; - } - - /* config tmr pwm output */ - tmr_output_channel_config(tmr_x, channel_select, &tmr_oc_config_struct); - tmr_output_channel_buffer_enable(tmr_x, channel_select, TRUE); - tmr_channel_value_set(tmr_x, channel_select, pulse); - /* enable tmr period buffer */ - tmr_period_buffer_enable(tmr_x, TRUE); - /* enable output */ - tmr_output_enable(tmr_x, TRUE); - - return RT_EOK; -} - -static rt_err_t drv_pwm_control(struct rt_device_pwm *device, int cmd, void *arg) -{ - struct rt_pwm_configuration *configuration = (struct rt_pwm_configuration *)arg; - tmr_type *tmr_x = (tmr_type *)device->parent.user_data; - - switch (cmd) - { - case PWMN_CMD_ENABLE: - configuration->complementary = RT_TRUE; - case PWM_CMD_ENABLE: - return drv_pwm_enable(tmr_x, configuration, RT_TRUE); - case PWMN_CMD_DISABLE: - configuration->complementary = RT_FALSE; - case PWM_CMD_DISABLE: - return drv_pwm_enable(tmr_x, configuration, RT_FALSE); - case PWM_CMD_SET: - return drv_pwm_set(tmr_x, configuration); - case PWM_CMD_GET: - return drv_pwm_get(tmr_x, configuration); - default: - return RT_EINVAL; - } -} - -static void pwm_get_channel(void) -{ -#ifdef BSP_USING_PWM1_CH1 - at32_pwm_obj[PWM1_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM1_CH2 - at32_pwm_obj[PWM1_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM1_CH3 - at32_pwm_obj[PWM1_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM1_CH4 - at32_pwm_obj[PWM1_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM2_CH1 - at32_pwm_obj[PWM2_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM2_CH2 - at32_pwm_obj[PWM2_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM2_CH3 - at32_pwm_obj[PWM2_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM2_CH4 - at32_pwm_obj[PWM2_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM3_CH1 - at32_pwm_obj[PWM3_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM3_CH2 - at32_pwm_obj[PWM3_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM3_CH3 - at32_pwm_obj[PWM3_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM3_CH4 - at32_pwm_obj[PWM3_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM4_CH1 - at32_pwm_obj[PWM4_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM4_CH2 - at32_pwm_obj[PWM4_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM4_CH3 - at32_pwm_obj[PWM4_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM4_CH4 - at32_pwm_obj[PWM4_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM5_CH1 - at32_pwm_obj[PWM5_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM5_CH2 - at32_pwm_obj[PWM5_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM5_CH3 - at32_pwm_obj[PWM5_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM5_CH4 - at32_pwm_obj[PWM5_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM8_CH1 - at32_pwm_obj[PWM8_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM8_CH2 - at32_pwm_obj[PWM8_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM8_CH3 - at32_pwm_obj[PWM8_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM8_CH4 - at32_pwm_obj[PWM8_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM9_CH1 - at32_pwm_obj[PWM9_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM9_CH2 - at32_pwm_obj[PWM9_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM9_CH3 - at32_pwm_obj[PWM9_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM9_CH4 - at32_pwm_obj[PWM9_INDEX].channel = 4; -#endif -} - -static int rt_hw_pwm_init(void) -{ - int i = 0; - int result = RT_EOK; - - pwm_get_channel(); - - for(i = 0; i < sizeof(at32_pwm_obj) / sizeof(at32_pwm_obj[0]); i++) - { - if(rt_device_pwm_register(&at32_pwm_obj[i].pwm_device, at32_pwm_obj[i].name, &drv_ops, at32_pwm_obj[i].tmr_x) == RT_EOK) - { - LOG_D("%s register success", at32_pwm_obj[i].name); - } - else - { - LOG_D("%s register failed", at32_pwm_obj[i].name); - result = -RT_ERROR; - } - } - - return result; -} - -INIT_BOARD_EXPORT(rt_hw_pwm_init); - -#endif /* RT_USING_PWM */ diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_pwm.h b/bsp/at32/libraries/f413/rt_drivers/drv_pwm.h deleted file mode 100644 index bd0ff1eaca..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_pwm.h +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-10 leo first version - */ - -#ifndef __PWM_CONFIG_H__ -#define __PWM_CONFIG_H__ - -#include <rtthread.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef BSP_USING_PWM1 -#ifndef PWM1_CONFIG -#define PWM1_CONFIG \ - { \ - .tmr_x = TMR1, \ - .name = "pwm1", \ - .channel = 0 \ - } -#endif /* PWM1_CONFIG */ -#endif /* BSP_USING_PWM1 */ - -#ifdef BSP_USING_PWM2 -#ifndef PWM2_CONFIG -#define PWM2_CONFIG \ - { \ - .tmr_x = TMR2, \ - .name = "pwm2", \ - .channel = 0 \ - } -#endif /* PWM2_CONFIG */ -#endif /* BSP_USING_PWM2 */ - -#ifdef BSP_USING_PWM3 -#ifndef PWM3_CONFIG -#define PWM3_CONFIG \ - { \ - .tmr_x = TMR3, \ - .name = "pwm3", \ - .channel = 0 \ - } -#endif /* PWM3_CONFIG */ -#endif /* BSP_USING_PWM3 */ - -#ifdef BSP_USING_PWM4 -#ifndef PWM4_CONFIG -#define PWM4_CONFIG \ - { \ - .tmr_x = TMR4, \ - .name = "pwm4", \ - .channel = 0 \ - } -#endif /* PWM4_CONFIG */ -#endif /* BSP_USING_PWM4 */ - -#ifdef BSP_USING_PWM5 -#ifndef PWM5_CONFIG -#define PWM5_CONFIG \ - { \ - .tmr_x = TMR5, \ - .name = "pwm5", \ - .channel = 0 \ - } -#endif /* PWM5_CONFIG */ -#endif /* BSP_USING_PWM5 */ - -#ifdef BSP_USING_PWM8 -#ifndef PWM8_CONFIG -#define PWM8_CONFIG \ - { \ - .tmr_x = TMR8, \ - .name = "pwm8", \ - .channel = 12 \ - } -#endif /* PWM8_CONFIG */ -#endif /* BSP_USING_PWM8 */ - -#ifdef BSP_USING_PWM9 -#ifndef PWM9_CONFIG -#define PWM9_CONFIG \ - { \ - .tmr_x = TMR9, \ - .name = "pwm9", \ - .channel = 0 \ - } -#endif /* PWM9_CONFIG */ -#endif /* BSP_USING_PWM9 */ - -#ifdef BSP_USING_PWM10 -#ifndef PWM10_CONFIG -#define PWM10_CONFIG \ - { \ - .tmr_x = TMR10, \ - .name = "pwm10", \ - .channel = 0 \ - } -#endif /* PWM10_CONFIG */ -#endif /* BSP_USING_PWM10 */ - -#ifdef BSP_USING_PWM11 -#ifndef PWM11_CONFIG -#define PWM11_CONFIG \ - { \ - .tmr_x = TMR11, \ - .name = "pwm11", \ - .channel = 0 \ - } -#endif /* PWM11_CONFIG */ -#endif /* BSP_USING_PWM11 */ - -#ifdef __cplusplus -} -#endif - -#endif /* __PWM_CONFIG_H__ */ diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_rtc.c b/bsp/at32/libraries/f413/rt_drivers/drv_rtc.c deleted file mode 100644 index 6589d9fd44..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_rtc.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-10 shelton first version - */ - -#include <rtthread.h> -#include <rtdevice.h> -#include <sys/time.h> -#include "board.h" - -#ifdef BSP_USING_RTC - -#ifndef BKP_DR1 -#define BKP_DR1 RT_NULL -#endif - -//#define DRV_DEBUG -#define LOG_TAG "drv.rtc" -#include <drv_log.h> - -#define BKUP_REG_DATA 0xA5A5 - -static time_t get_rtc_timestamp(void) -{ - return rtc_counter_get(); -} - -static rt_err_t set_rtc_time_stamp(time_t time_stamp) -{ - /* set the rtc counter value */ - rtc_counter_set(time_stamp); - /* wait until last write operation on rtc registers has finished */ - rtc_wait_config_finish(); - LOG_D("set rtc time."); - - bpr_data_write(BPR_DATA1, BKUP_REG_DATA); - return RT_EOK; -} - -static rt_err_t rt_rtc_config(void) -{ - /* allow access to pattery powered domain */ - pwc_battery_powered_domain_access(TRUE); - -#ifdef BSP_RTC_USING_LICK - crm_rtc_clock_select(CRM_RTC_CLOCK_LICK); -#else - crm_rtc_clock_select(CRM_RTC_CLOCK_LEXT); -#endif /* BSP_RTC_USING_LICK */ - /* enable rtc */ - crm_rtc_clock_enable(TRUE); - - /* wait for rtc registers update finish */ - rtc_wait_update_finish(); - /* wait until last write operation on rtc registers has finished */ - rtc_wait_config_finish(); - - if (bpr_data_read(BPR_DATA1) != BKUP_REG_DATA) - { - LOG_I("RTC hasn't been configured, please use <date> command to config."); - /* set rtc divider: set rtc period to 1sec */ - rtc_divider_set(32767); - /* wait until last write operation on rtc registers has finished */ - rtc_wait_config_finish(); - } - return RT_EOK; -} - -static rt_err_t _rtc_init(void) -{ - crm_periph_clock_enable(CRM_PWC_PERIPH_CLOCK, TRUE); - crm_periph_clock_enable(CRM_BPR_PERIPH_CLOCK, TRUE); - -#ifdef BSP_RTC_USING_LICK - crm_clock_source_enable(CRM_CLOCK_SOURCE_LICK, TRUE); - while(crm_flag_get(CRM_LICK_STABLE_FLAG) == RESET); -#else - crm_periph_clock_enable(CRM_PWC_PERIPH_CLOCK, TRUE); - pwc_battery_powered_domain_access(TRUE); - crm_clock_source_enable(CRM_CLOCK_SOURCE_LEXT, TRUE); - while(crm_flag_get(CRM_LEXT_STABLE_FLAG) == RESET); -#endif /* BSP_RTC_USING_LICK */ - if (rt_rtc_config() != RT_EOK) - { - LOG_E("rtc init failed."); - return -RT_ERROR; - } - return RT_EOK; -} - -static rt_err_t _rtc_get_secs(void *args) -{ - *(rt_uint32_t *)args = get_rtc_timestamp(); - LOG_D("RTC: get rtc_time %x\n", *(rt_uint32_t *)args); - - return RT_EOK; -} - -static rt_err_t _rtc_set_secs(void *args) -{ - rt_err_t result = RT_EOK; - - if (set_rtc_time_stamp(*(rt_uint32_t *)args)) - { - result = -RT_ERROR; - } - LOG_D("RTC: set rtc_time %x\n", *(rt_uint32_t *)args); - - return result; -} - -static const struct rt_rtc_ops _rtc_ops = -{ - _rtc_init, - _rtc_get_secs, - _rtc_set_secs, - RT_NULL, - RT_NULL, - RT_NULL, - RT_NULL, -}; - -static rt_rtc_dev_t at32_rtc_dev; - -int rt_hw_rtc_init(void) -{ - rt_err_t result; - at32_rtc_dev.ops = &_rtc_ops; - result = rt_hw_rtc_register(&at32_rtc_dev, "rtc", RT_DEVICE_FLAG_RDWR,RT_NULL); - if (result != RT_EOK) - { - LOG_E("rtc register err code: %d", result); - return result; - } - LOG_D("rtc init success"); - return RT_EOK; -} - -INIT_DEVICE_EXPORT(rt_hw_rtc_init); - -#endif /* BSP_USING_RTC */ diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_sdio.c b/bsp/at32/libraries/f413/rt_drivers/drv_sdio.c deleted file mode 100644 index 2da45546d9..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_sdio.c +++ /dev/null @@ -1,823 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-08 shelton first version - */ - -#include "board.h" -#include "drv_sdio.h" - -#ifdef BSP_USING_SDIO -#if !defined (BSP_USING_SDIO1) -#error "Please define at least one SDIOx" -#endif - -//#define DRV_DEBUG -#define LOG_TAG "drv.sdio" -#include <drv_log.h> - -static struct at32_sdio_config sdio_config = SDIO_BUS_CONFIG; -static struct at32_sdio_class sdio_obj; -static struct rt_mmcsd_host *host; - -#define SDIO_TX_RX_COMPLETE_TIMEOUT_LOOPS (100000) - -#define RT_HW_SDIO_LOCK(_sdio) rt_mutex_take(&_sdio->mutex, RT_WAITING_FOREVER) -#define RT_HW_SDIO_UNLOCK(_sdio) rt_mutex_release(&_sdio->mutex); - -struct sdio_pkg -{ - struct rt_mmcsd_cmd *cmd; - void *buff; - rt_uint32_t flag; -}; - -struct rt_hw_sdio -{ - struct rt_mmcsd_host *host; - struct at32_sdio_des sdio_des; - struct rt_event event; - struct rt_mutex mutex; - struct sdio_pkg *pkg; -}; - -ALIGN(SDIO_ALIGN_LEN) -static rt_uint8_t cache_buf[SDIO_BUFF_SIZE]; - -static rt_uint32_t at32_sdio_clk_get(struct at32_sdio *hw_sdio) -{ - return SDIO_CLOCK_FREQ; -} - -/** - * @brief this function get order from sdio. - * @param data - * @retval sdio order - */ -static int get_order(rt_uint32_t data) -{ - int order = 0; - - switch (data) - { - case 1: - order = 0; - break; - case 2: - order = 1; - break; - case 4: - order = 2; - break; - case 8: - order = 3; - break; - case 16: - order = 4; - break; - case 32: - order = 5; - break; - case 64: - order = 6; - break; - case 128: - order = 7; - break; - case 256: - order = 8; - break; - case 512: - order = 9; - break; - case 1024: - order = 10; - break; - case 2048: - order = 11; - break; - case 4096: - order = 12; - break; - case 8192: - order = 13; - break; - case 16384: - order = 14; - break; - default : - order = 0; - break; - } - - return order; -} - -/** - * @brief this function wait sdio completed. - * @param sdio rt_hw_sdio - * @retval none - */ -static void rt_hw_sdio_wait_completed(struct rt_hw_sdio *sdio) -{ - rt_uint32_t status; - struct rt_mmcsd_cmd *cmd = sdio->pkg->cmd; - struct rt_mmcsd_data *data = cmd->data; - struct at32_sdio *hw_sdio = sdio->sdio_des.hw_sdio; - - if (rt_event_recv(&sdio->event, 0xffffffff, RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, - rt_tick_from_millisecond(5000), &status) != RT_EOK) - { - LOG_E("wait completed timeout"); - cmd->err = -RT_ETIMEOUT; - return; - } - - if (sdio->pkg == RT_NULL) - { - return; - } - - cmd->resp[0] = hw_sdio->resp1; - cmd->resp[1] = hw_sdio->resp2; - cmd->resp[2] = hw_sdio->resp3; - cmd->resp[3] = hw_sdio->resp4; - - if (status & HW_SDIO_ERRORS) - { - if ((status & HW_SDIO_IT_CCRCFAIL) && (resp_type(cmd) & (RESP_R3 | RESP_R4))) - { - cmd->err = RT_EOK; - } - else - { - cmd->err = -RT_ERROR; - } - - if (status & HW_SDIO_IT_CTIMEOUT) - { - cmd->err = -RT_ETIMEOUT; - } - - if (status & HW_SDIO_IT_DCRCFAIL) - { - data->err = -RT_ERROR; - } - - if (status & HW_SDIO_IT_DTIMEOUT) - { - data->err = -RT_ETIMEOUT; - } - - if (cmd->err == RT_EOK) - { - LOG_D("sta:0x%08X [%08X %08X %08X %08X]", status, cmd->resp[0], cmd->resp[1], cmd->resp[2], cmd->resp[3]); - } - else - { - LOG_D("err:0x%08x, %s%s%s%s%s%s%s cmd:%d arg:0x%08x rw:%c len:%d blksize:%d", - status, - status & HW_SDIO_IT_CCRCFAIL ? "CCRCFAIL " : "", - status & HW_SDIO_IT_DCRCFAIL ? "DCRCFAIL " : "", - status & HW_SDIO_IT_CTIMEOUT ? "CTIMEOUT " : "", - status & HW_SDIO_IT_DTIMEOUT ? "DTIMEOUT " : "", - status & HW_SDIO_IT_TXUNDERR ? "TXUNDERR " : "", - status & HW_SDIO_IT_RXOVERR ? "RXOVERR " : "", - status == 0 ? "NULL" : "", - cmd->cmd_code, - cmd->arg, - data ? (data->flags & DATA_DIR_WRITE ? 'w' : 'r') : '-', - data ? data->blks * data->blksize : 0, - data ? data->blksize : 0 - ); - } - } - else - { - cmd->err = RT_EOK; - LOG_D("sta:0x%08X [%08X %08X %08X %08X]", status, cmd->resp[0], cmd->resp[1], cmd->resp[2], cmd->resp[3]); - } -} - -/** - * @brief this function transfer data by dma. - * @param sdio rt_hw_sdio - * @param pkg sdio package - * @retval none - */ -static void rt_hw_sdio_transfer_by_dma(struct rt_hw_sdio *sdio, struct sdio_pkg *pkg) -{ - struct rt_mmcsd_data *data; - int size; - void *buff; - struct at32_sdio *hw_sdio; - - if ((RT_NULL == pkg) || (RT_NULL == sdio)) - { - LOG_E("rt_hw_sdio_transfer_by_dma invalid args"); - return; - } - - data = pkg->cmd->data; - if (RT_NULL == data) - { - LOG_E("rt_hw_sdio_transfer_by_dma invalid args"); - return; - } - - buff = pkg->buff; - if (RT_NULL == buff) - { - LOG_E("rt_hw_sdio_transfer_by_dma invalid args"); - return; - } - hw_sdio = sdio->sdio_des.hw_sdio; - size = data->blks * data->blksize; - - if (data->flags & DATA_DIR_WRITE) - { - sdio->sdio_des.txconfig((rt_uint32_t *)buff, (rt_uint32_t *)&hw_sdio->fifo, size); - hw_sdio->dctrl |= HW_SDIO_DMA_ENABLE; - } - else if (data->flags & DATA_DIR_READ) - { - sdio->sdio_des.rxconfig((rt_uint32_t *)&hw_sdio->fifo, (rt_uint32_t *)buff, size); - hw_sdio->dctrl |= HW_SDIO_DMA_ENABLE | HW_SDIO_DPSM_ENABLE; - } -} - -/** - * @brief this function send command. - * @param sdio rt_hw_sdio - * @param pkg sdio package - * @retval none - */ -static void rt_hw_sdio_send_command(struct rt_hw_sdio *sdio, struct sdio_pkg *pkg) -{ - struct rt_mmcsd_cmd *cmd = pkg->cmd; - struct rt_mmcsd_data *data = cmd->data; - struct at32_sdio *hw_sdio = sdio->sdio_des.hw_sdio; - rt_uint32_t reg_cmd; - - /* save pkg */ - sdio->pkg = pkg; - - LOG_D("CMD:%d ARG:0x%08x RES:%s%s%s%s%s%s%s%s%s rw:%c len:%d blksize:%d", - cmd->cmd_code, - cmd->arg, - resp_type(cmd) == RESP_NONE ? "NONE" : "", - resp_type(cmd) == RESP_R1 ? "R1" : "", - resp_type(cmd) == RESP_R1B ? "R1B" : "", - resp_type(cmd) == RESP_R2 ? "R2" : "", - resp_type(cmd) == RESP_R3 ? "R3" : "", - resp_type(cmd) == RESP_R4 ? "R4" : "", - resp_type(cmd) == RESP_R5 ? "R5" : "", - resp_type(cmd) == RESP_R6 ? "R6" : "", - resp_type(cmd) == RESP_R7 ? "R7" : "", - data ? (data->flags & DATA_DIR_WRITE ? 'w' : 'r') : '-', - data ? data->blks * data->blksize : 0, - data ? data->blksize : 0 - ); - - /* config cmd reg */ - reg_cmd = cmd->cmd_code | HW_SDIO_CPSM_ENABLE; - if (resp_type(cmd) == RESP_NONE) - reg_cmd |= HW_SDIO_RESPONSE_NO; - else if (resp_type(cmd) == RESP_R2) - reg_cmd |= HW_SDIO_RESPONSE_LONG; - else - reg_cmd |= HW_SDIO_RESPONSE_SHORT; - - /* config data reg */ - if (data != RT_NULL) - { - rt_uint32_t dir = 0; - rt_uint32_t size = data->blks * data->blksize; - int order; - - hw_sdio->dctrl = 0; - hw_sdio->dtimer = HW_SDIO_DATATIMEOUT; - hw_sdio->dlen = size; - order = get_order(data->blksize); - dir = (data->flags & DATA_DIR_READ) ? HW_SDIO_TO_HOST : 0; - hw_sdio->dctrl = /* HW_SDIO_IO_ENABLE | */ (order << 4) | dir; - } - - /* transfer config */ - if (data != RT_NULL) - { - rt_hw_sdio_transfer_by_dma(sdio, pkg); - } - - /* open irq */ - hw_sdio->mask |= HW_SDIO_IT_CMDSENT | HW_SDIO_IT_CMDREND | HW_SDIO_ERRORS; - if (data != RT_NULL) - { - hw_sdio->mask |= HW_SDIO_IT_DATAEND; - } - - /* send cmd */ - hw_sdio->arg = cmd->arg; - hw_sdio->cmd = reg_cmd; - - /* wait completed */ - rt_hw_sdio_wait_completed(sdio); - - /* waiting for data to be sent to completion */ - if (data != RT_NULL) - { - volatile rt_uint32_t count = SDIO_TX_RX_COMPLETE_TIMEOUT_LOOPS; - - while (count && (hw_sdio->sta & (HW_SDIO_IT_TXACT | HW_SDIO_IT_RXACT))) - { - count--; - } - - if ((count == 0) || (hw_sdio->sta & HW_SDIO_ERRORS)) - { - cmd->err = -RT_ERROR; - } - } - - /* close irq, keep sdio irq */ - hw_sdio->mask = hw_sdio->mask & HW_SDIO_IT_SDIOIT ? HW_SDIO_IT_SDIOIT : 0x00; - - /* clear pkg */ - sdio->pkg = RT_NULL; -} - -/** - * @brief this function send sdio request. - * @param sdio rt_hw_sdio - * @param req request - * @retval none - */ -static void rt_hw_sdio_request(struct rt_mmcsd_host *host, struct rt_mmcsd_req *req) -{ - struct sdio_pkg pkg; - struct rt_hw_sdio *sdio = host->private_data; - struct rt_mmcsd_data *data; - - RT_HW_SDIO_LOCK(sdio); - - if (req->cmd != RT_NULL) - { - memset(&pkg, 0, sizeof(pkg)); - data = req->cmd->data; - pkg.cmd = req->cmd; - - if (data != RT_NULL) - { - rt_uint32_t size = data->blks * data->blksize; - - RT_ASSERT(size <= SDIO_BUFF_SIZE); - - pkg.buff = data->buf; - if ((rt_uint32_t)data->buf & (SDIO_ALIGN_LEN - 1)) - { - pkg.buff = cache_buf; - if (data->flags & DATA_DIR_WRITE) - { - memcpy(cache_buf, data->buf, size); - } - } - } - - rt_hw_sdio_send_command(sdio, &pkg); - - if ((data != RT_NULL) && (data->flags & DATA_DIR_READ) && ((rt_uint32_t)data->buf & (SDIO_ALIGN_LEN - 1))) - { - memcpy(data->buf, cache_buf, data->blksize * data->blks); - } - } - - if (req->stop != RT_NULL) - { - memset(&pkg, 0, sizeof(pkg)); - pkg.cmd = req->stop; - rt_hw_sdio_send_command(sdio, &pkg); - } - - RT_HW_SDIO_UNLOCK(sdio); - - mmcsd_req_complete(sdio->host); -} - -/** - * @brief this function config sdio. - * @param host rt_mmcsd_host - * @param io_cfg rt_mmcsd_io_cfg - * @retval none - */ -static void rt_hw_sdio_iocfg(struct rt_mmcsd_host *host, struct rt_mmcsd_io_cfg *io_cfg) -{ - rt_uint32_t clkcr, div, clk_src; - rt_uint32_t clk = io_cfg->clock; - struct rt_hw_sdio *sdio = host->private_data; - struct at32_sdio *hw_sdio = sdio->sdio_des.hw_sdio; - - clk_src = sdio->sdio_des.clk_get(sdio->sdio_des.hw_sdio); - if (clk_src < 400 * 1000) - { - LOG_E("The clock rate is too low! rata:%d", clk_src); - return; - } - - if (clk > host->freq_max) clk = host->freq_max; - - if (clk > clk_src) - { - LOG_W("Setting rate is greater than clock source rate."); - clk = clk_src; - } - - LOG_D("clk:%d width:%s%s%s power:%s%s%s", - clk, - io_cfg->bus_width == MMCSD_BUS_WIDTH_8 ? "8" : "", - io_cfg->bus_width == MMCSD_BUS_WIDTH_4 ? "4" : "", - io_cfg->bus_width == MMCSD_BUS_WIDTH_1 ? "1" : "", - io_cfg->power_mode == MMCSD_POWER_OFF ? "OFF" : "", - io_cfg->power_mode == MMCSD_POWER_UP ? "UP" : "", - io_cfg->power_mode == MMCSD_POWER_ON ? "ON" : "" - ); - - RT_HW_SDIO_LOCK(sdio); - - div = clk_src / clk; - if ((clk == 0) || (div == 0)) - { - clkcr = 0; - } - else - { - if (div < 2) - { - div = 2; - } - else if (div > 0x3FF) - { - div = 0x3FF; - } - div -= 2; - clkcr = (div & 0xFF) | ((div & 0x300) << 7) | HW_SDIO_CLK_ENABLE; - } - - if (io_cfg->bus_width == MMCSD_BUS_WIDTH_8) - { - clkcr |= HW_SDIO_BUSWIDE_8B; - } - else if (io_cfg->bus_width == MMCSD_BUS_WIDTH_4) - { - clkcr |= HW_SDIO_BUSWIDE_4B; - } - else - { - clkcr |= HW_SDIO_BUSWIDE_1B; - } - - hw_sdio->clkcr = clkcr; - - switch (io_cfg->power_mode) - { - case MMCSD_POWER_OFF: - hw_sdio->power = HW_SDIO_POWER_OFF; - break; - case MMCSD_POWER_UP: - hw_sdio->power = HW_SDIO_POWER_UP; - break; - case MMCSD_POWER_ON: - hw_sdio->power = HW_SDIO_POWER_ON; - break; - default: - LOG_W("unknown power_mode %d", io_cfg->power_mode); - break; - } - - RT_HW_SDIO_UNLOCK(sdio); -} - -/** - * @brief this function update sdio interrupt. - * @param host rt_mmcsd_host - * @param enable - * @retval none - */ -void rt_hw_sdio_irq_update(struct rt_mmcsd_host *host, rt_int32_t enable) -{ - struct rt_hw_sdio *sdio = host->private_data; - struct at32_sdio *hw_sdio = sdio->sdio_des.hw_sdio; - - if (enable) - { - LOG_D("enable sdio irq"); - hw_sdio->mask |= HW_SDIO_IT_SDIOIT; - } - else - { - LOG_D("disable sdio irq"); - hw_sdio->mask &= ~HW_SDIO_IT_SDIOIT; - } -} - -/** - * @brief this function delect sdcard. - * @param host rt_mmcsd_host - * @retval 0x01 - */ -static rt_int32_t rt_hw_sd_delect(struct rt_mmcsd_host *host) -{ - LOG_D("try to detect device"); - return 0x01; -} - -/** - * @brief this function interrupt process function. - * @param host rt_mmcsd_host - * @retval none - */ -void rt_hw_sdio_irq_process(struct rt_mmcsd_host *host) -{ - int complete = 0; - struct rt_hw_sdio *sdio = host->private_data; - struct at32_sdio *hw_sdio = sdio->sdio_des.hw_sdio; - rt_uint32_t intstatus = hw_sdio->sta; - - if (intstatus & HW_SDIO_ERRORS) - { - hw_sdio->icr = HW_SDIO_ERRORS; - complete = 1; - } - else - { - if (intstatus & HW_SDIO_IT_CMDREND) - { - hw_sdio->icr = HW_SDIO_IT_CMDREND; - - if (sdio->pkg != RT_NULL) - { - if (!sdio->pkg->cmd->data) - { - complete = 1; - } - else if ((sdio->pkg->cmd->data->flags & DATA_DIR_WRITE)) - { - hw_sdio->dctrl |= HW_SDIO_DPSM_ENABLE; - } - } - } - - if (intstatus & HW_SDIO_IT_CMDSENT) - { - hw_sdio->icr = HW_SDIO_IT_CMDSENT; - - if (resp_type(sdio->pkg->cmd) == RESP_NONE) - { - complete = 1; - } - } - - if (intstatus & HW_SDIO_IT_DATAEND) - { - hw_sdio->icr = HW_SDIO_IT_DATAEND; - complete = 1; - } - } - - if ((intstatus & HW_SDIO_IT_SDIOIT) && (hw_sdio->mask & HW_SDIO_IT_SDIOIT)) - { - hw_sdio->icr = HW_SDIO_IT_SDIOIT; - sdio_irq_wakeup(host); - } - - if (complete) - { - hw_sdio->mask &= ~HW_SDIO_ERRORS; - rt_event_send(&sdio->event, intstatus); - } -} - -static const struct rt_mmcsd_host_ops ops = -{ - rt_hw_sdio_request, - rt_hw_sdio_iocfg, - rt_hw_sd_delect, - rt_hw_sdio_irq_update, -}; - -/** - * @brief this function create mmcsd host. - * @param sdio_des at32_sdio_des - * @retval rt_mmcsd_host - */ -struct rt_mmcsd_host *sdio_host_create(struct at32_sdio_des *sdio_des) -{ - struct rt_mmcsd_host *host; - struct rt_hw_sdio *sdio = RT_NULL; - - if ((sdio_des == RT_NULL) || (sdio_des->txconfig == RT_NULL) || (sdio_des->rxconfig == RT_NULL)) - { - LOG_E("L:%d F:%s %s %s %s", - (sdio_des == RT_NULL ? "sdio_des is NULL" : ""), - (sdio_des ? (sdio_des->txconfig ? "txconfig is NULL" : "") : ""), - (sdio_des ? (sdio_des->rxconfig ? "rxconfig is NULL" : "") : "") - ); - return RT_NULL; - } - - sdio = rt_malloc(sizeof(struct rt_hw_sdio)); - if (sdio == RT_NULL) - { - LOG_E("L:%d F:%s malloc rt_hw_sdio fail"); - return RT_NULL; - } - rt_memset(sdio, 0, sizeof(struct rt_hw_sdio)); - - host = mmcsd_alloc_host(); - if (host == RT_NULL) - { - LOG_E("L:%d F:%s mmcsd alloc host fail"); - rt_free(sdio); - return RT_NULL; - } - - rt_memcpy(&sdio->sdio_des, sdio_des, sizeof(struct at32_sdio_des)); - sdio->sdio_des.hw_sdio = (sdio_des->hw_sdio == RT_NULL ? (struct at32_sdio *)SDIO_BASE_ADDRESS : sdio_des->hw_sdio); - sdio->sdio_des.clk_get = (sdio_des->clk_get == RT_NULL ? at32_sdio_clk_get : sdio_des->clk_get); - - rt_event_init(&sdio->event, "sdio", RT_IPC_FLAG_FIFO); - rt_mutex_init(&sdio->mutex, "sdio", RT_IPC_FLAG_PRIO); - - /* set host defautl attributes */ - host->ops = &ops; - host->freq_min = 400 * 1000; - host->freq_max = SDIO_MAX_FREQ; - host->valid_ocr = 0X00FFFF80;/* the voltage range supported is 1.65v-3.6v */ -#ifndef SDIO_USING_1_BIT - host->flags = MMCSD_BUSWIDTH_4 | MMCSD_MUTBLKWRITE | MMCSD_SUP_SDIO_IRQ; -#else - host->flags = MMCSD_MUTBLKWRITE | MMCSD_SUP_SDIO_IRQ; -#endif - host->max_seg_size = SDIO_BUFF_SIZE; - host->max_dma_segs = 1; - host->max_blk_size = 512; - host->max_blk_count = 512; - - /* link up host and sdio */ - sdio->host = host; - host->private_data = sdio; - - rt_hw_sdio_irq_update(host, 1); - - /* ready to change */ - mmcsd_change(host); - - return host; -} - -/** - * @brief this function configures the dmatx. - * @param src: pointer to the source buffer - * @param dst: pointer to the destination buffer - * @param buffer_size: size of tx buffer - * @retval none - */ -void sd_lowlevel_dmatx_config(uint32_t *src, uint32_t *dst, uint32_t buffer_size) -{ - static uint32_t size = 0; - dma_init_type dma_init_struct; - - size += buffer_size * 4; - sdio_obj.cfg = &sdio_config; - - dma_default_para_init(&dma_init_struct); - sdio_obj.dma.handle_tx = sdio_config.dma_tx.dma_channel; - dma_init_struct.direction = DMA_DIR_MEMORY_TO_PERIPHERAL; - dma_init_struct.buffer_size = buffer_size; - dma_init_struct.memory_base_addr = (uint32_t)src; - dma_init_struct.memory_data_width = DMA_MEMORY_DATA_WIDTH_WORD; - dma_init_struct.memory_inc_enable = TRUE; - dma_init_struct.peripheral_base_addr = (uint32_t)dst; - dma_init_struct.peripheral_data_width = DMA_PERIPHERAL_DATA_WIDTH_WORD; - dma_init_struct.peripheral_inc_enable = FALSE; - dma_init_struct.priority = DMA_PRIORITY_MEDIUM; - - nvic_irq_enable(sdio_config.dma_tx.dma_irq, 2, 0); - - dma_init(sdio_obj.dma.handle_tx, &dma_init_struct); - dma_interrupt_enable(sdio_obj.dma.handle_tx, DMA_FDT_INT, TRUE); - dma_channel_enable(sdio_obj.dma.handle_tx, TRUE); -} - -/** - * @brief this function configures the dmarx. - * @param src: pointer to the source buffer - * @param dst: pointer to the destination buffer - * @param buffer_size: size of rx buffer - * @retval none - */ -void sd_lowlevel_dmarx_config(uint32_t *src, uint32_t *dst, uint32_t buffer_size) -{ - sdio_obj.cfg = &sdio_config; - dma_init_type dma_init_struct; - - dma_default_para_init(&dma_init_struct); - sdio_obj.dma.handle_rx = sdio_config.dma_rx.dma_channel; - dma_init_struct.direction = DMA_DIR_PERIPHERAL_TO_MEMORY; - dma_init_struct.buffer_size = buffer_size; - dma_init_struct.memory_base_addr = (uint32_t)dst; - dma_init_struct.memory_data_width = DMA_MEMORY_DATA_WIDTH_WORD; - dma_init_struct.memory_inc_enable = TRUE; - dma_init_struct.peripheral_base_addr = (uint32_t)src; - dma_init_struct.peripheral_data_width = DMA_PERIPHERAL_DATA_WIDTH_WORD; - dma_init_struct.peripheral_inc_enable = FALSE; - dma_init_struct.priority = DMA_PRIORITY_MEDIUM; - - nvic_irq_enable(sdio_config.dma_rx.dma_irq, 2, 0); - - dma_init(sdio_obj.dma.handle_rx, &dma_init_struct); - dma_interrupt_enable(sdio_obj.dma.handle_rx, DMA_FDT_INT, TRUE); - dma_channel_enable(sdio_obj.dma.handle_rx, TRUE); -} - -void DMA2_Channel4_5_IRQHandler(void) -{ - if(dma_flag_get(DMA2_FDT4_FLAG)) - { - dma_flag_clear(DMA2_FDT4_FLAG); - dma_channel_enable(sdio_config.dma_rx.dma_channel, FALSE); - } -} - -/** - * @brief this function get at32 sdio clock. - * @param hw_sdio: at32_sdio - * @retval ahb frequency - */ -static rt_uint32_t at32_sdio_clock_get(struct at32_sdio *hw_sdio) -{ - crm_clocks_freq_type clocks; - - crm_clocks_freq_get(&clocks); - return clocks.ahb_freq; -} - -static rt_err_t dma_tx_config(rt_uint32_t *src, rt_uint32_t *dst, int size) -{ - sd_lowlevel_dmatx_config((uint32_t *)src, (uint32_t *)dst, size / 4); - return RT_EOK; -} - -static rt_err_t dma_rx_config(rt_uint32_t *src, rt_uint32_t *dst, int size) -{ - sd_lowlevel_dmarx_config((uint32_t *)src, (uint32_t *)dst, size / 4); - return RT_EOK; -} - -void SDIO1_IRQHandler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - rt_hw_sdio_irq_process(host); - - /* leave interrupt */ - rt_interrupt_leave(); -} - -int rt_hw_sdio_init(void) -{ - struct at32_sdio_des sdio_des; - struct at32_sdio_config hsd; - - hsd.sdio_x = SDCARD_INSTANCE; - at32_msp_sdio_init((void *)(hsd.sdio_x)); - - nvic_irq_enable(SDIO1_IRQn, 2, 0); - - sdio_des.clk_get = at32_sdio_clock_get; - sdio_des.hw_sdio = (struct at32_sdio *)SDCARD_INSTANCE; - sdio_des.rxconfig = dma_rx_config; - sdio_des.txconfig = dma_tx_config; - - host = sdio_host_create(&sdio_des); - if (host == RT_NULL) - { - LOG_E("host create fail"); - return -1; - } - - return 0; -} - -INIT_DEVICE_EXPORT(rt_hw_sdio_init); - -void at32_mmcsd_change(void) -{ - mmcsd_change(host); -} - -#endif diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_sdio.h b/bsp/at32/libraries/f413/rt_drivers/drv_sdio.h deleted file mode 100644 index f1818c347f..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_sdio.h +++ /dev/null @@ -1,203 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-05-10 shelton first version - */ - -#ifndef _DRV_SDIO_H -#define _DRV_SDIO_H -#include <rtthread.h> -#include "rtdevice.h" -#include <rthw.h> -#include <string.h> -#include <drivers/mmcsd_core.h> -#include <drivers/sdio.h> -#include "at32f413.h" - -#define SDCARD_INSTANCE_TYPE sdio_type - -#define SDCARD_INSTANCE SDIO1 - -#define SDIO_BUFF_SIZE 4096 -#define SDIO_ALIGN_LEN 32 - -#ifndef SDIO_MAX_FREQ -#define SDIO_MAX_FREQ (1000000) -#endif - -#ifndef SDIO_BASE_ADDRESS -#define SDIO_BASE_ADDRESS SDIO1_BASE -#endif - -#ifndef SDIO_CLOCK_FREQ -#define SDIO_CLOCK_FREQ (48U * 1000 * 1000) -#endif - -#ifndef SDIO_BUFF_SIZE -#define SDIO_BUFF_SIZE (4096) -#endif - -#ifndef SDIO_ALIGN_LEN -#define SDIO_ALIGN_LEN (32) -#endif - -#ifndef SDIO_MAX_FREQ -#define SDIO_MAX_FREQ (24 * 1000 * 1000) -#endif - -#define HW_SDIO_IT_CCRCFAIL (0x01U << 0) -#define HW_SDIO_IT_DCRCFAIL (0x01U << 1) -#define HW_SDIO_IT_CTIMEOUT (0x01U << 2) -#define HW_SDIO_IT_DTIMEOUT (0x01U << 3) -#define HW_SDIO_IT_TXUNDERR (0x01U << 4) -#define HW_SDIO_IT_RXOVERR (0x01U << 5) -#define HW_SDIO_IT_CMDREND (0x01U << 6) -#define HW_SDIO_IT_CMDSENT (0x01U << 7) -#define HW_SDIO_IT_DATAEND (0x01U << 8) -#define HW_SDIO_IT_STBITERR (0x01U << 9) -#define HW_SDIO_IT_DBCKEND (0x01U << 10) -#define HW_SDIO_IT_CMDACT (0x01U << 11) -#define HW_SDIO_IT_TXACT (0x01U << 12) -#define HW_SDIO_IT_RXACT (0x01U << 13) -#define HW_SDIO_IT_TXFIFOHE (0x01U << 14) -#define HW_SDIO_IT_RXFIFOHF (0x01U << 15) -#define HW_SDIO_IT_TXFIFOF (0x01U << 16) -#define HW_SDIO_IT_RXFIFOF (0x01U << 17) -#define HW_SDIO_IT_TXFIFOE (0x01U << 18) -#define HW_SDIO_IT_RXFIFOE (0x01U << 19) -#define HW_SDIO_IT_TXDAVL (0x01U << 20) -#define HW_SDIO_IT_RXDAVL (0x01U << 21) -#define HW_SDIO_IT_SDIOIT (0x01U << 22) - -#define HW_SDIO_ERRORS \ - (HW_SDIO_IT_CCRCFAIL | HW_SDIO_IT_CTIMEOUT | \ - HW_SDIO_IT_DCRCFAIL | HW_SDIO_IT_DTIMEOUT | \ - HW_SDIO_IT_RXOVERR | HW_SDIO_IT_TXUNDERR) - -#define HW_SDIO_POWER_OFF (0x00U) -#define HW_SDIO_POWER_UP (0x02U) -#define HW_SDIO_POWER_ON (0x03U) - -#define HW_SDIO_FLOW_ENABLE (0x01U << 14) -#define HW_SDIO_BUSWIDE_1B (0x00U << 11) -#define HW_SDIO_BUSWIDE_4B (0x01U << 11) -#define HW_SDIO_BUSWIDE_8B (0x02U << 11) -#define HW_SDIO_BYPASS_ENABLE (0x01U << 10) -#define HW_SDIO_IDLE_ENABLE (0x01U << 9) -#define HW_SDIO_CLK_ENABLE (0x01U << 8) - -#define HW_SDIO_SUSPEND_CMD (0x01U << 11) -#define HW_SDIO_CPSM_ENABLE (0x01U << 10) -#define HW_SDIO_WAIT_END (0x01U << 9) -#define HW_SDIO_WAIT_INT (0x01U << 8) -#define HW_SDIO_RESPONSE_NO (0x00U << 6) -#define HW_SDIO_RESPONSE_SHORT (0x01U << 6) -#define HW_SDIO_RESPONSE_LONG (0x03U << 6) - -#define HW_SDIO_DATA_LEN_MASK (0x01FFFFFFU) - -#define HW_SDIO_IO_ENABLE (0x01U << 11) -#define HW_SDIO_RWMOD_CK (0x01U << 10) -#define HW_SDIO_RWSTOP_ENABLE (0x01U << 9) -#define HW_SDIO_RWSTART_ENABLE (0x01U << 8) -#define HW_SDIO_DBLOCKSIZE_1 (0x00U << 4) -#define HW_SDIO_DBLOCKSIZE_2 (0x01U << 4) -#define HW_SDIO_DBLOCKSIZE_4 (0x02U << 4) -#define HW_SDIO_DBLOCKSIZE_8 (0x03U << 4) -#define HW_SDIO_DBLOCKSIZE_16 (0x04U << 4) -#define HW_SDIO_DBLOCKSIZE_32 (0x05U << 4) -#define HW_SDIO_DBLOCKSIZE_64 (0x06U << 4) -#define HW_SDIO_DBLOCKSIZE_128 (0x07U << 4) -#define HW_SDIO_DBLOCKSIZE_256 (0x08U << 4) -#define HW_SDIO_DBLOCKSIZE_512 (0x09U << 4) -#define HW_SDIO_DBLOCKSIZE_1024 (0x0AU << 4) -#define HW_SDIO_DBLOCKSIZE_2048 (0x0BU << 4) -#define HW_SDIO_DBLOCKSIZE_4096 (0x0CU << 4) -#define HW_SDIO_DBLOCKSIZE_8192 (0x0DU << 4) -#define HW_SDIO_DBLOCKSIZE_16384 (0x0EU << 4) -#define HW_SDIO_DMA_ENABLE (0x01U << 3) -#define HW_SDIO_STREAM_ENABLE (0x01U << 2) -#define HW_SDIO_TO_HOST (0x01U << 1) -#define HW_SDIO_DPSM_ENABLE (0x01U << 0) - -#define HW_SDIO_DATATIMEOUT (0xF0000000U) - -struct at32_sdio -{ - volatile rt_uint32_t power; - volatile rt_uint32_t clkcr; - volatile rt_uint32_t arg; - volatile rt_uint32_t cmd; - volatile rt_uint32_t respcmd; - volatile rt_uint32_t resp1; - volatile rt_uint32_t resp2; - volatile rt_uint32_t resp3; - volatile rt_uint32_t resp4; - volatile rt_uint32_t dtimer; - volatile rt_uint32_t dlen; - volatile rt_uint32_t dctrl; - volatile rt_uint32_t dcount; - volatile rt_uint32_t sta; - volatile rt_uint32_t icr; - volatile rt_uint32_t mask; - volatile rt_uint32_t reserved0[2]; - volatile rt_uint32_t fifocnt; - volatile rt_uint32_t reserved1[13]; - volatile rt_uint32_t fifo; -}; - -typedef rt_err_t (*dma_txconfig)(rt_uint32_t *src, rt_uint32_t *dst, int size); -typedef rt_err_t (*dma_rxconfig)(rt_uint32_t *src, rt_uint32_t *dst, int size); -typedef rt_uint32_t (*sdio_clk_get)(struct at32_sdio *hw_sdio); - -#define SDIO_BUS_CONFIG \ - { \ - .sdio_x = SDIO1, \ - .dma_rx.dma_crm = CRM_DMA2_PERIPH_CLOCK, \ - .dma_tx.dma_crm = CRM_DMA2_PERIPH_CLOCK, \ - .dma_rx.dma_channel = DMA2_CHANNEL4, \ - .dma_rx.dma_irq = DMA2_Channel4_5_IRQn, \ - .dma_tx.dma_channel = DMA2_CHANNEL4, \ - .dma_tx.dma_irq = DMA2_Channel4_5_IRQn, \ - } - -struct dma_config { - dma_channel_type *dma_channel; - crm_periph_clock_type dma_crm; - IRQn_Type dma_irq; -}; - -struct at32_sdio_des -{ - struct at32_sdio *hw_sdio; - dma_txconfig txconfig; - dma_rxconfig rxconfig; - sdio_clk_get clk_get; -}; - -struct at32_sdio_config -{ - SDCARD_INSTANCE_TYPE *sdio_x; - struct dma_config dma_rx, dma_tx; -}; - -/* at32 sdio dirver class */ -struct at32_sdio_class -{ - struct at32_sdio_des *des; - const struct at32_sdio_config *cfg; - struct rt_mmcsd_host host; - struct - { - dma_channel_type* handle_rx; - dma_channel_type* handle_tx; - } dma; -}; - -extern void at32_mmcsd_change(void); - -#endif diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_soft_i2c.c b/bsp/at32/libraries/f413/rt_drivers/drv_soft_i2c.c deleted file mode 100644 index faec0d3df2..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_soft_i2c.c +++ /dev/null @@ -1,218 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-09 shelton first version - */ - -#include "board.h" -#include "drv_soft_i2c.h" - -#ifdef RT_USING_I2C - -#define LOG_TAG "drv.i2c" -#include <drv_log.h> - -#if !defined(BSP_USING_I2C1) && !defined(BSP_USING_I2C2) && \ - !defined(BSP_USING_I2C3) -#error "Please define at least one BSP_USING_I2Cx" -#endif - -static const struct at32_soft_i2c_config soft_i2c_config[] = -{ -#ifdef BSP_USING_I2C1 - I2C1_BUS_CONFIG, -#endif -#ifdef BSP_USING_I2C2 - I2C2_BUS_CONFIG, -#endif -#ifdef BSP_USING_I2C3 - I2C3_BUS_CONFIG, -#endif -}; - -static struct at32_i2c i2c_obj[sizeof(soft_i2c_config) / sizeof(soft_i2c_config[0])]; - -/** - * this function initializes the i2c pin. - * - * @param at32 i2c dirver class. - */ -static void at32_i2c_gpio_init(struct at32_i2c *i2c) -{ - struct at32_soft_i2c_config* cfg = (struct at32_soft_i2c_config*)i2c->ops.data; - - rt_pin_mode(cfg->scl, PIN_MODE_OUTPUT_OD); - rt_pin_mode(cfg->sda, PIN_MODE_OUTPUT_OD); - - rt_pin_write(cfg->scl, PIN_HIGH); - rt_pin_write(cfg->sda, PIN_HIGH); -} - -/** - * this function sets the sda pin. - * - * @param at32 config class. - * @param the sda pin state. - */ -static void at32_set_sda(void *data, rt_int32_t state) -{ - struct at32_soft_i2c_config* cfg = (struct at32_soft_i2c_config*)data; - if (state) - { - rt_pin_write(cfg->sda, PIN_HIGH); - } - else - { - rt_pin_write(cfg->sda, PIN_LOW); - } -} - -/** - * this function sets the scl pin. - * - * @param at32 config class. - * @param the scl pin state. - */ -static void at32_set_scl(void *data, rt_int32_t state) -{ - struct at32_soft_i2c_config* cfg = (struct at32_soft_i2c_config*)data; - if (state) - { - rt_pin_write(cfg->scl, PIN_HIGH); - } - else - { - rt_pin_write(cfg->scl, PIN_LOW); - } -} - -/** - * this function gets the sda pin state. - * - * @param the sda pin state. - */ -static rt_int32_t at32_get_sda(void *data) -{ - struct at32_soft_i2c_config* cfg = (struct at32_soft_i2c_config*)data; - return rt_pin_read(cfg->sda); -} - -/** - * this function gets the scl pin state. - * - * @param the scl pin state. - */ -static rt_int32_t at32_get_scl(void *data) -{ - struct at32_soft_i2c_config* cfg = (struct at32_soft_i2c_config*)data; - return rt_pin_read(cfg->scl); -} - -/** - * the time delay function. - * - * @param microseconds. - */ -static void at32_udelay(rt_uint32_t us) -{ - rt_uint32_t ticks; - rt_uint32_t told, tnow, tcnt = 0; - rt_uint32_t reload = SysTick->LOAD; - - ticks = us * reload / (1000000 / RT_TICK_PER_SECOND); - told = SysTick->VAL; - while (1) - { - tnow = SysTick->VAL; - if (tnow != told) - { - if (tnow < told) - { - tcnt += told - tnow; - } - else - { - tcnt += reload - tnow + told; - } - told = tnow; - if (tcnt >= ticks) - { - break; - } - } - } -} - -static const struct rt_i2c_bit_ops at32_bit_ops_default = -{ - .data = RT_NULL, - .set_sda = at32_set_sda, - .set_scl = at32_set_scl, - .get_sda = at32_get_sda, - .get_scl = at32_get_scl, - .udelay = at32_udelay, - .delay_us = 1, - .timeout = 100 -}; - -/** - * if i2c is locked, this function will unlock it - * - * @param at32 config class - * - * @return RT_EOK indicates successful unlock. - */ -static rt_err_t at32_i2c_bus_unlock(const struct at32_soft_i2c_config *cfg) -{ - rt_int32_t i = 0; - - if (PIN_LOW == rt_pin_read(cfg->sda)) - { - while (i++ < 9) - { - rt_pin_write(cfg->scl, PIN_HIGH); - at32_udelay(100); - rt_pin_write(cfg->scl, PIN_LOW); - at32_udelay(100); - } - } - if (PIN_LOW == rt_pin_read(cfg->sda)) - { - return -RT_ERROR; - } - - return RT_EOK; -} - -/* i2c initialization function */ -int rt_hw_i2c_init(void) -{ - rt_size_t obj_num = sizeof(i2c_obj) / sizeof(struct at32_i2c); - rt_err_t result; - - for (int i = 0; i < obj_num; i++) - { - i2c_obj[i].ops = at32_bit_ops_default; - i2c_obj[i].ops.data = (void*)&soft_i2c_config[i]; - i2c_obj[i].i2c_bus.priv = &i2c_obj[i].ops; - at32_i2c_gpio_init(&i2c_obj[i]); - result = rt_i2c_bit_add_bus(&i2c_obj[i].i2c_bus, soft_i2c_config[i].bus_name); - RT_ASSERT(result == RT_EOK); - at32_i2c_bus_unlock(&soft_i2c_config[i]); - - LOG_D("software simulation %s init done, pin scl: %d, pin sda %d", - soft_i2c_config[i].bus_name, - soft_i2c_config[i].scl, - soft_i2c_config[i].sda); - } - - return RT_EOK; -} - -INIT_BOARD_EXPORT(rt_hw_i2c_init); - -#endif /* RT_USING_I2C */ diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_soft_i2c.h b/bsp/at32/libraries/f413/rt_drivers/drv_soft_i2c.h deleted file mode 100644 index fecab31b4d..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_soft_i2c.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2020-01-09 shelton first version - */ - -#ifndef __DRV_I2C__ -#define __DRV_I2C__ - -#include <rtthread.h> -#include <rthw.h> -#include <rtdevice.h> - -/* at32 config class */ -struct at32_soft_i2c_config -{ - rt_uint8_t scl; - rt_uint8_t sda; - const char *bus_name; -}; -/* at32 i2c dirver class */ -struct at32_i2c -{ - struct rt_i2c_bit_ops ops; - struct rt_i2c_bus_device i2c_bus; -}; - -#ifdef BSP_USING_I2C1 -#define I2C1_BUS_CONFIG \ - { \ - .scl = BSP_I2C1_SCL_PIN, \ - .sda = BSP_I2C1_SDA_PIN, \ - .bus_name = "i2c1", \ - } -#endif - -#ifdef BSP_USING_I2C2 -#define I2C2_BUS_CONFIG \ - { \ - .scl = BSP_I2C2_SCL_PIN, \ - .sda = BSP_I2C2_SDA_PIN, \ - .bus_name = "i2c2", \ - } -#endif - -#ifdef BSP_USING_I2C3 -#define I2C3_BUS_CONFIG \ - { \ - .scl = BSP_I2C3_SCL_PIN, \ - .sda = BSP_I2C3_SDA_PIN, \ - .bus_name = "i2c3", \ - } -#endif - -int rt_hw_i2c_init(void); - -#endif diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_spi.c b/bsp/at32/libraries/f413/rt_drivers/drv_spi.c deleted file mode 100644 index a9a3cc39e5..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_spi.c +++ /dev/null @@ -1,331 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-05-11 shelton first version - */ - -#include "board.h" -#include "drv_spi.h" - -#ifdef RT_USING_SPI -#if !defined(BSP_USING_SPI1) && !defined(BSP_USING_SPI2) -#error "Please define at least one BSP_USING_SPIx" -#endif - -#define ARR_LEN(__N) (sizeof(__N) / sizeof(__N[0])) - -//#define DRV_DEBUG -#define LOG_TAG "drv.pwm" -#include <drv_log.h> - -/* private rt-thread spi ops function */ -static rt_err_t configure(struct rt_spi_device* device, struct rt_spi_configuration* configuration); -static rt_uint32_t xfer(struct rt_spi_device* device, struct rt_spi_message* message); - -static struct rt_spi_ops at32_spi_ops = -{ - configure, - xfer -}; - -/** - * attach the spi device to spi bus, this function must be used after initialization. - */ -rt_err_t rt_hw_spi_device_attach(const char *bus_name, const char *device_name, gpio_type *cs_gpiox, uint16_t cs_gpio_pin) -{ - gpio_init_type gpio_init_struct; - - RT_ASSERT(bus_name != RT_NULL); - RT_ASSERT(device_name != RT_NULL); - - rt_err_t result; - struct rt_spi_device *spi_device; - struct at32_spi_cs *cs_pin; - - /* initialize the cs pin & select the slave*/ - gpio_default_para_init(&gpio_init_struct); - gpio_init_struct.gpio_pins = cs_gpio_pin; - gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT; - gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL; - gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER; - gpio_init(cs_gpiox, &gpio_init_struct); - gpio_bits_set(cs_gpiox, cs_gpio_pin); - - /* attach the device to spi bus */ - spi_device = (struct rt_spi_device *)rt_malloc(sizeof(struct rt_spi_device)); - RT_ASSERT(spi_device != RT_NULL); - cs_pin = (struct at32_spi_cs *)rt_malloc(sizeof(struct at32_spi_cs)); - RT_ASSERT(cs_pin != RT_NULL); - cs_pin->gpio_x = cs_gpiox; - cs_pin->gpio_pin = cs_gpio_pin; - result = rt_spi_bus_attach_device(spi_device, device_name, bus_name, (void *)cs_pin); - - if (result != RT_EOK) - { - LOG_D("%s attach to %s faild, %d\n", device_name, bus_name, result); - } - - RT_ASSERT(result == RT_EOK); - - LOG_D("%s attach to %s done", device_name, bus_name); - - return result; -} - -static rt_err_t configure(struct rt_spi_device* device, - struct rt_spi_configuration* configuration) -{ - struct rt_spi_bus * spi_bus = (struct rt_spi_bus *)device->bus; - struct at32_spi *spi_instance = (struct at32_spi *)spi_bus->parent.user_data; - - spi_init_type spi_init_struct; - - RT_ASSERT(device != RT_NULL); - RT_ASSERT(configuration != RT_NULL); - - at32_msp_spi_init(spi_instance->config->spi_x); - - /* data_width */ - if(configuration->data_width <= 8) - { - spi_init_struct.frame_bit_num = SPI_FRAME_8BIT; - } - else if(configuration->data_width <= 16) - { - spi_init_struct.frame_bit_num = SPI_FRAME_16BIT; - } - else - { - return RT_EIO; - } - - /* baudrate */ - { - uint32_t spi_apb_clock; - uint32_t max_hz; - crm_clocks_freq_type clocks_struct; - - max_hz = configuration->max_hz; - - crm_clocks_freq_get(&clocks_struct); - LOG_D("sys freq: %d\n", clocks_struct.sclk_freq); - LOG_D("max freq: %d\n", max_hz); - - if (spi_instance->config->spi_x == SPI1) - { - spi_apb_clock = clocks_struct.apb2_freq; - LOG_D("pclk2 freq: %d\n", clocks_struct.apb2_freq); - } - else - { - spi_apb_clock = clocks_struct.apb1_freq; - LOG_D("pclk1 freq: %d\n", clocks_struct.apb1_freq); - } - - if(max_hz >= (spi_apb_clock / 2)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_2; - } - else if (max_hz >= (spi_apb_clock / 4)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_4; - } - else if (max_hz >= (spi_apb_clock / 8)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_8; - } - else if (max_hz >= (spi_apb_clock / 16)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_16; - } - else if (max_hz >= (spi_apb_clock / 32)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_32; - } - else if (max_hz >= (spi_apb_clock / 64)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_64; - } - else if (max_hz >= (spi_apb_clock / 128)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_128; - } - else - { - /* min prescaler 256 */ - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_256; - } - } /* baudrate */ - - switch(configuration->mode & RT_SPI_MODE_3) - { - case RT_SPI_MODE_0: - spi_init_struct.clock_phase = SPI_CLOCK_PHASE_1EDGE; - spi_init_struct.clock_polarity = SPI_CLOCK_POLARITY_LOW; - break; - case RT_SPI_MODE_1: - spi_init_struct.clock_phase = SPI_CLOCK_PHASE_2EDGE; - spi_init_struct.clock_polarity = SPI_CLOCK_POLARITY_LOW; - break; - case RT_SPI_MODE_2: - spi_init_struct.clock_phase = SPI_CLOCK_PHASE_1EDGE; - spi_init_struct.clock_polarity = SPI_CLOCK_POLARITY_HIGH; - break; - case RT_SPI_MODE_3: - spi_init_struct.clock_phase = SPI_CLOCK_PHASE_2EDGE; - spi_init_struct.clock_polarity = SPI_CLOCK_POLARITY_HIGH; - break; - } - - /* msb or lsb */ - if(configuration->mode & RT_SPI_MSB) - { - spi_init_struct.first_bit_transmission = SPI_FIRST_BIT_MSB; - } - else - { - spi_init_struct.first_bit_transmission = SPI_FIRST_BIT_LSB; - } - - spi_init_struct.transmission_mode = SPI_TRANSMIT_FULL_DUPLEX; - spi_init_struct.master_slave_mode = SPI_MODE_MASTER; - spi_init_struct.cs_mode_selection = SPI_CS_SOFTWARE_MODE; - /* init spi */ - spi_init(spi_instance->config->spi_x, &spi_init_struct); - - /* enable spi */ - spi_enable(spi_instance->config->spi_x, TRUE); - /* disable spi crc */ - spi_crc_enable(spi_instance->config->spi_x, FALSE); - - return RT_EOK; -}; - -static rt_uint32_t xfer(struct rt_spi_device* device, struct rt_spi_message* message) -{ - struct rt_spi_bus * at32_spi_bus = (struct rt_spi_bus *)device->bus; - struct at32_spi *spi_instance = (struct at32_spi *)at32_spi_bus->parent.user_data; - struct rt_spi_configuration * config = &device->config; - struct at32_spi_cs * at32_spi_cs = device->parent.user_data; - - RT_ASSERT(device != NULL); - RT_ASSERT(message != NULL); - - /* take cs */ - if(message->cs_take) - { - gpio_bits_reset(at32_spi_cs->gpio_x, at32_spi_cs->gpio_pin); - LOG_D("spi take cs\n"); - } - - if(config->data_width <= 8) - { - const rt_uint8_t *send_ptr = message->send_buf; - rt_uint8_t * recv_ptr = message->recv_buf; - rt_uint32_t size = message->length; - - LOG_D("spi poll transfer start: %d\n", size); - - while(size--) - { - rt_uint8_t data = 0xFF; - - if(send_ptr != RT_NULL) - { - data = *send_ptr++; - } - - /* wait until the transmit buffer is empty */ - while(spi_i2s_flag_get(spi_instance->config->spi_x, SPI_I2S_TDBE_FLAG) == RESET); - /* send the byte */ - spi_i2s_data_transmit(spi_instance->config->spi_x, data); - - /* wait until a data is received */ - while(spi_i2s_flag_get(spi_instance->config->spi_x, SPI_I2S_RDBF_FLAG) == RESET); - /* get the received data */ - data = spi_i2s_data_receive(spi_instance->config->spi_x); - - if(recv_ptr != RT_NULL) - { - *recv_ptr++ = data; - } - } - LOG_D("spi poll transfer finsh\n"); - } - else if(config->data_width <= 16) - { - const rt_uint16_t * send_ptr = message->send_buf; - rt_uint16_t * recv_ptr = message->recv_buf; - rt_uint32_t size = message->length; - - while(size--) - { - rt_uint16_t data = 0xFF; - - if(send_ptr != RT_NULL) - { - data = *send_ptr++; - } - - /* wait until the transmit buffer is empty */ - while(spi_i2s_flag_get(spi_instance->config->spi_x, SPI_I2S_TDBE_FLAG) == RESET); - /* send the byte */ - spi_i2s_data_transmit(spi_instance->config->spi_x, data); - - /* wait until a data is received */ - while(spi_i2s_flag_get(spi_instance->config->spi_x, SPI_I2S_RDBF_FLAG) == RESET); - /* get the received data */ - data = spi_i2s_data_receive(spi_instance->config->spi_x); - - if(recv_ptr != RT_NULL) - { - *recv_ptr++ = data; - } - } - } - - /* release cs */ - if(message->cs_release) - { - gpio_bits_set(at32_spi_cs->gpio_x, at32_spi_cs->gpio_pin); - LOG_D("spi release cs\n"); - } - - return message->length; -}; - -static struct at32_spi_config configs[] = { -#ifdef BSP_USING_SPI1 - {SPI1, "spi1"}, -#endif - -#ifdef BSP_USING_SPI2 - {SPI2, "spi2"}, -#endif -}; - -static struct at32_spi spis[sizeof(configs) / sizeof(configs[0])] = {0}; - -int rt_hw_spi_init(void) -{ - int i; - rt_err_t result; - rt_size_t obj_num = sizeof(spis) / sizeof(struct at32_spi); - - for (i = 0; i < obj_num; i++) - { - spis[i].config = &configs[i]; - spis[i].spi_bus.parent.user_data = (void *)&spis[i]; - result = rt_spi_bus_register(&(spis[i].spi_bus), spis[i].config->spi_name, &at32_spi_ops); - } - - return result; -} - -INIT_BOARD_EXPORT(rt_hw_spi_init); - -#endif diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_spi.h b/bsp/at32/libraries/f413/rt_drivers/drv_spi.h deleted file mode 100644 index de182a3b2a..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_spi.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-05-10 shelton first version - */ - -#ifndef __DRV_SPI__ -#define __DRV_SPI__ - -#include <rtthread.h> -#include <drivers/spi.h> -#include "at32f413.h" - -struct at32_spi_config -{ - spi_type *spi_x; - const char *spi_name; -}; - -struct at32_spi -{ - struct at32_spi_config *config; - struct rt_spi_bus spi_bus; -}; - -struct at32_spi_cs -{ - gpio_type *gpio_x; - uint32_t gpio_pin; -}; - -/* public function */ -int rt_hw_spi_init(void); -rt_err_t rt_hw_spi_device_attach(const char *bus_name, const char *device_name, gpio_type *cs_gpiox, uint16_t cs_gpio_pin); - -#endif // __DRV_SPI__ diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_usart.c b/bsp/at32/libraries/f413/rt_drivers/drv_usart.c deleted file mode 100644 index d1fd058dd2..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_usart.c +++ /dev/null @@ -1,295 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-05-11 shelton first version - */ - -#include "board.h" -#include "drv_usart.h" - -#ifdef RT_USING_SERIAL -#if !defined(BSP_USING_UART1) && !defined(BSP_USING_UART2) && \ - !defined(BSP_USING_UART3) && !defined(BSP_USING_UART4) && \ - !defined(BSP_USING_UART5) - #error "Please define at least one BSP_USING_UARTx" -#endif - -struct at32_usart { - char *name; - usart_type* usart_x; - IRQn_Type irqn; - struct rt_serial_device serial; -}; - -enum { -#ifdef BSP_USING_UART1 - UART1_INDEX, -#endif -#ifdef BSP_USING_UART2 - UART2_INDEX, -#endif -#ifdef BSP_USING_UART3 - UART3_INDEX, -#endif -#ifdef BSP_USING_UART4 - UART4_INDEX, -#endif -#ifdef BSP_USING_UART5 - UART5_INDEX, -#endif -}; - -static struct at32_usart usart_config[] = { -#ifdef BSP_USING_UART1 - { "uart1", - USART1, - USART1_IRQn, }, -#endif -#ifdef BSP_USING_UART2 - { "uart2", - USART2, - USART2_IRQn, }, -#endif -#ifdef BSP_USING_UART3 - { "uart3", - USART3, - USART3_IRQn, }, -#endif -#ifdef BSP_USING_UART4 - { "uart4", - UART4, - UART4_IRQn, }, -#endif -#ifdef BSP_USING_UART5 - { "uart5", - UART5, - UART5_IRQn, }, -#endif -}; - -static rt_err_t at32_configure(struct rt_serial_device *serial, - struct serial_configure *cfg) { - struct at32_usart *usart_instance = (struct at32_usart *) serial->parent.user_data; - usart_data_bit_num_type data_bit; - usart_stop_bit_num_type stop_bit; - usart_parity_selection_type parity_mode; - - RT_ASSERT(serial != RT_NULL); - RT_ASSERT(cfg != RT_NULL); - - RT_ASSERT(usart_instance != RT_NULL); - - at32_msp_usart_init((void *)usart_instance->usart_x); - - usart_receiver_enable(usart_instance->usart_x, TRUE); - usart_transmitter_enable(usart_instance->usart_x, TRUE); - - usart_hardware_flow_control_set(usart_instance->usart_x, USART_HARDWARE_FLOW_NONE); - - switch (cfg->data_bits) { - case DATA_BITS_8: - data_bit = USART_DATA_8BITS; - break; - case DATA_BITS_9: - data_bit = USART_DATA_9BITS; - break; - default: - data_bit = USART_DATA_8BITS; - break; - } - - switch (cfg->stop_bits) { - case STOP_BITS_1: - stop_bit = USART_STOP_1_BIT; - break; - case STOP_BITS_2: - stop_bit = USART_STOP_2_BIT; - break; - default: - stop_bit = USART_STOP_1_BIT; - break; - } - - switch (cfg->parity) { - case PARITY_NONE: - parity_mode = USART_PARITY_NONE; - break; - case PARITY_ODD: - parity_mode = USART_PARITY_ODD; - break; - case PARITY_EVEN: - parity_mode = USART_PARITY_EVEN; - break; - default: - parity_mode = USART_PARITY_NONE; - break; - } - usart_parity_selection_config(usart_instance->usart_x, parity_mode); - usart_init(usart_instance->usart_x, cfg->baud_rate, data_bit, stop_bit); - usart_enable(usart_instance->usart_x, TRUE); - - return RT_EOK; -} - -static rt_err_t at32_control(struct rt_serial_device *serial, int cmd, void *arg) { - struct at32_usart *usart; - - RT_ASSERT(serial != RT_NULL); - usart = (struct at32_usart *) serial->parent.user_data; - RT_ASSERT(usart != RT_NULL); - - switch (cmd) { - case RT_DEVICE_CTRL_CLR_INT: - nvic_irq_disable(usart->irqn); - usart_interrupt_enable(usart->usart_x, USART_RDBF_INT, FALSE); - break; - case RT_DEVICE_CTRL_SET_INT: - nvic_irq_enable(usart->irqn, 2, 1); - usart_interrupt_enable(usart->usart_x, USART_RDBF_INT, TRUE); - break; - } - - return RT_EOK; -} - -static int at32_putc(struct rt_serial_device *serial, char ch) { - struct at32_usart *usart; - - RT_ASSERT(serial != RT_NULL); - usart = (struct at32_usart *) serial->parent.user_data; - RT_ASSERT(usart != RT_NULL); - - usart_data_transmit(usart->usart_x, (uint8_t)ch); - while (usart_flag_get(usart->usart_x, USART_TDC_FLAG) == RESET); - - return 1; -} - -static int at32_getc(struct rt_serial_device *serial) { - int ch; - struct at32_usart *usart; - - RT_ASSERT(serial != RT_NULL); - usart = (struct at32_usart *) serial->parent.user_data; - RT_ASSERT(usart != RT_NULL); - - ch = -1; - if (usart_flag_get(usart->usart_x, USART_RDBF_FLAG) != RESET) { - ch = usart_data_receive(usart->usart_x) & 0xff; - } - - return ch; -} - -static const struct rt_uart_ops at32_usart_ops = { - at32_configure, - at32_control, - at32_putc, - at32_getc, - RT_NULL -}; - -static void usart_isr(struct rt_serial_device *serial) { - struct at32_usart *usart_instance; - - RT_ASSERT(serial != RT_NULL); - - usart_instance = (struct at32_usart *) serial->parent.user_data; - RT_ASSERT(usart_instance != RT_NULL); - - if (usart_flag_get(usart_instance->usart_x, USART_RDBF_FLAG) != RESET) { - rt_hw_serial_isr(serial, RT_SERIAL_EVENT_RX_IND); - usart_flag_clear(usart_instance->usart_x, USART_RDBF_FLAG); - } - else - { - if (usart_flag_get(usart_instance->usart_x, USART_CTSCF_FLAG) != RESET) { - usart_flag_clear(usart_instance->usart_x, USART_CTSCF_FLAG); - } - - if (usart_flag_get(usart_instance->usart_x, USART_BFF_FLAG) != RESET) { - usart_flag_clear(usart_instance->usart_x, USART_BFF_FLAG); - } - - if (usart_flag_get(usart_instance->usart_x, USART_TDC_FLAG) != RESET) { - usart_flag_clear(usart_instance->usart_x, USART_TDC_FLAG); - } - } -} - -#ifdef BSP_USING_UART1 -void USART1_IRQHandler(void) { - rt_interrupt_enter(); - - usart_isr(&usart_config[UART1_INDEX].serial); - - rt_interrupt_leave(); -} -#endif -#ifdef BSP_USING_UART2 -void USART2_IRQHandler(void) { - rt_interrupt_enter(); - - usart_isr(&usart_config[UART2_INDEX].serial); - - rt_interrupt_leave(); -} -#endif -#ifdef BSP_USING_UART3 -void USART3_IRQHandler(void) { - rt_interrupt_enter(); - - usart_isr(&usart_config[UART3_INDEX].serial); - - rt_interrupt_leave(); -} -#endif -#ifdef BSP_USING_UART4 -void UART4_IRQHandler(void) { - rt_interrupt_enter(); - - usart_isr(&usart_config[UART4_INDEX].serial); - - rt_interrupt_leave(); -} -#endif -#ifdef BSP_USING_UART5 -void UART5_IRQHandler(void) { - rt_interrupt_enter(); - - usart_isr(&usart_config[UART5_INDEX].serial); - - rt_interrupt_leave(); -} -#endif - -int rt_hw_usart_init(void) { - rt_size_t obj_num; - int index; - - obj_num = sizeof(usart_config) / sizeof(struct at32_usart); - struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT; - rt_err_t result = 0; - - for (index = 0; index < obj_num; index++) { - usart_config[index].serial.ops = &at32_usart_ops; - usart_config[index].serial.config = config; - - /* register uart device */ - result = rt_hw_serial_register(&usart_config[index].serial, - usart_config[index].name, - RT_DEVICE_FLAG_RDWR | - RT_DEVICE_FLAG_INT_RX | - RT_DEVICE_FLAG_INT_TX, - &usart_config[index]); - RT_ASSERT(result == RT_EOK); - } - - return result; -} - -#endif /* BSP_USING_SERIAL */ diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_usart.h b/bsp/at32/libraries/f413/rt_drivers/drv_usart.h deleted file mode 100644 index fc493d42da..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_usart.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2020-03-04 shelton first version - */ - -#ifndef __DRV_UART_H__ -#define __DRV_UART_H__ - -#include <rtthread.h> -#include <rtdevice.h> - -int rt_hw_usart_init(void); - -#endif /* __DRV_USART_H__ */ - -/******************* end of file *******************/ diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_wdt.c b/bsp/at32/libraries/f413/rt_drivers/drv_wdt.c deleted file mode 100644 index 4f03f7cdbb..0000000000 --- a/bsp/at32/libraries/f413/rt_drivers/drv_wdt.c +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-15 shelton first version - */ - -#include <drivers/watchdog.h> -#include "board.h" - -#ifdef RT_USING_WDT - -#define LICK_VALUE 40000 - -//#define DRV_DEBUG -#define LOG_TAG "drv.wdt" -#include <drv_log.h> - -struct at32_wdt_obj -{ - wdt_type *wdt_x; - wdt_division_type div; - rt_uint32_t reload; - rt_uint16_t is_start; -}; -static struct at32_wdt_obj at32_wdt; -static struct rt_watchdog_ops ops; -static rt_watchdog_t watchdog; - -static rt_err_t wdt_init(rt_watchdog_t *wdt) -{ - return RT_EOK; -} - -static rt_err_t wdt_control(rt_watchdog_t *wdt, int cmd, void *arg) -{ - switch (cmd) - { - /* feed the watchdog */ - case RT_DEVICE_CTRL_WDT_KEEPALIVE: - wdt_counter_reload(); - break; - /* set watchdog timeout */ - case RT_DEVICE_CTRL_WDT_SET_TIMEOUT: -#if defined(LICK_VALUE) - if(LICK_VALUE) - { - at32_wdt.reload = (*((rt_uint32_t*)arg)) * LICK_VALUE / 256 ; - } - else - { - LOG_E("Please define the value of LICK_VALUE!"); - } - if(at32_wdt.reload > 0xFFF) - { - LOG_E("wdg set timeout parameter too large, please less than %ds",0xFFF * 256 / LICK_VALUE); - return -RT_EINVAL; - } -#else - #error "Please define the value of LICK_VALUE!" -#endif - if(at32_wdt.is_start) - { - wdt_register_write_enable(TRUE); - wdt_divider_set(at32_wdt.div); - wdt_reload_value_set(at32_wdt.reload); - wdt_counter_reload(); - wdt_register_write_enable(FALSE); - wdt_enable(); - } - break; - case RT_DEVICE_CTRL_WDT_GET_TIMEOUT: -#if defined(LICK_VALUE) - if(LICK_VALUE) - { - (*((rt_uint32_t*)arg)) = at32_wdt.reload * 256 / LICK_VALUE; - } - else - { - LOG_E("Please define the value of LICK_VALUE!"); - } -#else - #error "Please define the value of LICK_VALUE!" -#endif - break; - case RT_DEVICE_CTRL_WDT_START: - wdt_register_write_enable(TRUE); - wdt_divider_set(at32_wdt.div); - wdt_reload_value_set(at32_wdt.reload); - wdt_counter_reload(); - wdt_register_write_enable(FALSE); - wdt_enable(); - at32_wdt.is_start = 1; - break; - default: - LOG_W("This command is not supported."); - return -RT_ERROR; - } - return RT_EOK; -} - -int rt_hw_wdt_init(void) -{ - at32_wdt.wdt_x = WDT; - at32_wdt.div = WDT_CLK_DIV_256; - at32_wdt.reload = 0x00000FFF; - at32_wdt.is_start = 0; - - ops.init = &wdt_init; - ops.control = &wdt_control; - watchdog.ops = &ops; - /* register watchdog device */ - if (rt_hw_watchdog_register(&watchdog, "wdt", RT_DEVICE_FLAG_DEACTIVATE, RT_NULL) != RT_EOK) - { - LOG_E("wdt device register failed."); - return -RT_ERROR; - } - LOG_D("wdt device register success."); - return RT_EOK; -} - -INIT_BOARD_EXPORT(rt_hw_wdt_init); - -#endif /* RT_USING_WDT */ diff --git a/bsp/at32/libraries/f415/SConscript b/bsp/at32/libraries/f415/SConscript deleted file mode 100644 index c7ef7659ec..0000000000 --- a/bsp/at32/libraries/f415/SConscript +++ /dev/null @@ -1,14 +0,0 @@ -# for module compiling -import os -from building import * - -cwd = GetCurrentDir() -objs = [] -list = os.listdir(cwd) - -for d in list: - path = os.path.join(cwd, d) - if os.path.isfile(os.path.join(path, 'SConscript')): - objs = objs + SConscript(os.path.join(d, 'SConscript')) - -Return('objs') diff --git a/bsp/at32/libraries/f415/rt_drivers/SConscript b/bsp/at32/libraries/f415/rt_drivers/SConscript deleted file mode 100644 index 0192065380..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/SConscript +++ /dev/null @@ -1,57 +0,0 @@ -# RT-Thread building script for component -Import('RTT_ROOT') -Import('rtconfig') -from building import * - -cwd = GetCurrentDir() - -# add the general drivers. -src = Split(""" -drv_common.c -""") - -if GetDepend(['RT_USING_PIN']): - src += ['drv_gpio.c'] - -if GetDepend(['RT_USING_WDT']): - src += ['drv_wdt.c'] - -if GetDepend(['BSP_USING_SERIAL']): - src += ['drv_usart.c'] - -if GetDepend(['BSP_USING_PWM']): - src += ['drv_pwm.c'] - -if GetDepend(['BSP_USING_HWTIMER']): - src += ['drv_hwtimer.c'] - -if GetDepend(['BSP_USING_SPI']): - src += ['drv_spi.c'] - -if GetDepend(['RT_USING_I2C', 'RT_USING_I2C_BITOPS']): - if GetDepend('BSP_USING_I2C1') or GetDepend('BSP_USING_I2C2') or GetDepend('BSP_USING_I2C3') or GetDepend('BSP_USING_I2C4'): - src += ['drv_soft_i2c.c'] - -if GetDepend(['BSP_USING_ADC']): - src += Glob('drv_adc.c') - -if GetDepend('BSP_USING_RTC'): - src += ['drv_rtc.c'] - -if GetDepend('BSP_USING_ON_CHIP_FLASH'): - src += ['drv_flash.c'] - -if GetDepend(['BSP_USING_WDT']): - src += ['drv_wdt.c'] - -if GetDepend(['BSP_USING_CAN']): - src += ['drv_can.c'] - -if GetDepend(['BSP_USING_SDIO']): - src += ['drv_sdio.c'] - -CPPPATH = [cwd] - -group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH) - -Return('group') diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_adc.c b/bsp/at32/libraries/f415/rt_drivers/drv_adc.c deleted file mode 100644 index 3ba0e5cbf9..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_adc.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-05-11 shelton first version - */ - -#include "board.h" -#include "drv_adc.h" - -#if defined(BSP_USING_ADC1) - -//#define DRV_DEBUG -#define LOG_TAG "drv.adc" -#include <drv_log.h> - -struct at32_adc -{ - struct rt_adc_device at32_adc_device; - adc_type *adc_x; - char *name; -}; - -static struct at32_adc at32_adc_obj[] = -{ -#ifdef BSP_USING_ADC1 - ADC1_CONFIG, -#endif -}; - -static rt_err_t at32_adc_enabled(struct rt_adc_device *device, rt_uint32_t channel, rt_bool_t enabled) -{ - adc_type *adc_x; - adc_base_config_type adc_config_struct; - - RT_ASSERT(device != RT_NULL); - adc_x = device->parent.user_data; - - at32_msp_adc_init(adc_x); - - /* adc_x configuration */ - adc_base_default_para_init(&adc_config_struct); - adc_config_struct.data_align = ADC_RIGHT_ALIGNMENT; - adc_config_struct.ordinary_channel_length = 1; - adc_config_struct.repeat_mode = FALSE; - adc_config_struct.sequence_mode = FALSE; - adc_base_config(adc_x, &adc_config_struct); - adc_ordinary_conversion_trigger_set(adc_x, ADC12_ORDINARY_TRIG_SOFTWARE, TRUE); - - if (!enabled) - { - /* disable adc_x */ - adc_enable(adc_x, FALSE); - } - else - { - /* enable adc_x */ - adc_enable(adc_x, TRUE); - - /* enable adc_x calibration */ - adc_calibration_init(adc_x); - /* check the end of adc_x reset calibration register */ - while(adc_calibration_init_status_get(adc_x) == SET) - { - } - /* start adc_x calibration */ - adc_calibration_start(adc_x); - /* check the end of adc_x calibration */ - while(adc_calibration_status_get(adc_x) == SET) - { - } - } - - return RT_EOK; -} - -static rt_err_t at32_get_adc_value(struct rt_adc_device *device, rt_uint32_t channel, rt_uint32_t *value) -{ - adc_type *adc_x; - rt_uint32_t timeout = 0; - - RT_ASSERT(device != RT_NULL); - adc_x = device->parent.user_data; - - /* adc_x regular channels configuration */ - adc_ordinary_channel_set(adc_x, (adc_channel_select_type)channel, 1, ADC_SAMPLETIME_239_5); - - /* start adc_x software conversion */ - adc_ordinary_software_trigger_enable(adc_x, TRUE); - - /* wait for the adc to convert */ - while((adc_flag_get(adc_x, ADC_CCE_FLAG) == RESET) && timeout < 0xFFFF) - { - timeout ++; - } - - if(timeout >= 0xFFFF) - { - LOG_D("channel%d converts timeout, please confirm adc_x enabled or not", channel); - } - - /* get adc value */ - *value = adc_ordinary_conversion_data_get(adc_x); - - return RT_EOK; -} - -static const struct rt_adc_ops at_adc_ops = -{ - .enabled = at32_adc_enabled, - .convert = at32_get_adc_value, -}; - -static int rt_hw_adc_init(void) -{ - int result = RT_EOK; - int i = 0; - - for (i = 0; i < sizeof(at32_adc_obj) / sizeof(at32_adc_obj[0]); i++) - { - /* register ADC device */ - if (rt_hw_adc_register(&at32_adc_obj[i].at32_adc_device, at32_adc_obj[i].name, &at_adc_ops, at32_adc_obj[i].adc_x) == RT_EOK) - { - LOG_D("%s register success", at32_adc_obj[i].name); - } - else - { - LOG_E("%s register failed", at32_adc_obj[i].name); - result = -RT_ERROR; - } - - } - - return result; -} -INIT_BOARD_EXPORT(rt_hw_adc_init); - -#endif /* BSP_USING_ADC */ diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_adc.h b/bsp/at32/libraries/f415/rt_drivers/drv_adc.h deleted file mode 100644 index 03daa7b471..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_adc.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-11 leo first version - */ - -#ifndef __ADC_CONFIG_H__ -#define __ADC_CONFIG_H__ - -#include <rtthread.h> -#include <drivers/adc.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#if defined(BSP_USING_ADC1) || defined(BSP_USING_ADC2) || defined(BSP_USING_ADC3) - -#ifndef ADC1_CONFIG -#define ADC1_CONFIG \ - { \ - .adc_x = ADC1, \ - .name = "adc1", \ - } -#endif /* ADC1_CONFIG */ - -#ifndef ADC2_CONFIG -#define ADC2_CONFIG \ - { \ - .adc_x = ADC2, \ - .name = "adc2", \ - } -#endif /* ADC2_CONFIG */ - -#ifndef ADC3_CONFIG -#define ADC3_CONFIG \ - { \ - .adc_x = ADC3, \ - .name = "adc3", \ - } -#endif /* ADC3_CONFIG */ - -#endif - - -#ifdef __cplusplus -} -#endif - -#endif /* __ADC_CONFIG_H__ */ diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_can.c b/bsp/at32/libraries/f415/rt_drivers/drv_can.c deleted file mode 100644 index 71c549ffc2..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_can.c +++ /dev/null @@ -1,677 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-05-11 shelton first version - */ - -#include "drv_can.h" - -#ifdef BSP_USING_CAN - -#define LOG_TAG "drv_can" -#include <drv_log.h> - -/* attention !!! baud calculation example: apbclk / ((ss + bs1 + bs2) * brp), ep: 72 / ((1 + 8 + 3) * 10) = 1MHz*/ -/* attention !!! default apbclk 72 mhz */ -static const struct at32_baud_rate can_baud_rate_tab[] = -{ - {CAN1MBaud, {6 , CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, - {CAN800kBaud, {10 , CAN_RSAW_2TQ, CAN_BTS1_6TQ, CAN_BTS2_2TQ}}, - {CAN500kBaud, {12 , CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, - {CAN250kBaud, {24 , CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, - {CAN125kBaud, {48 , CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, - {CAN100kBaud, {60 , CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, - {CAN50kBaud, {120, CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, - {CAN20kBaud, {300, CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, - {CAN10kBaud, {600, CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}} -}; - -#ifdef BSP_USING_CAN1 -static struct at32_can can_instance1 = -{ - .name = "can1", - .config.can_x = CAN1, -}; -#endif - -static rt_uint32_t get_can_baud_index(rt_uint32_t baud) -{ - rt_uint32_t len, index; - - len = sizeof(can_baud_rate_tab) / sizeof(can_baud_rate_tab[0]); - for (index = 0; index < len; index++) - { - if (can_baud_rate_tab[index].baud_rate == baud) - return index; - } - /* default baud is CAN1MBaud */ - return 0; -} - -static rt_err_t _can_config(struct rt_can_device *can, struct can_configure *cfg) -{ - struct at32_can *can_instance; - rt_uint32_t baud_index; - - RT_ASSERT(can); - RT_ASSERT(cfg); - - can_instance = (struct at32_can *)can->parent.user_data; - RT_ASSERT(can_instance); - - at32_msp_can_init((void *)can_instance->config.can_x); - - baud_index = get_can_baud_index(cfg->baud_rate); - /* get baudrate parameters */ - can_baudrate_default_para_init(&can_instance->config.baudrate_init_struct); - can_instance->config.baudrate_init_struct.rsaw_size = can_baud_rate_tab[baud_index].baud_struct.rsaw_size; - can_instance->config.baudrate_init_struct.bts1_size = can_baud_rate_tab[baud_index].baud_struct.bts1_size; - can_instance->config.baudrate_init_struct.bts2_size = can_baud_rate_tab[baud_index].baud_struct.bts2_size; - can_instance->config.baudrate_init_struct.baudrate_div = can_baud_rate_tab[baud_index].baud_struct.baudrate_div; - /* config can baudrate */ - if(can_baudrate_set(can_instance->config.can_x, &(can_instance->config.baudrate_init_struct)) != SUCCESS) - { - return -RT_ERROR; - } - - /* config can base parameters */ - can_default_para_init(&(can_instance->config.base_init_struct)); - switch (cfg->mode) - { - case RT_CAN_MODE_NORMAL: - can_instance->config.base_init_struct.mode_selection = CAN_MODE_COMMUNICATE; - break; - case RT_CAN_MODE_LISEN: - can_instance->config.base_init_struct.mode_selection = CAN_MODE_LISTENONLY; - break; - case RT_CAN_MODE_LOOPBACK: - can_instance->config.base_init_struct.mode_selection = CAN_MODE_LOOPBACK; - break; - case RT_CAN_MODE_LOOPBACKANLISEN: - can_instance->config.base_init_struct.mode_selection = CAN_MODE_LISTENONLY_LOOPBACK; - break; - } - - can_instance->config.base_init_struct.aebo_enable = TRUE; - can_instance->config.base_init_struct.aed_enable = TRUE; - can_instance->config.base_init_struct.prsf_enable = FALSE; - can_instance->config.base_init_struct.mdrsel_selection = CAN_DISCARDING_FIRST_RECEIVED; - can_instance->config.base_init_struct.mmssr_selection = CAN_SENDING_BY_REQUEST; - /* init can base function */ - if (can_base_init(can_instance->config.can_x, &(can_instance->config.base_init_struct)) != SUCCESS) - { - return -RT_ERROR; - } - - /* config filter parameters */ - can_filter_init(can_instance->config.can_x, &can_instance->config.filter_init_struct); - - return RT_EOK; -} - -static rt_err_t _can_control(struct rt_can_device *can, int cmd, void *arg) -{ - rt_uint32_t argval; - struct at32_can *can_instance; - struct rt_can_filter_config *filter_cfg; - - RT_ASSERT(can != RT_NULL); - can_instance = (struct at32_can *)can->parent.user_data; - RT_ASSERT(can_instance != RT_NULL); - - switch (cmd) - { - case RT_DEVICE_CTRL_CLR_INT: - argval = (rt_uint32_t) arg; - if (argval == RT_DEVICE_FLAG_INT_RX) - { - if (CAN1 == can_instance->config.can_x) - { - nvic_irq_disable(CAN1_RX0_IRQn); - nvic_irq_disable(CAN1_RX1_IRQn); - } - - /* disable interrupt */ - can_interrupt_enable(can_instance->config.can_x, CAN_RF0MIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF0FIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF0OIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF1MIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF1FIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF1OIEN_INT, FALSE); - } - else if (argval == RT_DEVICE_FLAG_INT_TX) - { - if (CAN1 == can_instance->config.can_x) - { - nvic_irq_disable(CAN1_TX_IRQn); - } - - can_interrupt_enable(can_instance->config.can_x, CAN_TCIEN_INT, FALSE); - } - else if (argval == RT_DEVICE_CAN_INT_ERR) - { - if (CAN1 == can_instance->config.can_x) - { - nvic_irq_disable(CAN1_SE_IRQn); - } - - can_interrupt_enable(can_instance->config.can_x, CAN_EAIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_EPIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_BOIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_ETRIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_EOIEN_INT, FALSE); - } - - break; - case RT_DEVICE_CTRL_SET_INT: - argval = (rt_uint32_t) arg; - if (argval == RT_DEVICE_FLAG_INT_RX) - { - can_interrupt_enable(can_instance->config.can_x, CAN_RF0MIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF0FIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF0OIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF1MIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF1FIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF1OIEN_INT, TRUE); - - if (CAN1 == can_instance->config.can_x) - { - nvic_irq_enable(CAN1_RX0_IRQn, 1, 0); - nvic_irq_enable(CAN1_RX1_IRQn, 1, 0); - } - } - else if (argval == RT_DEVICE_FLAG_INT_TX) - { - can_interrupt_enable(can_instance->config.can_x, CAN_TCIEN_INT, TRUE); - - if (CAN1 == can_instance->config.can_x) - { - nvic_irq_enable(CAN1_TX_IRQn, 1, 0); - } - } - else if (argval == RT_DEVICE_CAN_INT_ERR) - { - can_interrupt_enable(can_instance->config.can_x, CAN_EAIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_EPIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_BOIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_ETRIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_EOIEN_INT, TRUE); - - if (CAN1 == can_instance->config.can_x) - { - nvic_irq_enable(CAN1_SE_IRQn, 1, 0); - } - } - break; - case RT_CAN_CMD_SET_FILTER: - { - rt_uint32_t id_h = 0; - rt_uint32_t id_l = 0; - rt_uint32_t mask_h = 0; - rt_uint32_t mask_l = 0; - rt_uint32_t mask_l_tail = 0; - - if (RT_NULL == arg) - { - /* default filter config */ - can_filter_init(can_instance->config.can_x, &can_instance->config.filter_init_struct); - } - else - { - filter_cfg = (struct rt_can_filter_config *)arg; - /* get default filter */ - for (int i = 0; i < filter_cfg->count; i++) - { - if (filter_cfg->items[i].hdr == -1) - { - can_instance->config.filter_init_struct.filter_number = i; - } - else - { - can_instance->config.filter_init_struct.filter_number = filter_cfg->items[i].hdr; - } - /** - * ID | CAN_FxR1[31:24] | CAN_FxR1[23:16] | CAN_FxR1[15:8] | CAN_FxR1[7:0] | - * MASK | CAN_FxR2[31:24] | CAN_FxR1[23:16] | CAN_FxR1[15:8] | CAN_FxR1[7:0] | - * STD ID | STID[10:3] | STDID[2:0] |<- 21bit ->| - * EXT ID | EXTID[28:21] | EXTID[20:13] | EXTID[12:5] | EXTID[4:0] IDE RTR 0| - * @note the 32bit STD ID must << 21 to fill CAN_FxR1[31:21] and EXT ID must << 3, - * -> but the id bit of struct rt_can_filter_item is 29, - * -> so STD id << 18 and EXT id Don't need << 3, when get the high 16bit. - * -> FilterIdHigh : (((STDid << 18) or (EXT id)) >> 13) & 0xFFFF, - * -> FilterIdLow: ((STDid << 18) or (EXT id << 3)) & 0xFFFF. - * @note the mask bit of struct rt_can_filter_item is 32, - * -> FilterMaskIdHigh: (((STD mask << 21) or (EXT mask <<3)) >> 16) & 0xFFFF - * -> FilterMaskIdLow: ((STD mask << 21) or (EXT mask <<3)) & 0xFFFF - */ - if (filter_cfg->items[i].mode == CAN_FILTER_MODE_ID_MASK) - { - mask_l_tail = 0x06; - } - else if (filter_cfg->items[i].mode == CAN_FILTER_MODE_ID_LIST) - { - mask_l_tail = (filter_cfg->items[i].ide << 2) | - (filter_cfg->items[i].rtr << 1); - } - if (filter_cfg->items[i].ide == RT_CAN_STDID) - { - id_h = ((filter_cfg->items[i].id << 18) >> 13) & 0xFFFF; - id_l = ((filter_cfg->items[i].id << 18) | - (filter_cfg->items[i].ide << 2) | - (filter_cfg->items[i].rtr << 1)) & 0xFFFF; - mask_h = ((filter_cfg->items[i].mask << 21) >> 16) & 0xFFFF; - mask_l = ((filter_cfg->items[i].mask << 21) | mask_l_tail) & 0xFFFF; - } - else if (filter_cfg->items[i].ide == RT_CAN_EXTID) - { - id_h = (filter_cfg->items[i].id >> 13) & 0xFFFF; - id_l = ((filter_cfg->items[i].id << 3) | - (filter_cfg->items[i].ide << 2) | - (filter_cfg->items[i].rtr << 1)) & 0xFFFF; - mask_h = ((filter_cfg->items[i].mask << 3) >> 16) & 0xFFFF; - mask_l = ((filter_cfg->items[i].mask << 3) | mask_l_tail) & 0xFFFF; - } - can_instance->config.filter_init_struct.filter_id_high = id_h; - can_instance->config.filter_init_struct.filter_id_low = id_l; - can_instance->config.filter_init_struct.filter_mask_high = mask_h; - can_instance->config.filter_init_struct.filter_mask_low = mask_l; - can_instance->config.filter_init_struct.filter_mode = (can_filter_mode_type)filter_cfg->items[i].mode; - - /* filter conf */ - can_filter_init(can_instance->config.can_x, &can_instance->config.filter_init_struct); - } - } - break; - } - case RT_CAN_CMD_SET_MODE: - argval = (rt_uint32_t) arg; - if (argval != RT_CAN_MODE_NORMAL && - argval != RT_CAN_MODE_LISEN && - argval != RT_CAN_MODE_LOOPBACK && - argval != RT_CAN_MODE_LOOPBACKANLISEN) - { - return -RT_ERROR; - } - if (argval != can_instance->device.config.mode) - { - can_instance->device.config.mode = argval; - return _can_config(&can_instance->device, &can_instance->device.config); - } - break; - case RT_CAN_CMD_SET_BAUD: - argval = (rt_uint32_t) arg; - if (argval != CAN1MBaud && - argval != CAN800kBaud && - argval != CAN500kBaud && - argval != CAN250kBaud && - argval != CAN125kBaud && - argval != CAN100kBaud && - argval != CAN50kBaud && - argval != CAN20kBaud && - argval != CAN10kBaud) - { - return -RT_ERROR; - } - if (argval != can_instance->device.config.baud_rate) - { - can_instance->device.config.baud_rate = argval; - return _can_config(&can_instance->device, &can_instance->device.config); - } - break; - case RT_CAN_CMD_SET_PRIV: - argval = (rt_uint32_t) arg; - if (argval != RT_CAN_MODE_PRIV && - argval != RT_CAN_MODE_NOPRIV) - { - return -RT_ERROR; - } - if (argval != can_instance->device.config.privmode) - { - can_instance->device.config.privmode = argval; - return _can_config(&can_instance->device, &can_instance->device.config); - } - break; - case RT_CAN_CMD_GET_STATUS: - { - rt_uint32_t errtype; - errtype = can_instance->config.can_x->ests; - can_instance->device.status.rcverrcnt = errtype >> 24; - can_instance->device.status.snderrcnt = (errtype >> 16 & 0xFF); - can_instance->device.status.lasterrtype = errtype & 0x70; - can_instance->device.status.errcode = errtype & 0x07; - - rt_memcpy(arg, &can_instance->device.status, sizeof(can_instance->device.status)); - } - break; - } - - return RT_EOK; -} - -static int _can_sendmsg(struct rt_can_device *can, const void *buf, rt_uint32_t box_num) -{ - struct can_config *hcan; - hcan = &((struct at32_can *) can->parent.user_data)->config; - struct rt_can_msg *pmsg = (struct rt_can_msg *) buf; - can_tx_message_type tx_message; - - /* check select mailbox is empty */ - switch (box_num) - { - case CAN_TX_MAILBOX0: - if (hcan->can_x->tsts_bit.tm0ef != 1) - { - /* return function status */ - return -RT_ERROR; - } - break; - case CAN_TX_MAILBOX1: - if (hcan->can_x->tsts_bit.tm1ef != 1) - { - /* return function status */ - return -RT_ERROR; - } - break; - case CAN_TX_MAILBOX2: - if (hcan->can_x->tsts_bit.tm2ef != 1) - { - /* return function status */ - return -RT_ERROR; - } - break; - default: - RT_ASSERT(0); - break; - } - - if (RT_CAN_STDID == pmsg->ide) - { - tx_message.id_type = CAN_ID_STANDARD; - tx_message.standard_id = pmsg->id; - } - else - { - tx_message.id_type = CAN_ID_EXTENDED; - tx_message.extended_id = pmsg->id; - } - - if (RT_CAN_DTR == pmsg->rtr) - { - tx_message.frame_type = CAN_TFT_DATA; - } - else - { - tx_message.frame_type = CAN_TFT_REMOTE; - } - - /* set up the dlc */ - tx_message.dlc = pmsg->len & 0x0FU; - /* set up the data field */ - tx_message.data[0] = (uint32_t)pmsg->data[0]; - tx_message.data[1] = (uint32_t)pmsg->data[1]; - tx_message.data[2] = (uint32_t)pmsg->data[2]; - tx_message.data[3] = (uint32_t)pmsg->data[3]; - tx_message.data[4] = (uint32_t)pmsg->data[4]; - tx_message.data[5] = (uint32_t)pmsg->data[5]; - tx_message.data[6] = (uint32_t)pmsg->data[6]; - tx_message.data[7] = (uint32_t)pmsg->data[7]; - - can_message_transmit(hcan->can_x, &tx_message); - - return RT_EOK; -} - -static int _can_recvmsg(struct rt_can_device *can, void *buf, rt_uint32_t fifo) -{ - struct can_config *hcan; - hcan = &((struct at32_can *) can->parent.user_data)->config; - struct rt_can_msg *pmsg = (struct rt_can_msg *) buf; - can_rx_message_type rx_message; - - RT_ASSERT(can); - - /* get data */ - can_message_receive(hcan->can_x, (can_rx_fifo_num_type)fifo, &rx_message); - - pmsg->data[0] = rx_message.data[0]; - pmsg->data[1] = rx_message.data[1]; - pmsg->data[2] = rx_message.data[2]; - pmsg->data[3] = rx_message.data[3]; - pmsg->data[4] = rx_message.data[4]; - pmsg->data[5] = rx_message.data[5]; - pmsg->data[6] = rx_message.data[6]; - pmsg->data[7] = rx_message.data[7]; - - pmsg->len = rx_message.dlc; - pmsg->id = rx_message.id_type; - - if (rx_message.id_type == CAN_ID_STANDARD) - pmsg->id = rx_message.standard_id; - else - pmsg->ide = rx_message.extended_id; - - pmsg->rtr = rx_message.frame_type; - pmsg->hdr = rx_message.filter_index; - - return RT_EOK; -} - -static const struct rt_can_ops _can_ops = -{ - _can_config, - _can_control, - _can_sendmsg, - _can_recvmsg, -}; - -static void _can_rx_isr(struct rt_can_device *can, rt_uint32_t fifo) -{ - struct can_config *hcan; - RT_ASSERT(can); - hcan = &((struct at32_can *) can->parent.user_data)->config; - - switch (fifo) - { - case CAN_RX_FIFO0: - /* save to user list */ - if (can_receive_message_pending_get(hcan->can_x, CAN_RX_FIFO0) && \ - can_flag_get(hcan->can_x, CAN_RF0MN_FLAG)) - { - rt_hw_can_isr(can, RT_CAN_EVENT_RX_IND | fifo << 8); - } - /* check full flag for fifo0 */ - if (can_flag_get(hcan->can_x, CAN_RF0FF_FLAG) == SET) - { - /* clear fifo0 full flag */ - can_flag_clear(hcan->can_x, CAN_RF0FF_FLAG); - } - - /* check overrun flag for fifo0 */ - if (can_flag_get(hcan->can_x, CAN_RF0OF_FLAG) == SET) - { - /* clear fifo0 overrun flag */ - can_flag_clear(hcan->can_x, CAN_RF0OF_FLAG); - rt_hw_can_isr(can, RT_CAN_EVENT_RXOF_IND | fifo << 8); - } - break; - case CAN_RX_FIFO1: - /* save to user list */ - if (can_receive_message_pending_get(hcan->can_x, CAN_RX_FIFO1) && \ - can_flag_get(hcan->can_x, CAN_RF1MN_FLAG)) - { - rt_hw_can_isr(can, RT_CAN_EVENT_RX_IND | fifo << 8); - } - /* check full flag for fifo1 */ - if (can_flag_get(hcan->can_x, CAN_RF1FF_FLAG) == SET) - { - /* clear fifo1 full flag */ - can_flag_clear(hcan->can_x, CAN_RF1FF_FLAG); - } - - /* check overrun flag for fifo1 */ - if (can_flag_get(hcan->can_x, CAN_RF1OF_FLAG) == SET) - { - /* clear fifo1 overrun flag */ - can_flag_clear(hcan->can_x, CAN_RF1OF_FLAG); - rt_hw_can_isr(can, RT_CAN_EVENT_RXOF_IND | fifo << 8); - } - break; - } -} - -#ifdef BSP_USING_CAN1 -/** - * @brief this function handles can1 tx interrupts. transmit fifo0/1/2 is empty can trigger this interrupt - */ -void CAN1_TX_IRQHandler(void) -{ - rt_interrupt_enter(); - struct can_config *hcan; - hcan = &can_instance1.config; - if (can_flag_get(hcan->can_x, CAN_TM0TCF_FLAG) == SET) - { - if (hcan->can_x->tsts_bit.tm0tsf == 1) - { - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_DONE | 0 << 8); - } - else - { - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_FAIL | 0 << 8); - } - /* write 0 to clear transmission status flag */ - can_flag_clear(hcan->can_x, CAN_TM0TCF_FLAG); - } - else if (can_flag_get(hcan->can_x, CAN_TM1TCF_FLAG) == SET) - { - if (hcan->can_x->tsts_bit.tm1tsf == 1) - { - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_DONE | 1 << 8); - } - else - { - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_FAIL | 1 << 8); - } - /* write 0 to clear transmission status flag */ - can_flag_clear(hcan->can_x, CAN_TM1TCF_FLAG); - } - else if (can_flag_get(hcan->can_x, CAN_TM2TCF_FLAG) == SET) - { - if (hcan->can_x->tsts_bit.tm2tsf == 1) - { - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_DONE | 2 << 8); - } - else - { - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_FAIL | 2 << 8); - } - /* write 0 to clear transmission status flag */ - can_flag_clear(hcan->can_x, CAN_TM2TCF_FLAG); - } - rt_interrupt_leave(); -} - -/** - * @brief this function handles can1 rx0 interrupts. - */ -void CAN1_RX0_IRQHandler(void) -{ - rt_interrupt_enter(); - _can_rx_isr(&can_instance1.device, CAN_RX_FIFO0); - rt_interrupt_leave(); -} - -/** - * @brief this function handles can1 rx1 interrupts. - */ -void CAN1_RX1_IRQHandler(void) -{ - rt_interrupt_enter(); - _can_rx_isr(&can_instance1.device, CAN_RX_FIFO1); - rt_interrupt_leave(); -} - -/** - * @brief this function handles can1 sce interrupts. - */ -void CAN1_SE_IRQHandler(void) -{ - rt_uint32_t errtype; - struct can_config *hcan; - - hcan = &can_instance1.config; - errtype = hcan->can_x->ests; - - rt_interrupt_enter(); - - switch ((errtype & 0x70) >> 4) - { - case RT_CAN_BUS_BIT_PAD_ERR: - can_instance1.device.status.bitpaderrcnt++; - break; - case RT_CAN_BUS_FORMAT_ERR: - can_instance1.device.status.formaterrcnt++; - break; - case RT_CAN_BUS_ACK_ERR:/* attention !!! test ack err's unit is transmit unit */ - can_instance1.device.status.ackerrcnt++; - if (!(can_instance1.config.can_x->tsts_bit.tm0tsf == 1)) - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_FAIL | 0 << 8); - else if (!(can_instance1.config.can_x->tsts_bit.tm1tsf == 1)) - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_FAIL | 1 << 8); - else if (!(can_instance1.config.can_x->tsts_bit.tm2tsf == 1)) - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_FAIL | 2 << 8); - break; - case RT_CAN_BUS_IMPLICIT_BIT_ERR: - case RT_CAN_BUS_EXPLICIT_BIT_ERR: - can_instance1.device.status.biterrcnt++; - break; - case RT_CAN_BUS_CRC_ERR: - can_instance1.device.status.crcerrcnt++; - break; - } - - can_instance1.device.status.lasterrtype = errtype & 0x70; - can_instance1.device.status.rcverrcnt = errtype >> 24; - can_instance1.device.status.snderrcnt = (errtype >> 16 & 0xFF); - can_instance1.device.status.errcode = errtype & 0x07; - /* clear error flags */ - can_flag_clear(hcan->can_x, CAN_ETR_FLAG); - rt_interrupt_leave(); -} -#endif - -int rt_hw_can_init(void) -{ - struct can_configure config = CANDEFAULTCONFIG; - config.privmode = RT_CAN_MODE_NOPRIV; - config.ticks = 50; -#ifdef RT_CAN_USING_HDR - config.maxhdr = 14; -#endif - /* config default filter */ - can_filter_init_type filter_conf; - can_filter_default_para_init(&filter_conf); - filter_conf.filter_activate_enable = TRUE; - filter_conf.filter_bit = CAN_FILTER_32BIT; - -#ifdef BSP_USING_CAN1 - filter_conf.filter_number = 0; - can_instance1.config.filter_init_struct = filter_conf; - can_instance1.device.config = config; - - /* register can1 device */ - rt_hw_can_register(&can_instance1.device, - can_instance1.name, - &_can_ops, - &can_instance1); -#endif /* BSP_USING_CAN1 */ - - return 0; -} - -INIT_BOARD_EXPORT(rt_hw_can_init); - -#endif /* BSP_USING_CAN */ diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_common.c b/bsp/at32/libraries/f415/rt_drivers/drv_common.c deleted file mode 100644 index 75404bb74a..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_common.c +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-08 shelton first version - */ - -#include "board.h" -#include "drv_common.h" - -#ifdef RT_USING_SERIAL -#include "drv_usart.h" -#endif - -#define DBG_TAG "drv_common" -#define DBG_LVL DBG_INFO -#include <rtdbg.h> - -#ifdef RT_USING_FINSH -#include <finsh.h> -static void reboot(uint8_t argc, char **argv) -{ - rt_hw_cpu_reset(); -} -MSH_CMD_EXPORT(reboot, Reboot System); -#endif /* RT_USING_FINSH */ - -extern __IO uint32_t uwTick; -static uint32_t _systick_ms = 1; - -/* systick configuration */ -void rt_hw_systick_init(void) -{ - systick_clock_source_config(SYSTICK_CLOCK_SOURCE_AHBCLK_NODIV); - SysTick_Config(system_core_clock / RT_TICK_PER_SECOND); - - nvic_irq_enable(SysTick_IRQn, 0, 0); - - _systick_ms = 1000u / RT_TICK_PER_SECOND; - if(_systick_ms == 0) - _systick_ms = 1; -} - -/** - * this is the timer interrupt service routine. - */ -void SysTick_Handler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - rt_tick_increase(); - - /* leave interrupt */ - rt_interrupt_leave(); -} - -/** - * @brief this function is executed in case of error occurrence. - * @param none - * @retval none - */ -void _Error_Handler(char *s, int num) -{ - /* User can add his own implementation to report the HAL error return state */ - LOG_E("Error_Handler at file:%s num:%d", s, num); - while (1) - { - } -} - -/** - * this function will delay for some us. - * - * @param us the delay time of us - */ -void rt_hw_us_delay(rt_uint32_t us) -{ - rt_uint32_t ticks; - rt_uint32_t told, tnow, tcnt = 0; - rt_uint32_t reload = SysTick->LOAD; - - ticks = us * reload / (1000000 / RT_TICK_PER_SECOND); - told = SysTick->VAL; - while (1) - { - tnow = SysTick->VAL; - if (tnow != told) - { - if (tnow < told) - { - tcnt += told - tnow; - } - else - { - tcnt += reload - tnow + told; - } - told = tnow; - if (tcnt >= ticks) - { - break; - } - } - } -} - -/** - * this function will initial at32 board. - */ -RT_WEAK void rt_hw_board_init() -{ - /* system clock initialization */ - system_clock_config(); - - /* configure nvic priority group */ - nvic_priority_group_config(NVIC_PRIORITY_GROUP_4); - - /* systick init */ - rt_hw_systick_init(); - - /* heap initialization */ -#if defined(RT_USING_HEAP) - rt_system_heap_init((void *)HEAP_BEGIN, (void *)HEAP_END); -#endif - - /* pin driver initialization is open by default */ -#ifdef RT_USING_PIN - rt_hw_pin_init(); -#endif - - /* usart driver initialization is open by default */ -#ifdef RT_USING_SERIAL - rt_hw_usart_init(); -#endif - - /* set the shell console output device */ -#if defined(RT_USING_CONSOLE) && defined(RT_USING_DEVICE) - rt_console_set_device(RT_CONSOLE_DEVICE_NAME); -#endif - - /* board underlying hardware initialization */ -#ifdef RT_USING_COMPONENTS_INIT - rt_components_board_init(); -#endif -} - diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_common.h b/bsp/at32/libraries/f415/rt_drivers/drv_common.h deleted file mode 100644 index c9d725bb52..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_common.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-08 shelton first version - */ - -#ifndef __DRV_COMMON_H__ -#define __DRV_COMMON_H__ - -#include <rtthread.h> -#include <rthw.h> -#ifdef RT_USING_DEVICE -#include <rtdevice.h> -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -void _Error_Handler(char *s, int num); - -#ifndef Error_Handler -#define Error_Handler() _Error_Handler(__FILE__, __LINE__) -#endif - -//#define DMA_NOT_AVAILABLE ((DMA_INSTANCE_TYPE *)0xFFFFFFFFU) - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_flash.c b/bsp/at32/libraries/f415/rt_drivers/drv_flash.c deleted file mode 100644 index e763e817bc..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_flash.c +++ /dev/null @@ -1,210 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-24 shelton first version - */ - -#include <rtthread.h> -#include "board.h" - -#ifdef BSP_USING_ON_CHIP_FLASH -#include "drv_flash.h" - -#if defined(PKG_USING_FAL) -#include "fal.h" -#endif - -//#define DRV_DEBUG -#define LOG_TAG "drv.flash" -#include <drv_log.h> - -/** - * @brief gets the page of a given address - * @param addr: address of the flash memory - * @retval the page of a given address - */ -static rt_uint32_t get_page(uint32_t addr) -{ - rt_uint32_t page = 0; - - page = RT_ALIGN_DOWN(addr, FLASH_PAGE_SIZE); - - return page; -} - -/** - * @brief read data from flash. - * @note this operation's units is word. - * - * @param addr flash address - * @param buf buffer to store read data - * @param size read bytes size - * - * @return result - */ -int at32_flash_read(rt_uint32_t addr, rt_uint8_t *buf, rt_uint32_t size) -{ - rt_uint32_t i; - - if ((addr + size) > AT32_FLASH_END_ADDRESS) - { - LOG_E("read outrange flash size! addr is (0x%p)", (void *)(addr + size)); - return -RT_EINVAL; - } - - for (i = 0; i < size; i++, buf++, addr++) - { - *buf = *(rt_uint8_t *) addr; - } - - return size; -} - -/** - * @brief write data to flash. - * @note this operation's units is word. - * @note this operation must after erase. @see flash_erase. - * - * @param addr flash address - * @param buf the write data buffer - * @param size write bytes size - * - * @return result - */ -int at32_flash_write(rt_uint32_t addr, const rt_uint8_t *buf, rt_uint32_t size) -{ - rt_err_t result = RT_EOK; - rt_uint32_t end_addr = addr + size; - - if (addr % 4 != 0) - { - LOG_E("write addr must be 4-byte alignment"); - return -RT_EINVAL; - } - - if ((end_addr) > AT32_FLASH_END_ADDRESS) - { - LOG_E("write outrange flash size! addr is (0x%p)", (void *)(addr + size)); - return -RT_EINVAL; - } - - flash_unlock(); - - while (addr < end_addr) - { - if (flash_word_program(addr, *((rt_uint32_t *)buf)) == FLASH_OPERATE_DONE) - { - if (*(rt_uint32_t *)addr != *(rt_uint32_t *)buf) - { - result = -RT_ERROR; - break; - } - addr += 4; - buf += 4; - } - else - { - result = -RT_ERROR; - break; - } - } - - flash_lock(); - - if (result != RT_EOK) - { - return result; - } - - return size; -} - -/** - * @brief erase data on flash . - * @note this operation is irreversible. - * @note this operation's units is different which on many chips. - * - * @param addr flash address - * @param size erase bytes size - * - * @return result - */ -int at32_flash_erase(rt_uint32_t addr, rt_uint32_t size) -{ - rt_err_t result = RT_EOK; - rt_uint32_t end_addr = addr + size; - rt_uint32_t page_addr = 0; - - flash_unlock(); - - if ((end_addr) > AT32_FLASH_END_ADDRESS) - { - LOG_E("erase outrange flash size! addr is (0x%p)", (void *)(addr + size)); - return -RT_EINVAL; - } - - while(addr < end_addr) - { - page_addr = get_page(addr); - - if(flash_sector_erase(page_addr) != FLASH_OPERATE_DONE) - { - result = -RT_ERROR; - goto __exit; - } - - addr += FLASH_PAGE_SIZE; - } - - flash_lock(); - -__exit: - if(result != RT_EOK) - { - return result; - } - - return size; -} - -#if defined(PKG_USING_FAL) - -static int fal_flash_read(long offset, rt_uint8_t *buf, rt_uint32_t size); -static int fal_flash_write(long offset, const rt_uint8_t *buf, rt_uint32_t size); -static int fal_flash_erase(long offset, rt_uint32_t size); - -const struct fal_flash_dev at32_onchip_flash = -{ - "onchip_flash", - AT32_FLASH_START_ADRESS, - AT32_FLASH_SIZE, - FLASH_PAGE_SIZE, - { - NULL, - fal_flash_read, - fal_flash_write, - fal_flash_erase - } -}; - -static int fal_flash_read(long offset, rt_uint8_t *buf, rt_uint32_t size) -{ - return at32_flash_read(at32_onchip_flash.addr + offset, buf, size); -} - -static int fal_flash_write(long offset, const rt_uint8_t *buf, rt_uint32_t size) -{ - return at32_flash_write(at32_onchip_flash.addr + offset, buf, size); -} - -static int fal_flash_erase(long offset, rt_uint32_t size) -{ - return at32_flash_erase(at32_onchip_flash.addr + offset, size); -} - -#endif -#endif /* BSP_USING_ON_CHIP_FLASH */ diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_flash.h b/bsp/at32/libraries/f415/rt_drivers/drv_flash.h deleted file mode 100644 index 42ada3416a..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_flash.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2021-02-09 shelton the first version - */ - -#ifndef __DRV_FLASH_H__ -#define __DRV_FLASH_H__ - -#include <rtthread.h> -#include "rtdevice.h" -#include <rthw.h> - -#ifdef __cplusplus -extern "C" { -#endif - -int at32_flash_read(rt_uint32_t addr, rt_uint8_t *buf, rt_uint32_t size); -int at32_flash_write(rt_uint32_t addr, const rt_uint8_t *buf, rt_uint32_t size); -int at32_flash_erase(rt_uint32_t addr, rt_uint32_t size); - -#ifdef __cplusplus -} -#endif - -#endif /* __DRV_FLASH_H__ */ diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_gpio.c b/bsp/at32/libraries/f415/rt_drivers/drv_gpio.c deleted file mode 100644 index b66c475050..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_gpio.c +++ /dev/null @@ -1,557 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-08 shelton first version - */ - -#include "board.h" -#include "drv_gpio.h" - -#ifdef RT_USING_PIN - -#define PIN_NUM(port, no) (((((port) & 0xFu) << 4) | ((no) & 0xFu))) -#define PIN_PORT(pin) ((uint8_t)(((pin) >> 4) & 0xFu)) -#define PIN_NO(pin) ((uint8_t)((pin) & 0xFu)) - -#define PIN_ATPORTSOURCE(pin) (gpio_port_source_type)((uint8_t)(((pin) & 0xF0u) >> 4)) -#define PIN_ATPINSOURCE(pin) (gpio_pins_source_type)((uint8_t)((pin) & 0xFu)) -#define PIN_ATPORT(pin) ((gpio_type *)(GPIOA_BASE + (0x400u * PIN_PORT(pin)))) -#define PIN_ATPIN(pin) ((uint16_t)(1u << PIN_NO(pin))) - -#if defined(GPIOZ) - #define __AT32_PORT_MAX 12u -#elif defined(GPIOK) - #define __AT32_PORT_MAX 11u -#elif defined(GPIOJ) - #define __AT32_PORT_MAX 10u -#elif defined(GPIOI) - #define __AT32_PORT_MAX 9u -#elif defined(GPIOH) - #define __AT32_PORT_MAX 8u -#elif defined(GPIOG) - #define __AT32_PORT_MAX 7u -#elif defined(GPIOF) - #define __AT32_PORT_MAX 6u -#elif defined(GPIOE) - #define __AT32_PORT_MAX 5u -#elif defined(GPIOD) - #define __AT32_PORT_MAX 4u -#elif defined(GPIOC) - #define __AT32_PORT_MAX 3u -#elif defined(GPIOB) - #define __AT32_PORT_MAX 2u -#elif defined(GPIOA) - #define __AT32_PORT_MAX 1u -#else - #define __AT32_PORT_MAX 0u - #error Unsupported AT32 GPIO peripheral. -#endif - -#define PIN_ATPORT_MAX __AT32_PORT_MAX - -static const struct pin_irq_map pin_irq_map[] = -{ - {GPIO_PINS_0, EXINT_LINE_0, EXINT0_IRQn}, - {GPIO_PINS_1, EXINT_LINE_1, EXINT1_IRQn}, - {GPIO_PINS_2, EXINT_LINE_2, EXINT2_IRQn}, - {GPIO_PINS_3, EXINT_LINE_3, EXINT3_IRQn}, - {GPIO_PINS_4, EXINT_LINE_4, EXINT4_IRQn}, - {GPIO_PINS_5, EXINT_LINE_5, EXINT9_5_IRQn}, - {GPIO_PINS_6, EXINT_LINE_6, EXINT9_5_IRQn}, - {GPIO_PINS_7, EXINT_LINE_7, EXINT9_5_IRQn}, - {GPIO_PINS_8, EXINT_LINE_8, EXINT9_5_IRQn}, - {GPIO_PINS_9, EXINT_LINE_9, EXINT9_5_IRQn}, - {GPIO_PINS_10, EXINT_LINE_10, EXINT15_10_IRQn}, - {GPIO_PINS_11, EXINT_LINE_11, EXINT15_10_IRQn}, - {GPIO_PINS_12, EXINT_LINE_12, EXINT15_10_IRQn}, - {GPIO_PINS_13, EXINT_LINE_13, EXINT15_10_IRQn}, - {GPIO_PINS_14, EXINT_LINE_14, EXINT15_10_IRQn}, - {GPIO_PINS_15, EXINT_LINE_15, EXINT15_10_IRQn}, -}; - -static struct rt_pin_irq_hdr pin_irq_handler_tab[] = -{ - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, - {-1, 0, RT_NULL, RT_NULL}, -}; -static uint32_t pin_irq_enable_mask = 0; - -#define ITEM_NUM(items) sizeof(items) / sizeof(items[0]) - -static void at32_pin_write(rt_device_t dev, rt_base_t pin, rt_base_t value) -{ - gpio_type *gpio_port; - - uint16_t gpio_pin; - if (PIN_PORT(pin) < PIN_ATPORT_MAX) - { - gpio_port = PIN_ATPORT(pin); - gpio_pin = PIN_ATPIN(pin); - } - else - { - return; - } - gpio_bits_write(gpio_port, gpio_pin, (confirm_state)value); -} - -static int at32_pin_read(rt_device_t dev, rt_base_t pin) -{ - gpio_type *gpio_port; - uint16_t gpio_pin; - int value; - - value = PIN_LOW; - - if (PIN_PORT(pin) < PIN_ATPORT_MAX) - { - gpio_port = PIN_ATPORT(pin); - gpio_pin = PIN_ATPIN(pin); - value = gpio_input_data_bit_read(gpio_port, gpio_pin); - } - return value; -} - -static void at32_pin_mode(rt_device_t dev, rt_base_t pin, rt_base_t mode) -{ - gpio_init_type gpio_init_struct; - gpio_type *gpio_port; - uint16_t gpio_pin; - - if (PIN_PORT(pin) < PIN_ATPORT_MAX) - { - gpio_port = PIN_ATPORT(pin); - gpio_pin = PIN_ATPIN(pin); - } - else - { - return; - } - - /* configure gpio_init_struct */ - gpio_default_para_init(&gpio_init_struct); - gpio_init_struct.gpio_pins = gpio_pin; - gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT; - gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL; - gpio_init_struct.gpio_pull = GPIO_PULL_NONE; - gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER; - - if (mode == PIN_MODE_OUTPUT) - { - /* output setting */ - gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT; - gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL; - gpio_init_struct.gpio_pull = GPIO_PULL_NONE; - } - else if (mode == PIN_MODE_INPUT) - { - /* input setting: not pull. */ - gpio_init_struct.gpio_mode = GPIO_MODE_INPUT; - gpio_init_struct.gpio_pull = GPIO_PULL_NONE; - } - else if (mode == PIN_MODE_INPUT_PULLUP) - { - /* input setting: pull up. */ - gpio_init_struct.gpio_mode = GPIO_MODE_INPUT; - gpio_init_struct.gpio_pull = GPIO_PULL_UP; - } - else if (mode == PIN_MODE_INPUT_PULLDOWN) - { - /* input setting: pull down. */ - gpio_init_struct.gpio_mode = GPIO_MODE_INPUT; - gpio_init_struct.gpio_pull = GPIO_PULL_DOWN; - } - else if (mode == PIN_MODE_OUTPUT_OD) - { - /* output setting: od. */ - gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT; - gpio_init_struct.gpio_out_type = GPIO_OUTPUT_OPEN_DRAIN; - } - - gpio_init(gpio_port, &gpio_init_struct); -} - -rt_inline rt_int32_t bit2bitno(rt_uint32_t bit) -{ - int i; - for (i = 0; i < 32; i++) - { - if ((0x01 << i) == bit) - { - return i; - } - } - return -1; -} - -rt_inline const struct pin_irq_map *get_pin_irq_map(uint32_t pinbit) -{ - rt_int32_t mapindex = bit2bitno(pinbit); - if (mapindex < 0 || mapindex >= ITEM_NUM(pin_irq_map)) - { - return RT_NULL; - } - return &pin_irq_map[mapindex]; -}; - -static rt_err_t at32_pin_attach_irq(struct rt_device *device, rt_int32_t pin, - rt_uint32_t mode, void (*hdr)(void *args), void *args) -{ - uint16_t gpio_pin; - rt_base_t level; - rt_int32_t irqindex = -1; - - if (PIN_PORT(pin) < PIN_ATPORT_MAX) - { - gpio_pin = PIN_ATPIN(pin); - } - else - { - return -RT_EINVAL; - } - - irqindex = bit2bitno(gpio_pin); - if (irqindex < 0 || irqindex >= ITEM_NUM(pin_irq_map)) - { - return -RT_EINVAL; - } - - level = rt_hw_interrupt_disable(); - if (pin_irq_handler_tab[irqindex].pin == pin && - pin_irq_handler_tab[irqindex].hdr == hdr && - pin_irq_handler_tab[irqindex].mode == mode && - pin_irq_handler_tab[irqindex].args == args) - { - rt_hw_interrupt_enable(level); - return RT_EOK; - } - if (pin_irq_handler_tab[irqindex].pin != -1) - { - rt_hw_interrupt_enable(level); - return -RT_EBUSY; - } - pin_irq_handler_tab[irqindex].pin = pin; - pin_irq_handler_tab[irqindex].hdr = hdr; - pin_irq_handler_tab[irqindex].mode = mode; - pin_irq_handler_tab[irqindex].args = args; - rt_hw_interrupt_enable(level); - - return RT_EOK; -} - -static rt_err_t at32_pin_dettach_irq(struct rt_device *device, rt_int32_t pin) -{ - uint16_t gpio_pin; - rt_base_t level; - rt_int32_t irqindex = -1; - - if (PIN_PORT(pin) < PIN_ATPORT_MAX) - { - gpio_pin = PIN_ATPIN(pin); - } - else - { - return -RT_EINVAL; - } - irqindex = bit2bitno(gpio_pin); - if (irqindex < 0 || irqindex >= ITEM_NUM(pin_irq_map)) - { - return -RT_EINVAL; - } - - level = rt_hw_interrupt_disable(); - if (pin_irq_handler_tab[irqindex].pin == -1) - { - rt_hw_interrupt_enable(level); - return RT_EOK; - } - pin_irq_handler_tab[irqindex].pin = -1; - pin_irq_handler_tab[irqindex].hdr = RT_NULL; - pin_irq_handler_tab[irqindex].mode = 0; - pin_irq_handler_tab[irqindex].args = RT_NULL; - rt_hw_interrupt_enable(level); - - return RT_EOK; -} - -static rt_err_t at32_pin_irq_enable(struct rt_device *device, rt_base_t pin, - rt_uint32_t enabled) -{ - gpio_init_type gpio_init_struct; - exint_init_type exint_init_struct; - gpio_type *gpio_port; - IRQn_Type irqn; - uint16_t gpio_pin; - const struct pin_irq_map *irqmap; - rt_base_t level; - rt_int32_t irqindex = -1; - - if (PIN_PORT(pin) < PIN_ATPORT_MAX) - { - gpio_port = PIN_ATPORT(pin); - gpio_pin = PIN_ATPIN(pin); - } - else - { - return -RT_EINVAL; - } - - if (enabled == PIN_IRQ_ENABLE) - { - irqindex = bit2bitno(gpio_pin); - if (irqindex < 0 || irqindex >= ITEM_NUM(pin_irq_map)) - { - return -RT_EINVAL; - } - - level = rt_hw_interrupt_disable(); - - if (pin_irq_handler_tab[irqindex].pin == -1) - { - rt_hw_interrupt_enable(level); - return -RT_EINVAL; - } - - irqmap = &pin_irq_map[irqindex]; - - /* configure gpio_init_struct */ - gpio_default_para_init(&gpio_init_struct); - exint_default_para_init(&exint_init_struct); - - gpio_init_struct.gpio_pins = irqmap->pinbit; - gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER; - exint_init_struct.line_select = irqmap->pinbit; - exint_init_struct.line_mode = EXINT_LINE_INTERRUPUT; - exint_init_struct.line_enable = TRUE; - switch (pin_irq_handler_tab[irqindex].mode) - { - case PIN_IRQ_MODE_RISING: - exint_init_struct.line_polarity = EXINT_TRIGGER_RISING_EDGE; - break; - case PIN_IRQ_MODE_FALLING: - exint_init_struct.line_polarity = EXINT_TRIGGER_FALLING_EDGE; - break; - case PIN_IRQ_MODE_RISING_FALLING: - exint_init_struct.line_polarity = EXINT_TRIGGER_BOTH_EDGE; - break; - } - gpio_init(gpio_port, &gpio_init_struct); - - gpio_exint_line_config(PIN_ATPORTSOURCE(pin), PIN_ATPINSOURCE(pin)); - - exint_init(&exint_init_struct); - - nvic_irq_enable(irqmap->irqno, 5, 0); - pin_irq_enable_mask |= irqmap->pinbit; - - rt_hw_interrupt_enable(level); - } - else if (enabled == PIN_IRQ_DISABLE) - { - irqmap = get_pin_irq_map(gpio_pin); - if (irqmap == RT_NULL) - { - return -RT_EINVAL; - } - - level = rt_hw_interrupt_disable(); - - pin_irq_enable_mask &= ~irqmap->pinbit; - - - if ((irqmap->pinbit >= GPIO_PINS_5) && (irqmap->pinbit <= GPIO_PINS_9)) - { - if (!(pin_irq_enable_mask & (GPIO_PINS_5 | GPIO_PINS_6 | GPIO_PINS_7 | GPIO_PINS_8 | GPIO_PINS_9))) - { - irqn = irqmap->irqno; - } - } - else if ((irqmap->pinbit >= GPIO_PINS_10) && (irqmap->pinbit <= GPIO_PINS_15)) - { - if (!(pin_irq_enable_mask & (GPIO_PINS_10 | GPIO_PINS_11 | GPIO_PINS_12 | GPIO_PINS_13 | GPIO_PINS_14 | GPIO_PINS_15))) - { - irqn = irqmap->irqno; - } - } - else - { - irqn = irqmap->irqno; - } - nvic_irq_disable(irqn); - rt_hw_interrupt_enable(level); - } - else - { - return -RT_EINVAL; - } - - return RT_EOK; -} - -const static struct rt_pin_ops _at32_pin_ops = -{ - at32_pin_mode, - at32_pin_write, - at32_pin_read, - at32_pin_attach_irq, - at32_pin_dettach_irq, - at32_pin_irq_enable, - RT_NULL, -}; - -rt_inline void pin_irq_handler(int irqno) -{ - exint_flag_clear(pin_irq_map[irqno].lineno); - if (pin_irq_handler_tab[irqno].hdr) - { - pin_irq_handler_tab[irqno].hdr(pin_irq_handler_tab[irqno].args); - } -} - -void gpio_exint_handler(uint16_t GPIO_Pin) -{ - pin_irq_handler(bit2bitno(GPIO_Pin)); -} - -void EXINT0_IRQHandler(void) -{ - rt_interrupt_enter(); - gpio_exint_handler(GPIO_PINS_0); - rt_interrupt_leave(); -} - -void EXINT1_IRQHandler(void) -{ - rt_interrupt_enter(); - gpio_exint_handler(GPIO_PINS_1); - rt_interrupt_leave(); -} - -void EXINT2_IRQHandler(void) -{ - rt_interrupt_enter(); - gpio_exint_handler(GPIO_PINS_2); - rt_interrupt_leave(); -} - -void EXINT3_IRQHandler(void) -{ - rt_interrupt_enter(); - gpio_exint_handler(GPIO_PINS_3); - rt_interrupt_leave(); -} - -void EXINT4_IRQHandler(void) -{ - rt_interrupt_enter(); - gpio_exint_handler(GPIO_PINS_4); - rt_interrupt_leave(); -} - -void EXINT9_5_IRQHandler(void) -{ - rt_interrupt_enter(); - if (RESET != exint_flag_get(EXINT_LINE_5)) - { - gpio_exint_handler(GPIO_PINS_5); - } - if (RESET != exint_flag_get(EXINT_LINE_6)) - { - gpio_exint_handler(GPIO_PINS_6); - } - if (RESET != exint_flag_get(EXINT_LINE_7)) - { - gpio_exint_handler(GPIO_PINS_7); - } - if (RESET != exint_flag_get(EXINT_LINE_8)) - { - gpio_exint_handler(GPIO_PINS_8); - } - if (RESET != exint_flag_get(EXINT_LINE_9)) - { - gpio_exint_handler(GPIO_PINS_9); - } - rt_interrupt_leave(); -} - -void EXINT15_10_IRQHandler(void) -{ - rt_interrupt_enter(); - if (RESET != exint_flag_get(EXINT_LINE_10)) - { - gpio_exint_handler(GPIO_PINS_10); - } - if (RESET != exint_flag_get(EXINT_LINE_11)) - { - gpio_exint_handler(GPIO_PINS_11); - } - if (RESET != exint_flag_get(EXINT_LINE_12)) - { - gpio_exint_handler(GPIO_PINS_12); - } - if (RESET != exint_flag_get(EXINT_LINE_13)) - { - gpio_exint_handler(GPIO_PINS_13); - } - if (RESET != exint_flag_get(EXINT_LINE_14)) - { - gpio_exint_handler(GPIO_PINS_14); - } - if (RESET != exint_flag_get(EXINT_LINE_15)) - { - gpio_exint_handler(GPIO_PINS_15); - } - rt_interrupt_leave(); -} - -int rt_hw_pin_init(void) -{ - -#ifdef GPIOA - crm_periph_clock_enable(CRM_GPIOA_PERIPH_CLOCK, TRUE); -#endif -#ifdef GPIOB - crm_periph_clock_enable(CRM_GPIOB_PERIPH_CLOCK, TRUE); -#endif -#ifdef GPIOC - crm_periph_clock_enable(CRM_GPIOC_PERIPH_CLOCK, TRUE); -#endif -#ifdef GPIOD - crm_periph_clock_enable(CRM_GPIOD_PERIPH_CLOCK, TRUE); -#endif -#ifdef GPIOE - crm_periph_clock_enable(CRM_GPIOE_PERIPH_CLOCK, TRUE); -#endif -#ifdef GPIOF - crm_periph_clock_enable(CRM_GPIOF_PERIPH_CLOCK, TRUE); -#endif -#ifdef GPIOG - crm_periph_clock_enable(CRM_GPIOG_PERIPH_CLOCK, TRUE); -#endif - - crm_periph_clock_enable(CRM_IOMUX_PERIPH_CLOCK, TRUE); - - return rt_device_pin_register("pin", &_at32_pin_ops, RT_NULL); -} - -INIT_BOARD_EXPORT(rt_hw_pin_init); - -#endif /* RT_USING_PIN */ diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_gpio.h b/bsp/at32/libraries/f415/rt_drivers/drv_gpio.h deleted file mode 100644 index 16abd818a1..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_gpio.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2020-01-07 shelton first version - */ - -#ifndef __DRV_GPIO_H__ -#define __DRV_GPIO_H__ - -#include <rthw.h> -#include <rtdevice.h> -#include "board.h" - -#define __AT32_PORT(port) GPIO##port##_BASE - -#define GET_PIN(PORTx,PIN) (rt_base_t)((16 * ( ((rt_base_t)__AT32_PORT(PORTx) - (rt_base_t)GPIOA_BASE)/(0x0400UL) )) + PIN) - -#define __AT32_PIN(index, gpio, gpio_index) \ - { \ - index, GPIO##gpio, GPIO_Pins_##gpio_index, \ - GPIO_PortSourceGPIO##gpio, GPIO_PinsSource##gpio_index \ - } - -#define __AT32_PIN_RESERVE \ - { \ - -1, 0, 0, 0, 0 \ - } - -/* AT32 GPIO driver */ -struct pin_index -{ - int index; - gpio_type *gpio_x; - rt_uint32_t pin; - rt_uint32_t portsource; - rt_uint32_t pinsource; -}; - -struct pin_irq_map -{ - rt_uint16_t pinbit; - rt_uint16_t lineno; - IRQn_Type irqno; -}; - -int rt_hw_pin_init(void); - -#endif /* __DRV_GPIO_H__ */ - diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_hwtimer.c b/bsp/at32/libraries/f415/rt_drivers/drv_hwtimer.c deleted file mode 100644 index 8c79412633..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_hwtimer.c +++ /dev/null @@ -1,375 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-05-11 shelton first version - */ - -#include "board.h" -#include "drv_hwtimer.h" - -//#define DRV_DEBUG -#define LOG_TAG "drv.hwtimer" -#include <drv_log.h> - -#ifdef BSP_USING_HWTIMER - -enum -{ -#ifdef BSP_USING_HWTMR1 - TMR1_INDEX, -#endif - -#ifdef BSP_USING_HWTMR2 - TMR2_INDEX, -#endif - -#ifdef BSP_USING_HWTMR3 - TMR3_INDEX, -#endif - -#ifdef BSP_USING_HWTMR4 - TMR4_INDEX, -#endif - -#ifdef BSP_USING_HWTMR5 - TMR5_INDEX, -#endif - -#ifdef BSP_USING_HWTMR9 - TMR9_INDEX, -#endif - -#ifdef BSP_USING_HWTMR10 - TMR10_INDEX, -#endif - -#ifdef BSP_USING_HWTMR11 - TMR11_INDEX, -#endif -}; - -struct at32_hwtimer -{ - rt_hwtimer_t tmr_device; - tmr_type* tmr_x; - IRQn_Type tmr_irqn; - char *name; -}; - -static struct at32_hwtimer at32_hwtimer_obj[] = -{ -#ifdef BSP_USING_HWTMR1 - TMR1_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR2 - TMR2_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR3 - TMR3_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR4 - TMR4_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR5 - TMR5_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR9 - TMR9_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR10 - TMR10_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR11 - TMR11_CONFIG, -#endif -}; - -static void tmr_pclk_get(rt_uint32_t *pclk1_doubler, rt_uint32_t *pclk2_doubler) -{ - crm_clocks_freq_type clocks_struct; - - *pclk1_doubler = 1; - *pclk2_doubler = 1; - - crm_clocks_freq_get(&clocks_struct); - - if(clocks_struct.ahb_freq != clocks_struct.apb1_freq) - { - *pclk1_doubler = 2; - } - - if(clocks_struct.ahb_freq != clocks_struct.apb2_freq) - { - *pclk2_doubler = 2; - } -} - -static void at32_timer_init(struct rt_hwtimer_device *timer, rt_uint32_t state) -{ - crm_clocks_freq_type clocks_struct; - rt_uint32_t pclk1_doubler = 0, pclk2_doubler = 0; - rt_uint32_t prescaler_value = 0, tmr_clock = 0; - tmr_type *tmr_x = RT_NULL; - struct at32_hwtimer *tmr_device = RT_NULL; - - RT_ASSERT(timer != RT_NULL); - if (state) - { - tmr_x = (tmr_type *)timer->parent.user_data; - tmr_device = (struct at32_hwtimer *)timer; - - /* timer clock enable */ - at32_msp_hwtmr_init(tmr_x); - - /* get timer clock */ - tmr_pclk_get(&pclk1_doubler, &pclk2_doubler); - crm_clocks_freq_get(&clocks_struct); - if((tmr_x == TMR1) || (tmr_x == TMR9) || (tmr_x == TMR10) || (tmr_x == TMR11)) - { - tmr_clock = clocks_struct.apb2_freq * pclk2_doubler; - } - else - { - tmr_clock = clocks_struct.apb1_freq * pclk1_doubler; - } - /* set timer clock is 1mhz */ - prescaler_value = (uint32_t)(tmr_clock / 10000) - 1; - tmr_base_init(tmr_x, 10000 - 1, prescaler_value); - tmr_clock_source_div_set(tmr_x, TMR_CLOCK_DIV1); - tmr_repetition_counter_set(tmr_x, 0); - - if (timer->info->cntmode == HWTIMER_CNTMODE_UP) - { - tmr_cnt_dir_set(tmr_x, TMR_COUNT_UP); - } - else - { - tmr_cnt_dir_set(tmr_x, TMR_COUNT_DOWN); - } - - /* enable the timer global interrupt and clear flag */ - nvic_irq_enable(tmr_device->tmr_irqn, 2, 0); - - tmr_interrupt_enable(tmr_x, TMR_OVF_INT, TRUE); - tmr_flag_clear(tmr_x, TMR_OVF_INT); - - LOG_D("%s init success", tmr_device->name); - } -} - -static rt_err_t at32_timer_start(rt_hwtimer_t *timer, rt_uint32_t pr, rt_hwtimer_mode_t opmode) -{ - rt_err_t result = RT_EOK; - tmr_type *tmr_x = RT_NULL; - - RT_ASSERT(timer != RT_NULL); - tmr_x = (tmr_type *)timer->parent.user_data; - - /* set tmr_x count */ - tmr_counter_value_set(tmr_x, 0); - /* set tmr_x period register */ - tmr_period_value_set(tmr_x, pr - 1); - - if (opmode == HWTIMER_MODE_ONESHOT) - { - /* set timer to one cycle mode */ - tmr_one_cycle_mode_enable(tmr_x, TRUE); - } - else - { - /* set timer to period mode */ - tmr_one_cycle_mode_enable(tmr_x, FALSE); - } - - /* start timer */ - tmr_counter_enable(tmr_x, TRUE); - - return result; -} - -static void at32_timer_stop(rt_hwtimer_t *timer) -{ - tmr_type *tmr_x = RT_NULL; - - RT_ASSERT(timer != RT_NULL); - tmr_x = (tmr_type *)timer->parent.user_data; - - /* stop timer */ - tmr_counter_enable(tmr_x, FALSE); - - /* set tmr_x count */ - tmr_counter_value_set(tmr_x, 0); -} - -static rt_uint32_t at32_timer_counter_get(rt_hwtimer_t *timer) -{ - tmr_type *tmr_x = RT_NULL; - - RT_ASSERT(timer != RT_NULL); - - tmr_x = (tmr_type *)timer->parent.user_data; - - return tmr_counter_value_get(tmr_x); -} - -static rt_err_t at32_timer_ctrl(rt_hwtimer_t *timer, rt_uint32_t cmd, void *arg) -{ - crm_clocks_freq_type clocks_struct; - tmr_type *tmr_x = RT_NULL; - rt_err_t result = RT_EOK; - rt_uint32_t pclk1_doubler = 0, pclk2_doubler = 0, tmr_clock = 0; - - RT_ASSERT(timer != RT_NULL); - RT_ASSERT(arg != RT_NULL); - - tmr_x = (tmr_type *)timer->parent.user_data; - - switch(cmd) - { - case HWTIMER_CTRL_FREQ_SET: - { - rt_uint32_t freq; - rt_uint16_t val; - - /* get timer frequence */ - freq = *((rt_uint32_t *)arg); - - /* get timer clock */ - tmr_pclk_get(&pclk1_doubler, &pclk2_doubler); - crm_clocks_freq_get(&clocks_struct); - if((tmr_x == TMR1) || (tmr_x == TMR9) || (tmr_x == TMR10) || (tmr_x == TMR11)) - { - tmr_clock = clocks_struct.apb2_freq * pclk2_doubler; - } - else - { - tmr_clock = clocks_struct.apb1_freq * pclk1_doubler; - } - /* set div value */ - val = tmr_clock / freq; - - tmr_div_value_set(tmr_x, val - 1); - tmr_event_sw_trigger(tmr_x, TMR_OVERFLOW_SWTRIG); - } - break; - default: - { - result = -RT_ENOSYS; - } - break; - } - - return result; -} - -static const struct rt_hwtimer_info _info = TMR_DEV_INFO_CONFIG; -static const struct rt_hwtimer_ops _ops = -{ - .init = at32_timer_init, - .start = at32_timer_start, - .stop = at32_timer_stop, - .count_get = at32_timer_counter_get, - .control = at32_timer_ctrl, -}; - -#ifdef BSP_USING_HWTMR2 -void TMR2_GLOBAL_IRQHandler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - if(tmr_flag_get(TMR2, TMR_OVF_FLAG) == SET) - { - rt_device_hwtimer_isr(&at32_hwtimer_obj[TMR2_INDEX].tmr_device); - tmr_flag_clear(TMR2, TMR_OVF_FLAG); - } - /* leave interrupt */ - rt_interrupt_leave(); -} -#endif - -#ifdef BSP_USING_HWTMR3 -void TMR3_GLOBAL_IRQHandler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - if(tmr_flag_get(TMR3, TMR_OVF_FLAG) == SET) - { - rt_device_hwtimer_isr(&at32_hwtimer_obj[TMR3_INDEX].tmr_device); - tmr_flag_clear(TMR3, TMR_OVF_FLAG); - } - /* leave interrupt */ - rt_interrupt_leave(); -} -#endif - -#ifdef BSP_USING_HWTMR4 -void TMR4_GLOBAL_IRQHandler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - if(tmr_flag_get(TMR4, TMR_OVF_FLAG) == SET) - { - rt_device_hwtimer_isr(&at32_hwtimer_obj[TMR4_INDEX].tmr_device); - tmr_flag_clear(TMR4, TMR_OVF_FLAG); - } - /* leave interrupt */ - rt_interrupt_leave(); -} -#endif - -#ifdef BSP_USING_HWTMR5 -void TMR5_GLOBAL_IRQHandler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - if(tmr_flag_get(TMR5, TMR_OVF_FLAG) == SET) - { - rt_device_hwtimer_isr(&at32_hwtimer_obj[TMR5_INDEX].tmr_device); - tmr_flag_clear(TMR5, TMR_OVF_FLAG); - } - /* leave interrupt */ - rt_interrupt_leave(); -} -#endif - -static int rt_hw_hwtimer_init(void) -{ - int i = 0; - int result = RT_EOK; - - for (i = 0; i < sizeof(at32_hwtimer_obj) / sizeof(at32_hwtimer_obj[0]); i++) - { - at32_hwtimer_obj[i].tmr_device.info = &_info; - at32_hwtimer_obj[i].tmr_device.ops = &_ops; - if (rt_device_hwtimer_register(&at32_hwtimer_obj[i].tmr_device, at32_hwtimer_obj[i].name, at32_hwtimer_obj[i].tmr_x) == RT_EOK) - { - LOG_D("%s register success", at32_hwtimer_obj[i].name); - } - else - { - LOG_E("%s register failed", at32_hwtimer_obj[i].name); - result = -RT_ERROR; - } - } - - return result; -} - -INIT_BOARD_EXPORT(rt_hw_hwtimer_init); - -#endif /* BSP_USING_HWTIMER */ diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_hwtimer.h b/bsp/at32/libraries/f415/rt_drivers/drv_hwtimer.h deleted file mode 100644 index 624437f559..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_hwtimer.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2020-03-16 Leo first version - */ - -#ifndef __TMR_CONFIG_H__ -#define __TMR_CONFIG_H__ - -#include <rtthread.h> -#include <drivers/hwtimer.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef TMR_DEV_INFO_CONFIG -#define TMR_DEV_INFO_CONFIG \ - { \ - .maxfreq = 1000000, \ - .minfreq = 4000, \ - .maxcnt = 0xFFFF, \ - .cntmode = HWTIMER_CNTMODE_UP, \ - } -#endif /* TIM_DEV_INFO_CONFIG */ - -#ifdef BSP_USING_HWTMR2 -#ifndef TMR2_CONFIG -#define TMR2_CONFIG \ - { \ - .tmr_x = TMR2, \ - .tmr_irqn = TMR2_GLOBAL_IRQn, \ - .name = "timer2", \ - } -#endif /* TMR2_CONFIG */ -#endif /* BSP_USING_HWTMR2 */ - -#ifdef BSP_USING_HWTMR3 -#ifndef TMR3_CONFIG -#define TMR3_CONFIG \ - { \ - .tmr_x = TMR3, \ - .tmr_irqn = TMR3_GLOBAL_IRQn, \ - .name = "timer3", \ - } -#endif /* TMR3_CONFIG */ -#endif /* BSP_USING_HWTMR3 */ - -#ifdef BSP_USING_HWTMR4 -#ifndef TMR4_CONFIG -#define TMR4_CONFIG \ - { \ - .tmr_x = TMR4, \ - .tmr_irqn = TMR4_GLOBAL_IRQn, \ - .name = "timer4", \ - } -#endif /* TMR4_CONFIG */ -#endif /* BSP_USING_HWTMR4 */ - -#ifdef BSP_USING_HWTMR5 -#ifndef TMR5_CONFIG -#define TMR5_CONFIG \ - { \ - .tmr_x = TMR5, \ - .tmr_irqn = TMR5_GLOBAL_IRQn, \ - .name = "timer5", \ - } -#endif /* TMR5_CONFIG */ -#endif /* BSP_USING_HWTMR5 */ - -#ifdef __cplusplus -} -#endif - -#endif /* __TMR_CONFIG_H__ */ - diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_log.h b/bsp/at32/libraries/f415/rt_drivers/drv_log.h deleted file mode 100644 index 45345aa150..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_log.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-21 shelton first version - */ - -/* - * NOTE: DO NOT include this file on the header file. - */ - -#ifndef LOG_TAG -#define DBG_TAG "drv" -#else -#define DBG_TAG LOG_TAG -#endif /* LOG_TAG */ - -#ifdef DRV_DEBUG -#define DBG_LVL DBG_LOG -#else -#define DBG_LVL DBG_INFO -#endif /* DRV_DEBUG */ - -#include <rtdbg.h> diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_pwm.c b/bsp/at32/libraries/f415/rt_drivers/drv_pwm.c deleted file mode 100644 index 3b36a6c683..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_pwm.c +++ /dev/null @@ -1,464 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-10 shelton first version - */ - -#include "board.h" - -#ifdef RT_USING_PWM -#include "drv_pwm.h" -#include <drivers/rt_drv_pwm.h> - -//#define DRV_DEBUG -#define LOG_TAG "drv.pwm" -#include <drv_log.h> - -#define MAX_PERIOD 65535 - -struct rt_device_pwm pwm_device; - -struct at32_pwm -{ - struct rt_device_pwm pwm_device; - tmr_type* tmr_x; - rt_uint8_t channel; - char *name; -}; - -enum -{ -#ifdef BSP_USING_PWM1 - PWM1_INDEX, -#endif -#ifdef BSP_USING_PWM2 - PWM2_INDEX, -#endif -#ifdef BSP_USING_PWM3 - PWM3_INDEX, -#endif -#ifdef BSP_USING_PWM4 - PWM4_INDEX, -#endif -#ifdef BSP_USING_PWM5 - PWM5_INDEX, -#endif -#ifdef BSP_USING_PWM9 - PWM9_INDEX, -#endif -#ifdef BSP_USING_PWM10 - PWM10_INDEX, -#endif -#ifdef BSP_USING_PWM11 - PWM11_INDEX, -#endif -}; - -static struct at32_pwm at32_pwm_obj[] = -{ -#ifdef BSP_USING_PWM1 - PWM1_CONFIG, -#endif - -#ifdef BSP_USING_PWM2 - PWM2_CONFIG, -#endif - -#ifdef BSP_USING_PWM3 - PWM3_CONFIG, -#endif - -#ifdef BSP_USING_PWM4 - PWM4_CONFIG, -#endif - -#ifdef BSP_USING_PWM5 - PWM5_CONFIG, -#endif - -#ifdef BSP_USING_PWM9 - PWM9_CONFIG, -#endif - -#ifdef BSP_USING_PWM10 - PWM10_CONFIG, -#endif - -#ifdef BSP_USING_PWM11 - PWM11_CONFIG, -#endif -}; - -static rt_err_t drv_pwm_control(struct rt_device_pwm *device, int cmd, void *arg); -static struct rt_pwm_ops drv_ops = -{ - drv_pwm_control -}; - -static void tmr_pclk_get(rt_uint32_t *pclk1_doubler, rt_uint32_t *pclk2_doubler) -{ - crm_clocks_freq_type clocks_struct; - - *pclk1_doubler = 1; - *pclk2_doubler = 1; - - crm_clocks_freq_get(&clocks_struct); - - if(clocks_struct.ahb_freq != clocks_struct.apb1_freq) - { - *pclk1_doubler = 2; - } - - if(clocks_struct.ahb_freq != clocks_struct.apb2_freq) - { - *pclk2_doubler = 2; - } -} - -static rt_err_t drv_pwm_enable(tmr_type* tmr_x, struct rt_pwm_configuration *configuration, rt_bool_t enable) -{ - /* get the value of channel */ - rt_uint32_t channel = configuration->channel; - - if (!configuration->complementary) - { - if (!enable) - { - if(channel == 1) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_1, FALSE); - } - else if(channel == 2) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_2, FALSE); - } - else if(channel == 3) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_3, FALSE); - } - else if(channel == 4) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_4, FALSE); - } - } - else - { - if(channel == 1) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_1, TRUE); - } - else if(channel == 2) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_2, TRUE); - } - else if(channel == 3) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_3, TRUE); - } - else if(channel == 4) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_4, TRUE); - } - } - } - else - { - if (!enable) - { - if(channel == 1) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_1C, FALSE); - } - else if(channel == 2) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_2C, FALSE); - } - else if(channel == 3) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_3C, FALSE); - } - } - else - { - if(channel == 1) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_1C, TRUE); - } - else if(channel == 2) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_2C, TRUE); - } - else if(channel == 3) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_3C, TRUE); - } - } - } - - /* tmr_x enable counter */ - tmr_counter_enable(tmr_x, TRUE); - - return RT_EOK; -} - -static rt_err_t drv_pwm_get(tmr_type* tmr_x, struct rt_pwm_configuration *configuration) -{ - crm_clocks_freq_type clocks_struct; - rt_uint32_t pr, div, c1dt, c2dt, c3dt, c4dt; - rt_uint32_t pclk1_doubler = 0, pclk2_doubler = 0; - rt_uint32_t channel = configuration->channel; - rt_uint64_t tmr_clock; - - pr = tmr_x->pr; - div = tmr_x->div; - c1dt = tmr_x->c1dt; - c2dt = tmr_x->c2dt; - c3dt = tmr_x->c3dt; - c4dt = tmr_x->c4dt; - - tmr_pclk_get(&pclk1_doubler, &pclk2_doubler); - - crm_clocks_freq_get(&clocks_struct); - - if((tmr_x == TMR1) || (tmr_x == TMR9) || (tmr_x == TMR10) || (tmr_x == TMR11)) - { - tmr_clock = clocks_struct.apb2_freq * pclk2_doubler; - } - else - { - tmr_clock = clocks_struct.apb1_freq * pclk1_doubler; - } - - /* convert nanosecond to frequency and duty cycle. */ - tmr_clock /= 1000000UL; - configuration->period = (pr + 1) * (div + 1) * 1000UL / tmr_clock; - - if(channel == 1) - configuration->pulse = (c1dt) * (div + 1) * 1000UL / tmr_clock; - if(channel == 2) - configuration->pulse = (c2dt) * (div + 1) * 1000UL / tmr_clock; - if(channel == 3) - configuration->pulse = (c3dt) * (div + 1) * 1000UL / tmr_clock; - if(channel == 4) - configuration->pulse = (c4dt) * (div + 1) * 1000UL / tmr_clock; - - return RT_EOK; -} - -static rt_err_t drv_pwm_set(tmr_type* tmr_x, struct rt_pwm_configuration *configuration) -{ - crm_clocks_freq_type clocks_struct; - tmr_output_config_type tmr_oc_config_struct; - tmr_channel_select_type channel_select; - rt_uint32_t period, pulse, channel, tmr_clock; - rt_uint32_t pclk1_doubler = 0, pclk2_doubler = 0; - rt_uint64_t psc; - - /* init timer pin and enable clock */ - at32_msp_tmr_init(tmr_x); - - tmr_pclk_get(&pclk1_doubler, &pclk2_doubler); - - crm_clocks_freq_get(&clocks_struct); - - if((tmr_x == TMR1) || (tmr_x == TMR9) || (tmr_x == TMR10) || (tmr_x == TMR11)) - { - tmr_clock = clocks_struct.apb2_freq * pclk2_doubler; - } - else - { - tmr_clock = clocks_struct.apb1_freq * pclk1_doubler; - } - - /* convert nanosecond to frequency and duty cycle. */ - tmr_clock /= 1000000UL; - /* calculate pwm period */ - period = (unsigned long long)configuration->period * tmr_clock / 1000ULL;; - psc = period / MAX_PERIOD + 1; - period = period / psc; - /* calculate pulse width */ - pulse = (unsigned long long)configuration->pulse * tmr_clock / psc / 1000ULL; - /* get channel parameter */ - channel = configuration->channel; - - /* tmr base init */ - tmr_base_init(tmr_x, period - 1, psc - 1); - tmr_clock_source_div_set(tmr_x, TMR_CLOCK_DIV1); - - /* pwm mode configuration */ - tmr_output_default_para_init(&tmr_oc_config_struct); - /* config pwm mode */ - tmr_oc_config_struct.oc_mode = TMR_OUTPUT_CONTROL_PWM_MODE_A; - - if (!configuration->complementary) - { - tmr_oc_config_struct.oc_idle_state = FALSE; - tmr_oc_config_struct.oc_output_state = FALSE; - tmr_oc_config_struct.oc_polarity = TMR_OUTPUT_ACTIVE_HIGH; - } - else - { - tmr_oc_config_struct.occ_idle_state = FALSE; - tmr_oc_config_struct.occ_output_state = FALSE; - tmr_oc_config_struct.occ_polarity = TMR_OUTPUT_ACTIVE_HIGH; - } - - if(channel == 1) - { - channel_select = TMR_SELECT_CHANNEL_1; - } - else if(channel == 2) - { - channel_select = TMR_SELECT_CHANNEL_2; - } - else if(channel == 3) - { - channel_select = TMR_SELECT_CHANNEL_3; - } - else if(channel == 4) - { - channel_select = TMR_SELECT_CHANNEL_4; - } - - /* config tmr pwm output */ - tmr_output_channel_config(tmr_x, channel_select, &tmr_oc_config_struct); - tmr_output_channel_buffer_enable(tmr_x, channel_select, TRUE); - tmr_channel_value_set(tmr_x, channel_select, pulse); - /* enable tmr period buffer */ - tmr_period_buffer_enable(tmr_x, TRUE); - /* enable output */ - tmr_output_enable(tmr_x, TRUE); - - return RT_EOK; -} - -static rt_err_t drv_pwm_control(struct rt_device_pwm *device, int cmd, void *arg) -{ - struct rt_pwm_configuration *configuration = (struct rt_pwm_configuration *)arg; - tmr_type *tmr_x = (tmr_type *)device->parent.user_data; - - switch (cmd) - { - case PWMN_CMD_ENABLE: - configuration->complementary = RT_TRUE; - case PWM_CMD_ENABLE: - return drv_pwm_enable(tmr_x, configuration, RT_TRUE); - case PWMN_CMD_DISABLE: - configuration->complementary = RT_FALSE; - case PWM_CMD_DISABLE: - return drv_pwm_enable(tmr_x, configuration, RT_FALSE); - case PWM_CMD_SET: - return drv_pwm_set(tmr_x, configuration); - case PWM_CMD_GET: - return drv_pwm_get(tmr_x, configuration); - default: - return RT_EINVAL; - } -} - -static void pwm_get_channel(void) -{ -#ifdef BSP_USING_PWM1_CH1 - at32_pwm_obj[PWM1_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM1_CH2 - at32_pwm_obj[PWM1_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM1_CH3 - at32_pwm_obj[PWM1_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM1_CH4 - at32_pwm_obj[PWM1_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM2_CH1 - at32_pwm_obj[PWM2_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM2_CH2 - at32_pwm_obj[PWM2_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM2_CH3 - at32_pwm_obj[PWM2_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM2_CH4 - at32_pwm_obj[PWM2_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM3_CH1 - at32_pwm_obj[PWM3_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM3_CH2 - at32_pwm_obj[PWM3_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM3_CH3 - at32_pwm_obj[PWM3_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM3_CH4 - at32_pwm_obj[PWM3_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM4_CH1 - at32_pwm_obj[PWM4_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM4_CH2 - at32_pwm_obj[PWM4_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM4_CH3 - at32_pwm_obj[PWM4_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM4_CH4 - at32_pwm_obj[PWM4_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM5_CH1 - at32_pwm_obj[PWM5_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM5_CH2 - at32_pwm_obj[PWM5_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM5_CH3 - at32_pwm_obj[PWM5_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM5_CH4 - at32_pwm_obj[PWM5_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM9_CH1 - at32_pwm_obj[PWM9_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM9_CH2 - at32_pwm_obj[PWM9_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM9_CH3 - at32_pwm_obj[PWM9_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM9_CH4 - at32_pwm_obj[PWM9_INDEX].channel = 4; -#endif -} - -static int rt_hw_pwm_init(void) -{ - int i = 0; - int result = RT_EOK; - - pwm_get_channel(); - - for(i = 0; i < sizeof(at32_pwm_obj) / sizeof(at32_pwm_obj[0]); i++) - { - if(rt_device_pwm_register(&at32_pwm_obj[i].pwm_device, at32_pwm_obj[i].name, &drv_ops, at32_pwm_obj[i].tmr_x) == RT_EOK) - { - LOG_D("%s register success", at32_pwm_obj[i].name); - } - else - { - LOG_D("%s register failed", at32_pwm_obj[i].name); - result = -RT_ERROR; - } - } - - return result; -} - -INIT_BOARD_EXPORT(rt_hw_pwm_init); - -#endif /* RT_USING_PWM */ diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_pwm.h b/bsp/at32/libraries/f415/rt_drivers/drv_pwm.h deleted file mode 100644 index d303401abb..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_pwm.h +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-10 leo first version - */ - -#ifndef __PWM_CONFIG_H__ -#define __PWM_CONFIG_H__ - -#include <rtthread.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef BSP_USING_PWM1 -#ifndef PWM1_CONFIG -#define PWM1_CONFIG \ - { \ - .tmr_x = TMR1, \ - .name = "pwm1", \ - .channel = 0 \ - } -#endif /* PWM1_CONFIG */ -#endif /* BSP_USING_PWM1 */ - -#ifdef BSP_USING_PWM2 -#ifndef PWM2_CONFIG -#define PWM2_CONFIG \ - { \ - .tmr_x = TMR2, \ - .name = "pwm2", \ - .channel = 0 \ - } -#endif /* PWM2_CONFIG */ -#endif /* BSP_USING_PWM2 */ - -#ifdef BSP_USING_PWM3 -#ifndef PWM3_CONFIG -#define PWM3_CONFIG \ - { \ - .tmr_x = TMR3, \ - .name = "pwm3", \ - .channel = 0 \ - } -#endif /* PWM3_CONFIG */ -#endif /* BSP_USING_PWM3 */ - -#ifdef BSP_USING_PWM4 -#ifndef PWM4_CONFIG -#define PWM4_CONFIG \ - { \ - .tmr_x = TMR4, \ - .name = "pwm4", \ - .channel = 0 \ - } -#endif /* PWM4_CONFIG */ -#endif /* BSP_USING_PWM4 */ - -#ifdef BSP_USING_PWM5 -#ifndef PWM5_CONFIG -#define PWM5_CONFIG \ - { \ - .tmr_x = TMR5, \ - .name = "pwm5", \ - .channel = 0 \ - } -#endif /* PWM5_CONFIG */ -#endif /* BSP_USING_PWM5 */ - -#ifdef BSP_USING_PWM6 -#ifndef PWM6_CONFIG -#define PWM6_CONFIG \ - { \ - .tmr_x = TMR6, \ - .name = "pwm6", \ - .channel = 0 \ - } -#endif /* PWM6_CONFIG */ -#endif /* BSP_USING_PWM6 */ - -#ifdef BSP_USING_PWM7 -#ifndef PWM7_CONFIG -#define PWM7_CONFIG \ - { \ - .tmr_x = TMR7, \ - .name = "pwm7", \ - .channel = 0 \ - } -#endif /* PWM7_CONFIG */ -#endif /* BSP_USING_PWM7 */ - -#ifdef BSP_USING_PWM8 -#ifndef PWM8_CONFIG -#define PWM8_CONFIG \ - { \ - .tmr_x = TMR8, \ - .name = "pwm8", \ - .channel = 12 \ - } -#endif /* PWM8_CONFIG */ -#endif /* BSP_USING_PWM8 */ - -#ifdef BSP_USING_PWM9 -#ifndef PWM9_CONFIG -#define PWM9_CONFIG \ - { \ - .tmr_x = TMR9, \ - .name = "pwm9", \ - .channel = 0 \ - } -#endif /* PWM9_CONFIG */ -#endif /* BSP_USING_PWM9 */ - -#ifdef BSP_USING_PWM10 -#ifndef PWM10_CONFIG -#define PWM10_CONFIG \ - { \ - .tmr_x = TMR10, \ - .name = "pwm10", \ - .channel = 0 \ - } -#endif /* PWM10_CONFIG */ -#endif /* BSP_USING_PWM10 */ - -#ifdef BSP_USING_PWM11 -#ifndef PWM11_CONFIG -#define PWM11_CONFIG \ - { \ - .tmr_x = TMR11, \ - .name = "pwm11", \ - .channel = 0 \ - } -#endif /* PWM11_CONFIG */ -#endif /* BSP_USING_PWM11 */ - -#ifdef BSP_USING_PWM12 -#ifndef PWM12_CONFIG -#define PWM12_CONFIG \ - { \ - .tmr_x = TMR12, \ - .name = "pwm12", \ - .channel = 0 \ - } -#endif /* PWM12_CONFIG */ -#endif /* BSP_USING_PWM12 */ - -#ifdef BSP_USING_PWM13 -#ifndef PWM13_CONFIG -#define PWM13_CONFIG \ - { \ - .tmr_x = TMR13, \ - .name = "pwm13", \ - .channel = 0 \ - } -#endif /* PWM13_CONFIG */ -#endif /* BSP_USING_PWM13 */ - -#ifdef __cplusplus -} -#endif - -#endif /* __PWM_CONFIG_H__ */ diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_sdio.c b/bsp/at32/libraries/f415/rt_drivers/drv_sdio.c deleted file mode 100644 index 2da45546d9..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_sdio.c +++ /dev/null @@ -1,823 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-08 shelton first version - */ - -#include "board.h" -#include "drv_sdio.h" - -#ifdef BSP_USING_SDIO -#if !defined (BSP_USING_SDIO1) -#error "Please define at least one SDIOx" -#endif - -//#define DRV_DEBUG -#define LOG_TAG "drv.sdio" -#include <drv_log.h> - -static struct at32_sdio_config sdio_config = SDIO_BUS_CONFIG; -static struct at32_sdio_class sdio_obj; -static struct rt_mmcsd_host *host; - -#define SDIO_TX_RX_COMPLETE_TIMEOUT_LOOPS (100000) - -#define RT_HW_SDIO_LOCK(_sdio) rt_mutex_take(&_sdio->mutex, RT_WAITING_FOREVER) -#define RT_HW_SDIO_UNLOCK(_sdio) rt_mutex_release(&_sdio->mutex); - -struct sdio_pkg -{ - struct rt_mmcsd_cmd *cmd; - void *buff; - rt_uint32_t flag; -}; - -struct rt_hw_sdio -{ - struct rt_mmcsd_host *host; - struct at32_sdio_des sdio_des; - struct rt_event event; - struct rt_mutex mutex; - struct sdio_pkg *pkg; -}; - -ALIGN(SDIO_ALIGN_LEN) -static rt_uint8_t cache_buf[SDIO_BUFF_SIZE]; - -static rt_uint32_t at32_sdio_clk_get(struct at32_sdio *hw_sdio) -{ - return SDIO_CLOCK_FREQ; -} - -/** - * @brief this function get order from sdio. - * @param data - * @retval sdio order - */ -static int get_order(rt_uint32_t data) -{ - int order = 0; - - switch (data) - { - case 1: - order = 0; - break; - case 2: - order = 1; - break; - case 4: - order = 2; - break; - case 8: - order = 3; - break; - case 16: - order = 4; - break; - case 32: - order = 5; - break; - case 64: - order = 6; - break; - case 128: - order = 7; - break; - case 256: - order = 8; - break; - case 512: - order = 9; - break; - case 1024: - order = 10; - break; - case 2048: - order = 11; - break; - case 4096: - order = 12; - break; - case 8192: - order = 13; - break; - case 16384: - order = 14; - break; - default : - order = 0; - break; - } - - return order; -} - -/** - * @brief this function wait sdio completed. - * @param sdio rt_hw_sdio - * @retval none - */ -static void rt_hw_sdio_wait_completed(struct rt_hw_sdio *sdio) -{ - rt_uint32_t status; - struct rt_mmcsd_cmd *cmd = sdio->pkg->cmd; - struct rt_mmcsd_data *data = cmd->data; - struct at32_sdio *hw_sdio = sdio->sdio_des.hw_sdio; - - if (rt_event_recv(&sdio->event, 0xffffffff, RT_EVENT_FLAG_OR | RT_EVENT_FLAG_CLEAR, - rt_tick_from_millisecond(5000), &status) != RT_EOK) - { - LOG_E("wait completed timeout"); - cmd->err = -RT_ETIMEOUT; - return; - } - - if (sdio->pkg == RT_NULL) - { - return; - } - - cmd->resp[0] = hw_sdio->resp1; - cmd->resp[1] = hw_sdio->resp2; - cmd->resp[2] = hw_sdio->resp3; - cmd->resp[3] = hw_sdio->resp4; - - if (status & HW_SDIO_ERRORS) - { - if ((status & HW_SDIO_IT_CCRCFAIL) && (resp_type(cmd) & (RESP_R3 | RESP_R4))) - { - cmd->err = RT_EOK; - } - else - { - cmd->err = -RT_ERROR; - } - - if (status & HW_SDIO_IT_CTIMEOUT) - { - cmd->err = -RT_ETIMEOUT; - } - - if (status & HW_SDIO_IT_DCRCFAIL) - { - data->err = -RT_ERROR; - } - - if (status & HW_SDIO_IT_DTIMEOUT) - { - data->err = -RT_ETIMEOUT; - } - - if (cmd->err == RT_EOK) - { - LOG_D("sta:0x%08X [%08X %08X %08X %08X]", status, cmd->resp[0], cmd->resp[1], cmd->resp[2], cmd->resp[3]); - } - else - { - LOG_D("err:0x%08x, %s%s%s%s%s%s%s cmd:%d arg:0x%08x rw:%c len:%d blksize:%d", - status, - status & HW_SDIO_IT_CCRCFAIL ? "CCRCFAIL " : "", - status & HW_SDIO_IT_DCRCFAIL ? "DCRCFAIL " : "", - status & HW_SDIO_IT_CTIMEOUT ? "CTIMEOUT " : "", - status & HW_SDIO_IT_DTIMEOUT ? "DTIMEOUT " : "", - status & HW_SDIO_IT_TXUNDERR ? "TXUNDERR " : "", - status & HW_SDIO_IT_RXOVERR ? "RXOVERR " : "", - status == 0 ? "NULL" : "", - cmd->cmd_code, - cmd->arg, - data ? (data->flags & DATA_DIR_WRITE ? 'w' : 'r') : '-', - data ? data->blks * data->blksize : 0, - data ? data->blksize : 0 - ); - } - } - else - { - cmd->err = RT_EOK; - LOG_D("sta:0x%08X [%08X %08X %08X %08X]", status, cmd->resp[0], cmd->resp[1], cmd->resp[2], cmd->resp[3]); - } -} - -/** - * @brief this function transfer data by dma. - * @param sdio rt_hw_sdio - * @param pkg sdio package - * @retval none - */ -static void rt_hw_sdio_transfer_by_dma(struct rt_hw_sdio *sdio, struct sdio_pkg *pkg) -{ - struct rt_mmcsd_data *data; - int size; - void *buff; - struct at32_sdio *hw_sdio; - - if ((RT_NULL == pkg) || (RT_NULL == sdio)) - { - LOG_E("rt_hw_sdio_transfer_by_dma invalid args"); - return; - } - - data = pkg->cmd->data; - if (RT_NULL == data) - { - LOG_E("rt_hw_sdio_transfer_by_dma invalid args"); - return; - } - - buff = pkg->buff; - if (RT_NULL == buff) - { - LOG_E("rt_hw_sdio_transfer_by_dma invalid args"); - return; - } - hw_sdio = sdio->sdio_des.hw_sdio; - size = data->blks * data->blksize; - - if (data->flags & DATA_DIR_WRITE) - { - sdio->sdio_des.txconfig((rt_uint32_t *)buff, (rt_uint32_t *)&hw_sdio->fifo, size); - hw_sdio->dctrl |= HW_SDIO_DMA_ENABLE; - } - else if (data->flags & DATA_DIR_READ) - { - sdio->sdio_des.rxconfig((rt_uint32_t *)&hw_sdio->fifo, (rt_uint32_t *)buff, size); - hw_sdio->dctrl |= HW_SDIO_DMA_ENABLE | HW_SDIO_DPSM_ENABLE; - } -} - -/** - * @brief this function send command. - * @param sdio rt_hw_sdio - * @param pkg sdio package - * @retval none - */ -static void rt_hw_sdio_send_command(struct rt_hw_sdio *sdio, struct sdio_pkg *pkg) -{ - struct rt_mmcsd_cmd *cmd = pkg->cmd; - struct rt_mmcsd_data *data = cmd->data; - struct at32_sdio *hw_sdio = sdio->sdio_des.hw_sdio; - rt_uint32_t reg_cmd; - - /* save pkg */ - sdio->pkg = pkg; - - LOG_D("CMD:%d ARG:0x%08x RES:%s%s%s%s%s%s%s%s%s rw:%c len:%d blksize:%d", - cmd->cmd_code, - cmd->arg, - resp_type(cmd) == RESP_NONE ? "NONE" : "", - resp_type(cmd) == RESP_R1 ? "R1" : "", - resp_type(cmd) == RESP_R1B ? "R1B" : "", - resp_type(cmd) == RESP_R2 ? "R2" : "", - resp_type(cmd) == RESP_R3 ? "R3" : "", - resp_type(cmd) == RESP_R4 ? "R4" : "", - resp_type(cmd) == RESP_R5 ? "R5" : "", - resp_type(cmd) == RESP_R6 ? "R6" : "", - resp_type(cmd) == RESP_R7 ? "R7" : "", - data ? (data->flags & DATA_DIR_WRITE ? 'w' : 'r') : '-', - data ? data->blks * data->blksize : 0, - data ? data->blksize : 0 - ); - - /* config cmd reg */ - reg_cmd = cmd->cmd_code | HW_SDIO_CPSM_ENABLE; - if (resp_type(cmd) == RESP_NONE) - reg_cmd |= HW_SDIO_RESPONSE_NO; - else if (resp_type(cmd) == RESP_R2) - reg_cmd |= HW_SDIO_RESPONSE_LONG; - else - reg_cmd |= HW_SDIO_RESPONSE_SHORT; - - /* config data reg */ - if (data != RT_NULL) - { - rt_uint32_t dir = 0; - rt_uint32_t size = data->blks * data->blksize; - int order; - - hw_sdio->dctrl = 0; - hw_sdio->dtimer = HW_SDIO_DATATIMEOUT; - hw_sdio->dlen = size; - order = get_order(data->blksize); - dir = (data->flags & DATA_DIR_READ) ? HW_SDIO_TO_HOST : 0; - hw_sdio->dctrl = /* HW_SDIO_IO_ENABLE | */ (order << 4) | dir; - } - - /* transfer config */ - if (data != RT_NULL) - { - rt_hw_sdio_transfer_by_dma(sdio, pkg); - } - - /* open irq */ - hw_sdio->mask |= HW_SDIO_IT_CMDSENT | HW_SDIO_IT_CMDREND | HW_SDIO_ERRORS; - if (data != RT_NULL) - { - hw_sdio->mask |= HW_SDIO_IT_DATAEND; - } - - /* send cmd */ - hw_sdio->arg = cmd->arg; - hw_sdio->cmd = reg_cmd; - - /* wait completed */ - rt_hw_sdio_wait_completed(sdio); - - /* waiting for data to be sent to completion */ - if (data != RT_NULL) - { - volatile rt_uint32_t count = SDIO_TX_RX_COMPLETE_TIMEOUT_LOOPS; - - while (count && (hw_sdio->sta & (HW_SDIO_IT_TXACT | HW_SDIO_IT_RXACT))) - { - count--; - } - - if ((count == 0) || (hw_sdio->sta & HW_SDIO_ERRORS)) - { - cmd->err = -RT_ERROR; - } - } - - /* close irq, keep sdio irq */ - hw_sdio->mask = hw_sdio->mask & HW_SDIO_IT_SDIOIT ? HW_SDIO_IT_SDIOIT : 0x00; - - /* clear pkg */ - sdio->pkg = RT_NULL; -} - -/** - * @brief this function send sdio request. - * @param sdio rt_hw_sdio - * @param req request - * @retval none - */ -static void rt_hw_sdio_request(struct rt_mmcsd_host *host, struct rt_mmcsd_req *req) -{ - struct sdio_pkg pkg; - struct rt_hw_sdio *sdio = host->private_data; - struct rt_mmcsd_data *data; - - RT_HW_SDIO_LOCK(sdio); - - if (req->cmd != RT_NULL) - { - memset(&pkg, 0, sizeof(pkg)); - data = req->cmd->data; - pkg.cmd = req->cmd; - - if (data != RT_NULL) - { - rt_uint32_t size = data->blks * data->blksize; - - RT_ASSERT(size <= SDIO_BUFF_SIZE); - - pkg.buff = data->buf; - if ((rt_uint32_t)data->buf & (SDIO_ALIGN_LEN - 1)) - { - pkg.buff = cache_buf; - if (data->flags & DATA_DIR_WRITE) - { - memcpy(cache_buf, data->buf, size); - } - } - } - - rt_hw_sdio_send_command(sdio, &pkg); - - if ((data != RT_NULL) && (data->flags & DATA_DIR_READ) && ((rt_uint32_t)data->buf & (SDIO_ALIGN_LEN - 1))) - { - memcpy(data->buf, cache_buf, data->blksize * data->blks); - } - } - - if (req->stop != RT_NULL) - { - memset(&pkg, 0, sizeof(pkg)); - pkg.cmd = req->stop; - rt_hw_sdio_send_command(sdio, &pkg); - } - - RT_HW_SDIO_UNLOCK(sdio); - - mmcsd_req_complete(sdio->host); -} - -/** - * @brief this function config sdio. - * @param host rt_mmcsd_host - * @param io_cfg rt_mmcsd_io_cfg - * @retval none - */ -static void rt_hw_sdio_iocfg(struct rt_mmcsd_host *host, struct rt_mmcsd_io_cfg *io_cfg) -{ - rt_uint32_t clkcr, div, clk_src; - rt_uint32_t clk = io_cfg->clock; - struct rt_hw_sdio *sdio = host->private_data; - struct at32_sdio *hw_sdio = sdio->sdio_des.hw_sdio; - - clk_src = sdio->sdio_des.clk_get(sdio->sdio_des.hw_sdio); - if (clk_src < 400 * 1000) - { - LOG_E("The clock rate is too low! rata:%d", clk_src); - return; - } - - if (clk > host->freq_max) clk = host->freq_max; - - if (clk > clk_src) - { - LOG_W("Setting rate is greater than clock source rate."); - clk = clk_src; - } - - LOG_D("clk:%d width:%s%s%s power:%s%s%s", - clk, - io_cfg->bus_width == MMCSD_BUS_WIDTH_8 ? "8" : "", - io_cfg->bus_width == MMCSD_BUS_WIDTH_4 ? "4" : "", - io_cfg->bus_width == MMCSD_BUS_WIDTH_1 ? "1" : "", - io_cfg->power_mode == MMCSD_POWER_OFF ? "OFF" : "", - io_cfg->power_mode == MMCSD_POWER_UP ? "UP" : "", - io_cfg->power_mode == MMCSD_POWER_ON ? "ON" : "" - ); - - RT_HW_SDIO_LOCK(sdio); - - div = clk_src / clk; - if ((clk == 0) || (div == 0)) - { - clkcr = 0; - } - else - { - if (div < 2) - { - div = 2; - } - else if (div > 0x3FF) - { - div = 0x3FF; - } - div -= 2; - clkcr = (div & 0xFF) | ((div & 0x300) << 7) | HW_SDIO_CLK_ENABLE; - } - - if (io_cfg->bus_width == MMCSD_BUS_WIDTH_8) - { - clkcr |= HW_SDIO_BUSWIDE_8B; - } - else if (io_cfg->bus_width == MMCSD_BUS_WIDTH_4) - { - clkcr |= HW_SDIO_BUSWIDE_4B; - } - else - { - clkcr |= HW_SDIO_BUSWIDE_1B; - } - - hw_sdio->clkcr = clkcr; - - switch (io_cfg->power_mode) - { - case MMCSD_POWER_OFF: - hw_sdio->power = HW_SDIO_POWER_OFF; - break; - case MMCSD_POWER_UP: - hw_sdio->power = HW_SDIO_POWER_UP; - break; - case MMCSD_POWER_ON: - hw_sdio->power = HW_SDIO_POWER_ON; - break; - default: - LOG_W("unknown power_mode %d", io_cfg->power_mode); - break; - } - - RT_HW_SDIO_UNLOCK(sdio); -} - -/** - * @brief this function update sdio interrupt. - * @param host rt_mmcsd_host - * @param enable - * @retval none - */ -void rt_hw_sdio_irq_update(struct rt_mmcsd_host *host, rt_int32_t enable) -{ - struct rt_hw_sdio *sdio = host->private_data; - struct at32_sdio *hw_sdio = sdio->sdio_des.hw_sdio; - - if (enable) - { - LOG_D("enable sdio irq"); - hw_sdio->mask |= HW_SDIO_IT_SDIOIT; - } - else - { - LOG_D("disable sdio irq"); - hw_sdio->mask &= ~HW_SDIO_IT_SDIOIT; - } -} - -/** - * @brief this function delect sdcard. - * @param host rt_mmcsd_host - * @retval 0x01 - */ -static rt_int32_t rt_hw_sd_delect(struct rt_mmcsd_host *host) -{ - LOG_D("try to detect device"); - return 0x01; -} - -/** - * @brief this function interrupt process function. - * @param host rt_mmcsd_host - * @retval none - */ -void rt_hw_sdio_irq_process(struct rt_mmcsd_host *host) -{ - int complete = 0; - struct rt_hw_sdio *sdio = host->private_data; - struct at32_sdio *hw_sdio = sdio->sdio_des.hw_sdio; - rt_uint32_t intstatus = hw_sdio->sta; - - if (intstatus & HW_SDIO_ERRORS) - { - hw_sdio->icr = HW_SDIO_ERRORS; - complete = 1; - } - else - { - if (intstatus & HW_SDIO_IT_CMDREND) - { - hw_sdio->icr = HW_SDIO_IT_CMDREND; - - if (sdio->pkg != RT_NULL) - { - if (!sdio->pkg->cmd->data) - { - complete = 1; - } - else if ((sdio->pkg->cmd->data->flags & DATA_DIR_WRITE)) - { - hw_sdio->dctrl |= HW_SDIO_DPSM_ENABLE; - } - } - } - - if (intstatus & HW_SDIO_IT_CMDSENT) - { - hw_sdio->icr = HW_SDIO_IT_CMDSENT; - - if (resp_type(sdio->pkg->cmd) == RESP_NONE) - { - complete = 1; - } - } - - if (intstatus & HW_SDIO_IT_DATAEND) - { - hw_sdio->icr = HW_SDIO_IT_DATAEND; - complete = 1; - } - } - - if ((intstatus & HW_SDIO_IT_SDIOIT) && (hw_sdio->mask & HW_SDIO_IT_SDIOIT)) - { - hw_sdio->icr = HW_SDIO_IT_SDIOIT; - sdio_irq_wakeup(host); - } - - if (complete) - { - hw_sdio->mask &= ~HW_SDIO_ERRORS; - rt_event_send(&sdio->event, intstatus); - } -} - -static const struct rt_mmcsd_host_ops ops = -{ - rt_hw_sdio_request, - rt_hw_sdio_iocfg, - rt_hw_sd_delect, - rt_hw_sdio_irq_update, -}; - -/** - * @brief this function create mmcsd host. - * @param sdio_des at32_sdio_des - * @retval rt_mmcsd_host - */ -struct rt_mmcsd_host *sdio_host_create(struct at32_sdio_des *sdio_des) -{ - struct rt_mmcsd_host *host; - struct rt_hw_sdio *sdio = RT_NULL; - - if ((sdio_des == RT_NULL) || (sdio_des->txconfig == RT_NULL) || (sdio_des->rxconfig == RT_NULL)) - { - LOG_E("L:%d F:%s %s %s %s", - (sdio_des == RT_NULL ? "sdio_des is NULL" : ""), - (sdio_des ? (sdio_des->txconfig ? "txconfig is NULL" : "") : ""), - (sdio_des ? (sdio_des->rxconfig ? "rxconfig is NULL" : "") : "") - ); - return RT_NULL; - } - - sdio = rt_malloc(sizeof(struct rt_hw_sdio)); - if (sdio == RT_NULL) - { - LOG_E("L:%d F:%s malloc rt_hw_sdio fail"); - return RT_NULL; - } - rt_memset(sdio, 0, sizeof(struct rt_hw_sdio)); - - host = mmcsd_alloc_host(); - if (host == RT_NULL) - { - LOG_E("L:%d F:%s mmcsd alloc host fail"); - rt_free(sdio); - return RT_NULL; - } - - rt_memcpy(&sdio->sdio_des, sdio_des, sizeof(struct at32_sdio_des)); - sdio->sdio_des.hw_sdio = (sdio_des->hw_sdio == RT_NULL ? (struct at32_sdio *)SDIO_BASE_ADDRESS : sdio_des->hw_sdio); - sdio->sdio_des.clk_get = (sdio_des->clk_get == RT_NULL ? at32_sdio_clk_get : sdio_des->clk_get); - - rt_event_init(&sdio->event, "sdio", RT_IPC_FLAG_FIFO); - rt_mutex_init(&sdio->mutex, "sdio", RT_IPC_FLAG_PRIO); - - /* set host defautl attributes */ - host->ops = &ops; - host->freq_min = 400 * 1000; - host->freq_max = SDIO_MAX_FREQ; - host->valid_ocr = 0X00FFFF80;/* the voltage range supported is 1.65v-3.6v */ -#ifndef SDIO_USING_1_BIT - host->flags = MMCSD_BUSWIDTH_4 | MMCSD_MUTBLKWRITE | MMCSD_SUP_SDIO_IRQ; -#else - host->flags = MMCSD_MUTBLKWRITE | MMCSD_SUP_SDIO_IRQ; -#endif - host->max_seg_size = SDIO_BUFF_SIZE; - host->max_dma_segs = 1; - host->max_blk_size = 512; - host->max_blk_count = 512; - - /* link up host and sdio */ - sdio->host = host; - host->private_data = sdio; - - rt_hw_sdio_irq_update(host, 1); - - /* ready to change */ - mmcsd_change(host); - - return host; -} - -/** - * @brief this function configures the dmatx. - * @param src: pointer to the source buffer - * @param dst: pointer to the destination buffer - * @param buffer_size: size of tx buffer - * @retval none - */ -void sd_lowlevel_dmatx_config(uint32_t *src, uint32_t *dst, uint32_t buffer_size) -{ - static uint32_t size = 0; - dma_init_type dma_init_struct; - - size += buffer_size * 4; - sdio_obj.cfg = &sdio_config; - - dma_default_para_init(&dma_init_struct); - sdio_obj.dma.handle_tx = sdio_config.dma_tx.dma_channel; - dma_init_struct.direction = DMA_DIR_MEMORY_TO_PERIPHERAL; - dma_init_struct.buffer_size = buffer_size; - dma_init_struct.memory_base_addr = (uint32_t)src; - dma_init_struct.memory_data_width = DMA_MEMORY_DATA_WIDTH_WORD; - dma_init_struct.memory_inc_enable = TRUE; - dma_init_struct.peripheral_base_addr = (uint32_t)dst; - dma_init_struct.peripheral_data_width = DMA_PERIPHERAL_DATA_WIDTH_WORD; - dma_init_struct.peripheral_inc_enable = FALSE; - dma_init_struct.priority = DMA_PRIORITY_MEDIUM; - - nvic_irq_enable(sdio_config.dma_tx.dma_irq, 2, 0); - - dma_init(sdio_obj.dma.handle_tx, &dma_init_struct); - dma_interrupt_enable(sdio_obj.dma.handle_tx, DMA_FDT_INT, TRUE); - dma_channel_enable(sdio_obj.dma.handle_tx, TRUE); -} - -/** - * @brief this function configures the dmarx. - * @param src: pointer to the source buffer - * @param dst: pointer to the destination buffer - * @param buffer_size: size of rx buffer - * @retval none - */ -void sd_lowlevel_dmarx_config(uint32_t *src, uint32_t *dst, uint32_t buffer_size) -{ - sdio_obj.cfg = &sdio_config; - dma_init_type dma_init_struct; - - dma_default_para_init(&dma_init_struct); - sdio_obj.dma.handle_rx = sdio_config.dma_rx.dma_channel; - dma_init_struct.direction = DMA_DIR_PERIPHERAL_TO_MEMORY; - dma_init_struct.buffer_size = buffer_size; - dma_init_struct.memory_base_addr = (uint32_t)dst; - dma_init_struct.memory_data_width = DMA_MEMORY_DATA_WIDTH_WORD; - dma_init_struct.memory_inc_enable = TRUE; - dma_init_struct.peripheral_base_addr = (uint32_t)src; - dma_init_struct.peripheral_data_width = DMA_PERIPHERAL_DATA_WIDTH_WORD; - dma_init_struct.peripheral_inc_enable = FALSE; - dma_init_struct.priority = DMA_PRIORITY_MEDIUM; - - nvic_irq_enable(sdio_config.dma_rx.dma_irq, 2, 0); - - dma_init(sdio_obj.dma.handle_rx, &dma_init_struct); - dma_interrupt_enable(sdio_obj.dma.handle_rx, DMA_FDT_INT, TRUE); - dma_channel_enable(sdio_obj.dma.handle_rx, TRUE); -} - -void DMA2_Channel4_5_IRQHandler(void) -{ - if(dma_flag_get(DMA2_FDT4_FLAG)) - { - dma_flag_clear(DMA2_FDT4_FLAG); - dma_channel_enable(sdio_config.dma_rx.dma_channel, FALSE); - } -} - -/** - * @brief this function get at32 sdio clock. - * @param hw_sdio: at32_sdio - * @retval ahb frequency - */ -static rt_uint32_t at32_sdio_clock_get(struct at32_sdio *hw_sdio) -{ - crm_clocks_freq_type clocks; - - crm_clocks_freq_get(&clocks); - return clocks.ahb_freq; -} - -static rt_err_t dma_tx_config(rt_uint32_t *src, rt_uint32_t *dst, int size) -{ - sd_lowlevel_dmatx_config((uint32_t *)src, (uint32_t *)dst, size / 4); - return RT_EOK; -} - -static rt_err_t dma_rx_config(rt_uint32_t *src, rt_uint32_t *dst, int size) -{ - sd_lowlevel_dmarx_config((uint32_t *)src, (uint32_t *)dst, size / 4); - return RT_EOK; -} - -void SDIO1_IRQHandler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - rt_hw_sdio_irq_process(host); - - /* leave interrupt */ - rt_interrupt_leave(); -} - -int rt_hw_sdio_init(void) -{ - struct at32_sdio_des sdio_des; - struct at32_sdio_config hsd; - - hsd.sdio_x = SDCARD_INSTANCE; - at32_msp_sdio_init((void *)(hsd.sdio_x)); - - nvic_irq_enable(SDIO1_IRQn, 2, 0); - - sdio_des.clk_get = at32_sdio_clock_get; - sdio_des.hw_sdio = (struct at32_sdio *)SDCARD_INSTANCE; - sdio_des.rxconfig = dma_rx_config; - sdio_des.txconfig = dma_tx_config; - - host = sdio_host_create(&sdio_des); - if (host == RT_NULL) - { - LOG_E("host create fail"); - return -1; - } - - return 0; -} - -INIT_DEVICE_EXPORT(rt_hw_sdio_init); - -void at32_mmcsd_change(void) -{ - mmcsd_change(host); -} - -#endif diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_sdio.h b/bsp/at32/libraries/f415/rt_drivers/drv_sdio.h deleted file mode 100644 index 556353413d..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_sdio.h +++ /dev/null @@ -1,203 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-08 shelton first version - */ - -#ifndef _DRV_SDIO_H -#define _DRV_SDIO_H -#include <rtthread.h> -#include "rtdevice.h" -#include <rthw.h> -#include <string.h> -#include <drivers/mmcsd_core.h> -#include <drivers/sdio.h> -#include "at32f415.h" - -#define SDCARD_INSTANCE_TYPE sdio_type - -#define SDCARD_INSTANCE SDIO1 - -#define SDIO_BUFF_SIZE 4096 -#define SDIO_ALIGN_LEN 32 - -#ifndef SDIO_MAX_FREQ -#define SDIO_MAX_FREQ (1000000) -#endif - -#ifndef SDIO_BASE_ADDRESS -#define SDIO_BASE_ADDRESS SDIO1_BASE -#endif - -#ifndef SDIO_CLOCK_FREQ -#define SDIO_CLOCK_FREQ (48U * 1000 * 1000) -#endif - -#ifndef SDIO_BUFF_SIZE -#define SDIO_BUFF_SIZE (4096) -#endif - -#ifndef SDIO_ALIGN_LEN -#define SDIO_ALIGN_LEN (32) -#endif - -#ifndef SDIO_MAX_FREQ -#define SDIO_MAX_FREQ (24 * 1000 * 1000) -#endif - -#define HW_SDIO_IT_CCRCFAIL (0x01U << 0) -#define HW_SDIO_IT_DCRCFAIL (0x01U << 1) -#define HW_SDIO_IT_CTIMEOUT (0x01U << 2) -#define HW_SDIO_IT_DTIMEOUT (0x01U << 3) -#define HW_SDIO_IT_TXUNDERR (0x01U << 4) -#define HW_SDIO_IT_RXOVERR (0x01U << 5) -#define HW_SDIO_IT_CMDREND (0x01U << 6) -#define HW_SDIO_IT_CMDSENT (0x01U << 7) -#define HW_SDIO_IT_DATAEND (0x01U << 8) -#define HW_SDIO_IT_STBITERR (0x01U << 9) -#define HW_SDIO_IT_DBCKEND (0x01U << 10) -#define HW_SDIO_IT_CMDACT (0x01U << 11) -#define HW_SDIO_IT_TXACT (0x01U << 12) -#define HW_SDIO_IT_RXACT (0x01U << 13) -#define HW_SDIO_IT_TXFIFOHE (0x01U << 14) -#define HW_SDIO_IT_RXFIFOHF (0x01U << 15) -#define HW_SDIO_IT_TXFIFOF (0x01U << 16) -#define HW_SDIO_IT_RXFIFOF (0x01U << 17) -#define HW_SDIO_IT_TXFIFOE (0x01U << 18) -#define HW_SDIO_IT_RXFIFOE (0x01U << 19) -#define HW_SDIO_IT_TXDAVL (0x01U << 20) -#define HW_SDIO_IT_RXDAVL (0x01U << 21) -#define HW_SDIO_IT_SDIOIT (0x01U << 22) - -#define HW_SDIO_ERRORS \ - (HW_SDIO_IT_CCRCFAIL | HW_SDIO_IT_CTIMEOUT | \ - HW_SDIO_IT_DCRCFAIL | HW_SDIO_IT_DTIMEOUT | \ - HW_SDIO_IT_RXOVERR | HW_SDIO_IT_TXUNDERR) - -#define HW_SDIO_POWER_OFF (0x00U) -#define HW_SDIO_POWER_UP (0x02U) -#define HW_SDIO_POWER_ON (0x03U) - -#define HW_SDIO_FLOW_ENABLE (0x01U << 14) -#define HW_SDIO_BUSWIDE_1B (0x00U << 11) -#define HW_SDIO_BUSWIDE_4B (0x01U << 11) -#define HW_SDIO_BUSWIDE_8B (0x02U << 11) -#define HW_SDIO_BYPASS_ENABLE (0x01U << 10) -#define HW_SDIO_IDLE_ENABLE (0x01U << 9) -#define HW_SDIO_CLK_ENABLE (0x01U << 8) - -#define HW_SDIO_SUSPEND_CMD (0x01U << 11) -#define HW_SDIO_CPSM_ENABLE (0x01U << 10) -#define HW_SDIO_WAIT_END (0x01U << 9) -#define HW_SDIO_WAIT_INT (0x01U << 8) -#define HW_SDIO_RESPONSE_NO (0x00U << 6) -#define HW_SDIO_RESPONSE_SHORT (0x01U << 6) -#define HW_SDIO_RESPONSE_LONG (0x03U << 6) - -#define HW_SDIO_DATA_LEN_MASK (0x01FFFFFFU) - -#define HW_SDIO_IO_ENABLE (0x01U << 11) -#define HW_SDIO_RWMOD_CK (0x01U << 10) -#define HW_SDIO_RWSTOP_ENABLE (0x01U << 9) -#define HW_SDIO_RWSTART_ENABLE (0x01U << 8) -#define HW_SDIO_DBLOCKSIZE_1 (0x00U << 4) -#define HW_SDIO_DBLOCKSIZE_2 (0x01U << 4) -#define HW_SDIO_DBLOCKSIZE_4 (0x02U << 4) -#define HW_SDIO_DBLOCKSIZE_8 (0x03U << 4) -#define HW_SDIO_DBLOCKSIZE_16 (0x04U << 4) -#define HW_SDIO_DBLOCKSIZE_32 (0x05U << 4) -#define HW_SDIO_DBLOCKSIZE_64 (0x06U << 4) -#define HW_SDIO_DBLOCKSIZE_128 (0x07U << 4) -#define HW_SDIO_DBLOCKSIZE_256 (0x08U << 4) -#define HW_SDIO_DBLOCKSIZE_512 (0x09U << 4) -#define HW_SDIO_DBLOCKSIZE_1024 (0x0AU << 4) -#define HW_SDIO_DBLOCKSIZE_2048 (0x0BU << 4) -#define HW_SDIO_DBLOCKSIZE_4096 (0x0CU << 4) -#define HW_SDIO_DBLOCKSIZE_8192 (0x0DU << 4) -#define HW_SDIO_DBLOCKSIZE_16384 (0x0EU << 4) -#define HW_SDIO_DMA_ENABLE (0x01U << 3) -#define HW_SDIO_STREAM_ENABLE (0x01U << 2) -#define HW_SDIO_TO_HOST (0x01U << 1) -#define HW_SDIO_DPSM_ENABLE (0x01U << 0) - -#define HW_SDIO_DATATIMEOUT (0xF0000000U) - -struct at32_sdio -{ - volatile rt_uint32_t power; - volatile rt_uint32_t clkcr; - volatile rt_uint32_t arg; - volatile rt_uint32_t cmd; - volatile rt_uint32_t respcmd; - volatile rt_uint32_t resp1; - volatile rt_uint32_t resp2; - volatile rt_uint32_t resp3; - volatile rt_uint32_t resp4; - volatile rt_uint32_t dtimer; - volatile rt_uint32_t dlen; - volatile rt_uint32_t dctrl; - volatile rt_uint32_t dcount; - volatile rt_uint32_t sta; - volatile rt_uint32_t icr; - volatile rt_uint32_t mask; - volatile rt_uint32_t reserved0[2]; - volatile rt_uint32_t fifocnt; - volatile rt_uint32_t reserved1[13]; - volatile rt_uint32_t fifo; -}; - -typedef rt_err_t (*dma_txconfig)(rt_uint32_t *src, rt_uint32_t *dst, int size); -typedef rt_err_t (*dma_rxconfig)(rt_uint32_t *src, rt_uint32_t *dst, int size); -typedef rt_uint32_t (*sdio_clk_get)(struct at32_sdio *hw_sdio); - -#define SDIO_BUS_CONFIG \ - { \ - .sdio_x = SDIO1, \ - .dma_rx.dma_crm = CRM_DMA2_PERIPH_CLOCK, \ - .dma_tx.dma_crm = CRM_DMA2_PERIPH_CLOCK, \ - .dma_rx.dma_channel = DMA2_CHANNEL4, \ - .dma_rx.dma_irq = DMA2_Channel4_5_IRQn, \ - .dma_tx.dma_channel = DMA2_CHANNEL4, \ - .dma_tx.dma_irq = DMA2_Channel4_5_IRQn, \ - } - -struct dma_config { - dma_channel_type *dma_channel; - crm_periph_clock_type dma_crm; - IRQn_Type dma_irq; -}; - -struct at32_sdio_des -{ - struct at32_sdio *hw_sdio; - dma_txconfig txconfig; - dma_rxconfig rxconfig; - sdio_clk_get clk_get; -}; - -struct at32_sdio_config -{ - SDCARD_INSTANCE_TYPE *sdio_x; - struct dma_config dma_rx, dma_tx; -}; - -/* at32 sdio dirver class */ -struct at32_sdio_class -{ - struct at32_sdio_des *des; - const struct at32_sdio_config *cfg; - struct rt_mmcsd_host host; - struct - { - dma_channel_type* handle_rx; - dma_channel_type* handle_tx; - } dma; -}; - -extern void at32_mmcsd_change(void); - -#endif diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_soft_i2c.c b/bsp/at32/libraries/f415/rt_drivers/drv_soft_i2c.c deleted file mode 100644 index 796218fc53..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_soft_i2c.c +++ /dev/null @@ -1,214 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-09 shelton first version - */ - -#include "board.h" -#include "drv_soft_i2c.h" - -#ifdef RT_USING_I2C - -#define LOG_TAG "drv.i2c" -#include <drv_log.h> - -#if !defined(BSP_USING_I2C1) && !defined(BSP_USING_I2C2) -#error "Please define at least one BSP_USING_I2Cx" -#endif - -static const struct at32_soft_i2c_config soft_i2c_config[] = -{ -#ifdef BSP_USING_I2C1 - I2C1_BUS_CONFIG, -#endif -#ifdef BSP_USING_I2C2 - I2C2_BUS_CONFIG, -#endif -}; - -static struct at32_i2c i2c_obj[sizeof(soft_i2c_config) / sizeof(soft_i2c_config[0])]; - -/** - * this function initializes the i2c pin. - * - * @param at32 i2c dirver class. - */ -static void at32_i2c_gpio_init(struct at32_i2c *i2c) -{ - struct at32_soft_i2c_config* cfg = (struct at32_soft_i2c_config*)i2c->ops.data; - - rt_pin_mode(cfg->scl, PIN_MODE_OUTPUT_OD); - rt_pin_mode(cfg->sda, PIN_MODE_OUTPUT_OD); - - rt_pin_write(cfg->scl, PIN_HIGH); - rt_pin_write(cfg->sda, PIN_HIGH); -} - -/** - * this function sets the sda pin. - * - * @param at32 config class. - * @param the sda pin state. - */ -static void at32_set_sda(void *data, rt_int32_t state) -{ - struct at32_soft_i2c_config* cfg = (struct at32_soft_i2c_config*)data; - if (state) - { - rt_pin_write(cfg->sda, PIN_HIGH); - } - else - { - rt_pin_write(cfg->sda, PIN_LOW); - } -} - -/** - * this function sets the scl pin. - * - * @param at32 config class. - * @param the scl pin state. - */ -static void at32_set_scl(void *data, rt_int32_t state) -{ - struct at32_soft_i2c_config* cfg = (struct at32_soft_i2c_config*)data; - if (state) - { - rt_pin_write(cfg->scl, PIN_HIGH); - } - else - { - rt_pin_write(cfg->scl, PIN_LOW); - } -} - -/** - * this function gets the sda pin state. - * - * @param the sda pin state. - */ -static rt_int32_t at32_get_sda(void *data) -{ - struct at32_soft_i2c_config* cfg = (struct at32_soft_i2c_config*)data; - return rt_pin_read(cfg->sda); -} - -/** - * this function gets the scl pin state. - * - * @param the scl pin state. - */ -static rt_int32_t at32_get_scl(void *data) -{ - struct at32_soft_i2c_config* cfg = (struct at32_soft_i2c_config*)data; - return rt_pin_read(cfg->scl); -} - -/** - * the time delay function. - * - * @param microseconds. - */ -static void at32_udelay(rt_uint32_t us) -{ - rt_uint32_t ticks; - rt_uint32_t told, tnow, tcnt = 0; - rt_uint32_t reload = SysTick->LOAD; - - ticks = us * reload / (1000000 / RT_TICK_PER_SECOND); - told = SysTick->VAL; - while (1) - { - tnow = SysTick->VAL; - if (tnow != told) - { - if (tnow < told) - { - tcnt += told - tnow; - } - else - { - tcnt += reload - tnow + told; - } - told = tnow; - if (tcnt >= ticks) - { - break; - } - } - } -} - -static const struct rt_i2c_bit_ops at32_bit_ops_default = -{ - .data = RT_NULL, - .set_sda = at32_set_sda, - .set_scl = at32_set_scl, - .get_sda = at32_get_sda, - .get_scl = at32_get_scl, - .udelay = at32_udelay, - .delay_us = 1, - .timeout = 100 -}; - -/** - * if i2c is locked, this function will unlock it - * - * @param at32 config class - * - * @return RT_EOK indicates successful unlock. - */ -static rt_err_t at32_i2c_bus_unlock(const struct at32_soft_i2c_config *cfg) -{ - rt_int32_t i = 0; - - if (PIN_LOW == rt_pin_read(cfg->sda)) - { - while (i++ < 9) - { - rt_pin_write(cfg->scl, PIN_HIGH); - at32_udelay(100); - rt_pin_write(cfg->scl, PIN_LOW); - at32_udelay(100); - } - } - if (PIN_LOW == rt_pin_read(cfg->sda)) - { - return -RT_ERROR; - } - - return RT_EOK; -} - -/* i2c initialization function */ -int rt_hw_i2c_init(void) -{ - rt_size_t obj_num = sizeof(i2c_obj) / sizeof(struct at32_i2c); - rt_err_t result; - - for (int i = 0; i < obj_num; i++) - { - i2c_obj[i].ops = at32_bit_ops_default; - i2c_obj[i].ops.data = (void*)&soft_i2c_config[i]; - i2c_obj[i].i2c_bus.priv = &i2c_obj[i].ops; - at32_i2c_gpio_init(&i2c_obj[i]); - result = rt_i2c_bit_add_bus(&i2c_obj[i].i2c_bus, soft_i2c_config[i].bus_name); - RT_ASSERT(result == RT_EOK); - at32_i2c_bus_unlock(&soft_i2c_config[i]); - - LOG_D("software simulation %s init done, pin scl: %d, pin sda %d", - soft_i2c_config[i].bus_name, - soft_i2c_config[i].scl, - soft_i2c_config[i].sda); - } - - return RT_EOK; -} - -INIT_BOARD_EXPORT(rt_hw_i2c_init); - -#endif /* RT_USING_I2C */ diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_soft_i2c.h b/bsp/at32/libraries/f415/rt_drivers/drv_soft_i2c.h deleted file mode 100644 index fecab31b4d..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_soft_i2c.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2020-01-09 shelton first version - */ - -#ifndef __DRV_I2C__ -#define __DRV_I2C__ - -#include <rtthread.h> -#include <rthw.h> -#include <rtdevice.h> - -/* at32 config class */ -struct at32_soft_i2c_config -{ - rt_uint8_t scl; - rt_uint8_t sda; - const char *bus_name; -}; -/* at32 i2c dirver class */ -struct at32_i2c -{ - struct rt_i2c_bit_ops ops; - struct rt_i2c_bus_device i2c_bus; -}; - -#ifdef BSP_USING_I2C1 -#define I2C1_BUS_CONFIG \ - { \ - .scl = BSP_I2C1_SCL_PIN, \ - .sda = BSP_I2C1_SDA_PIN, \ - .bus_name = "i2c1", \ - } -#endif - -#ifdef BSP_USING_I2C2 -#define I2C2_BUS_CONFIG \ - { \ - .scl = BSP_I2C2_SCL_PIN, \ - .sda = BSP_I2C2_SDA_PIN, \ - .bus_name = "i2c2", \ - } -#endif - -#ifdef BSP_USING_I2C3 -#define I2C3_BUS_CONFIG \ - { \ - .scl = BSP_I2C3_SCL_PIN, \ - .sda = BSP_I2C3_SDA_PIN, \ - .bus_name = "i2c3", \ - } -#endif - -int rt_hw_i2c_init(void); - -#endif diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_usart.c b/bsp/at32/libraries/f415/rt_drivers/drv_usart.c deleted file mode 100644 index 8a212053c4..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_usart.c +++ /dev/null @@ -1,295 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-05-12 shelton first version - */ - -#include "board.h" -#include "drv_usart.h" - -#ifdef RT_USING_SERIAL -#if !defined(BSP_USING_UART1) && !defined(BSP_USING_UART2) && \ - !defined(BSP_USING_UART3) && !defined(BSP_USING_UART4) && \ - !defined(BSP_USING_UART5) - #error "Please define at least one BSP_USING_UARTx" -#endif - -struct at32_usart { - char *name; - usart_type* usart_x; - IRQn_Type irqn; - struct rt_serial_device serial; -}; - -enum { -#ifdef BSP_USING_UART1 - UART1_INDEX, -#endif -#ifdef BSP_USING_UART2 - UART2_INDEX, -#endif -#ifdef BSP_USING_UART3 - UART3_INDEX, -#endif -#ifdef BSP_USING_UART4 - UART4_INDEX, -#endif -#ifdef BSP_USING_UART5 - UART5_INDEX, -#endif -}; - -static struct at32_usart usart_config[] = { -#ifdef BSP_USING_UART1 - { "uart1", - USART1, - USART1_IRQn, }, -#endif -#ifdef BSP_USING_UART2 - { "uart2", - USART2, - USART2_IRQn, }, -#endif -#ifdef BSP_USING_UART3 - { "uart3", - USART3, - USART3_IRQn, }, -#endif -#ifdef BSP_USING_UART4 - { "uart4", - UART4, - UART4_IRQn, }, -#endif -#ifdef BSP_USING_UART5 - { "uart5", - UART5, - UART5_IRQn, }, -#endif -}; - -static rt_err_t at32_configure(struct rt_serial_device *serial, - struct serial_configure *cfg) { - struct at32_usart *usart_instance = (struct at32_usart *) serial->parent.user_data; - usart_data_bit_num_type data_bit; - usart_stop_bit_num_type stop_bit; - usart_parity_selection_type parity_mode; - - RT_ASSERT(serial != RT_NULL); - RT_ASSERT(cfg != RT_NULL); - - RT_ASSERT(usart_instance != RT_NULL); - - at32_msp_usart_init((void *)usart_instance->usart_x); - - usart_receiver_enable(usart_instance->usart_x, TRUE); - usart_transmitter_enable(usart_instance->usart_x, TRUE); - - usart_hardware_flow_control_set(usart_instance->usart_x, USART_HARDWARE_FLOW_NONE); - - switch (cfg->data_bits) { - case DATA_BITS_8: - data_bit = USART_DATA_8BITS; - break; - case DATA_BITS_9: - data_bit = USART_DATA_9BITS; - break; - default: - data_bit = USART_DATA_8BITS; - break; - } - - switch (cfg->stop_bits) { - case STOP_BITS_1: - stop_bit = USART_STOP_1_BIT; - break; - case STOP_BITS_2: - stop_bit = USART_STOP_2_BIT; - break; - default: - stop_bit = USART_STOP_1_BIT; - break; - } - - switch (cfg->parity) { - case PARITY_NONE: - parity_mode = USART_PARITY_NONE; - break; - case PARITY_ODD: - parity_mode = USART_PARITY_ODD; - break; - case PARITY_EVEN: - parity_mode = USART_PARITY_EVEN; - break; - default: - parity_mode = USART_PARITY_NONE; - break; - } - usart_parity_selection_config(usart_instance->usart_x, parity_mode); - usart_init(usart_instance->usart_x, cfg->baud_rate, data_bit, stop_bit); - usart_enable(usart_instance->usart_x, TRUE); - - return RT_EOK; -} - -static rt_err_t at32_control(struct rt_serial_device *serial, int cmd, void *arg) { - struct at32_usart *usart; - - RT_ASSERT(serial != RT_NULL); - usart = (struct at32_usart *) serial->parent.user_data; - RT_ASSERT(usart != RT_NULL); - - switch (cmd) { - case RT_DEVICE_CTRL_CLR_INT: - nvic_irq_disable(usart->irqn); - usart_interrupt_enable(usart->usart_x, USART_RDBF_INT, FALSE); - break; - case RT_DEVICE_CTRL_SET_INT: - nvic_irq_enable(usart->irqn, 2, 1); - usart_interrupt_enable(usart->usart_x, USART_RDBF_INT, TRUE); - break; - } - - return RT_EOK; -} - -static int at32_putc(struct rt_serial_device *serial, char ch) { - struct at32_usart *usart; - - RT_ASSERT(serial != RT_NULL); - usart = (struct at32_usart *) serial->parent.user_data; - RT_ASSERT(usart != RT_NULL); - - usart_data_transmit(usart->usart_x, (uint8_t)ch); - while (usart_flag_get(usart->usart_x, USART_TDC_FLAG) == RESET); - - return 1; -} - -static int at32_getc(struct rt_serial_device *serial) { - int ch; - struct at32_usart *usart; - - RT_ASSERT(serial != RT_NULL); - usart = (struct at32_usart *) serial->parent.user_data; - RT_ASSERT(usart != RT_NULL); - - ch = -1; - if (usart_flag_get(usart->usart_x, USART_RDBF_FLAG) != RESET) { - ch = usart_data_receive(usart->usart_x) & 0xff; - } - - return ch; -} - -static const struct rt_uart_ops at32_usart_ops = { - at32_configure, - at32_control, - at32_putc, - at32_getc, - RT_NULL -}; - -static void usart_isr(struct rt_serial_device *serial) { - struct at32_usart *usart_instance; - - RT_ASSERT(serial != RT_NULL); - - usart_instance = (struct at32_usart *) serial->parent.user_data; - RT_ASSERT(usart_instance != RT_NULL); - - if (usart_flag_get(usart_instance->usart_x, USART_RDBF_FLAG) != RESET) { - rt_hw_serial_isr(serial, RT_SERIAL_EVENT_RX_IND); - usart_flag_clear(usart_instance->usart_x, USART_RDBF_FLAG); - } - else - { - if (usart_flag_get(usart_instance->usart_x, USART_CTSCF_FLAG) != RESET) { - usart_flag_clear(usart_instance->usart_x, USART_CTSCF_FLAG); - } - - if (usart_flag_get(usart_instance->usart_x, USART_BFF_FLAG) != RESET) { - usart_flag_clear(usart_instance->usart_x, USART_BFF_FLAG); - } - - if (usart_flag_get(usart_instance->usart_x, USART_TDC_FLAG) != RESET) { - usart_flag_clear(usart_instance->usart_x, USART_TDC_FLAG); - } - } -} - -#ifdef BSP_USING_UART1 -void USART1_IRQHandler(void) { - rt_interrupt_enter(); - - usart_isr(&usart_config[UART1_INDEX].serial); - - rt_interrupt_leave(); -} -#endif -#ifdef BSP_USING_UART2 -void USART2_IRQHandler(void) { - rt_interrupt_enter(); - - usart_isr(&usart_config[UART2_INDEX].serial); - - rt_interrupt_leave(); -} -#endif -#ifdef BSP_USING_UART3 -void USART3_IRQHandler(void) { - rt_interrupt_enter(); - - usart_isr(&usart_config[UART3_INDEX].serial); - - rt_interrupt_leave(); -} -#endif -#ifdef BSP_USING_UART4 -void UART4_IRQHandler(void) { - rt_interrupt_enter(); - - usart_isr(&usart_config[UART4_INDEX].serial); - - rt_interrupt_leave(); -} -#endif -#ifdef BSP_USING_UART5 -void UART5_IRQHandler(void) { - rt_interrupt_enter(); - - usart_isr(&usart_config[UART5_INDEX].serial); - - rt_interrupt_leave(); -} -#endif - -int rt_hw_usart_init(void) { - rt_size_t obj_num; - int index; - - obj_num = sizeof(usart_config) / sizeof(struct at32_usart); - struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT; - rt_err_t result = 0; - - for (index = 0; index < obj_num; index++) { - usart_config[index].serial.ops = &at32_usart_ops; - usart_config[index].serial.config = config; - - /* register uart device */ - result = rt_hw_serial_register(&usart_config[index].serial, - usart_config[index].name, - RT_DEVICE_FLAG_RDWR | - RT_DEVICE_FLAG_INT_RX | - RT_DEVICE_FLAG_INT_TX, - &usart_config[index]); - RT_ASSERT(result == RT_EOK); - } - - return result; -} - -#endif /* BSP_USING_SERIAL */ diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_usart.h b/bsp/at32/libraries/f415/rt_drivers/drv_usart.h deleted file mode 100644 index fc493d42da..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_usart.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2020-03-04 shelton first version - */ - -#ifndef __DRV_UART_H__ -#define __DRV_UART_H__ - -#include <rtthread.h> -#include <rtdevice.h> - -int rt_hw_usart_init(void); - -#endif /* __DRV_USART_H__ */ - -/******************* end of file *******************/ diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_wdt.c b/bsp/at32/libraries/f415/rt_drivers/drv_wdt.c deleted file mode 100644 index 4f03f7cdbb..0000000000 --- a/bsp/at32/libraries/f415/rt_drivers/drv_wdt.c +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-15 shelton first version - */ - -#include <drivers/watchdog.h> -#include "board.h" - -#ifdef RT_USING_WDT - -#define LICK_VALUE 40000 - -//#define DRV_DEBUG -#define LOG_TAG "drv.wdt" -#include <drv_log.h> - -struct at32_wdt_obj -{ - wdt_type *wdt_x; - wdt_division_type div; - rt_uint32_t reload; - rt_uint16_t is_start; -}; -static struct at32_wdt_obj at32_wdt; -static struct rt_watchdog_ops ops; -static rt_watchdog_t watchdog; - -static rt_err_t wdt_init(rt_watchdog_t *wdt) -{ - return RT_EOK; -} - -static rt_err_t wdt_control(rt_watchdog_t *wdt, int cmd, void *arg) -{ - switch (cmd) - { - /* feed the watchdog */ - case RT_DEVICE_CTRL_WDT_KEEPALIVE: - wdt_counter_reload(); - break; - /* set watchdog timeout */ - case RT_DEVICE_CTRL_WDT_SET_TIMEOUT: -#if defined(LICK_VALUE) - if(LICK_VALUE) - { - at32_wdt.reload = (*((rt_uint32_t*)arg)) * LICK_VALUE / 256 ; - } - else - { - LOG_E("Please define the value of LICK_VALUE!"); - } - if(at32_wdt.reload > 0xFFF) - { - LOG_E("wdg set timeout parameter too large, please less than %ds",0xFFF * 256 / LICK_VALUE); - return -RT_EINVAL; - } -#else - #error "Please define the value of LICK_VALUE!" -#endif - if(at32_wdt.is_start) - { - wdt_register_write_enable(TRUE); - wdt_divider_set(at32_wdt.div); - wdt_reload_value_set(at32_wdt.reload); - wdt_counter_reload(); - wdt_register_write_enable(FALSE); - wdt_enable(); - } - break; - case RT_DEVICE_CTRL_WDT_GET_TIMEOUT: -#if defined(LICK_VALUE) - if(LICK_VALUE) - { - (*((rt_uint32_t*)arg)) = at32_wdt.reload * 256 / LICK_VALUE; - } - else - { - LOG_E("Please define the value of LICK_VALUE!"); - } -#else - #error "Please define the value of LICK_VALUE!" -#endif - break; - case RT_DEVICE_CTRL_WDT_START: - wdt_register_write_enable(TRUE); - wdt_divider_set(at32_wdt.div); - wdt_reload_value_set(at32_wdt.reload); - wdt_counter_reload(); - wdt_register_write_enable(FALSE); - wdt_enable(); - at32_wdt.is_start = 1; - break; - default: - LOG_W("This command is not supported."); - return -RT_ERROR; - } - return RT_EOK; -} - -int rt_hw_wdt_init(void) -{ - at32_wdt.wdt_x = WDT; - at32_wdt.div = WDT_CLK_DIV_256; - at32_wdt.reload = 0x00000FFF; - at32_wdt.is_start = 0; - - ops.init = &wdt_init; - ops.control = &wdt_control; - watchdog.ops = &ops; - /* register watchdog device */ - if (rt_hw_watchdog_register(&watchdog, "wdt", RT_DEVICE_FLAG_DEACTIVATE, RT_NULL) != RT_EOK) - { - LOG_E("wdt device register failed."); - return -RT_ERROR; - } - LOG_D("wdt device register success."); - return RT_EOK; -} - -INIT_BOARD_EXPORT(rt_hw_wdt_init); - -#endif /* RT_USING_WDT */ diff --git a/bsp/at32/libraries/f435_437/.ignore_format.yml b/bsp/at32/libraries/f435_437/.ignore_format.yml deleted file mode 100644 index b5c3accab5..0000000000 --- a/bsp/at32/libraries/f435_437/.ignore_format.yml +++ /dev/null @@ -1,6 +0,0 @@ -# files format check exclude path, please follow the instructions below to modify; -# If you need to exclude an entire folder, add the folder path in dir_path; -# If you need to exclude a file, add the path to the file in file_path. - -dir_path: -- firmware diff --git a/bsp/at32/libraries/f435_437/SConscript b/bsp/at32/libraries/f435_437/SConscript deleted file mode 100644 index c7ef7659ec..0000000000 --- a/bsp/at32/libraries/f435_437/SConscript +++ /dev/null @@ -1,14 +0,0 @@ -# for module compiling -import os -from building import * - -cwd = GetCurrentDir() -objs = [] -list = os.listdir(cwd) - -for d in list: - path = os.path.join(cwd, d) - if os.path.isfile(os.path.join(path, 'SConscript')): - objs = objs + SConscript(os.path.join(d, 'SConscript')) - -Return('objs') diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_can.c b/bsp/at32/libraries/f435_437/rt_drivers/drv_can.c deleted file mode 100644 index c48c1c7391..0000000000 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_can.c +++ /dev/null @@ -1,868 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-28 shelton first version - */ - -#include "drv_can.h" - -#ifdef BSP_USING_CAN - -#define LOG_TAG "drv_can" -#include <drv_log.h> - -#ifdef SOC_SERIES_AT32F435 -/* attention !!! baud calculation example: apbclk / ((ss + bs1 + bs2) * brp), ep: 144 / ((1 + 8 + 3) * 12) = 1MHz*/ -/* attention !!! default apbclk 144 mhz */ -static const struct at32_baud_rate can_baud_rate_tab[] = -{ - {CAN1MBaud, {12 , CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, - {CAN800kBaud, {18 , CAN_RSAW_2TQ, CAN_BTS1_7TQ, CAN_BTS2_2TQ}}, - {CAN500kBaud, {24 , CAN_RSAW_2TQ, CAN_BTS1_9TQ, CAN_BTS2_2TQ}}, - {CAN250kBaud, {48 , CAN_RSAW_2TQ, CAN_BTS1_9TQ, CAN_BTS2_2TQ}}, - {CAN125kBaud, {96 , CAN_RSAW_2TQ, CAN_BTS1_9TQ, CAN_BTS2_2TQ}}, - {CAN100kBaud, {90 , CAN_RSAW_2TQ, CAN_BTS1_13TQ, CAN_BTS2_2TQ}}, - {CAN50kBaud, {180, CAN_RSAW_2TQ, CAN_BTS1_13TQ, CAN_BTS2_2TQ}}, - {CAN20kBaud, {450, CAN_RSAW_2TQ, CAN_BTS1_13TQ, CAN_BTS2_2TQ}}, - {CAN10kBaud, {900, CAN_RSAW_2TQ, CAN_BTS1_13TQ, CAN_BTS2_2TQ}} -}; -#endif -#ifdef SOC_SERIES_AT32F437 -/* attention !!! baud calculation example: apbclk / ((ss + bs1 + bs2) * brp), ep: 125 / ((1 + 3 + 1) * 25) = 1MHz*/ -/* attention !!! default apbclk 125 mhz */ -static const struct at32_baud_rate can_baud_rate_tab[] = -{ - {CAN1MBaud, {25 , CAN_RSAW_1TQ, CAN_BTS1_3TQ, CAN_BTS2_1TQ}}, - //none - {CAN500kBaud, {25 , CAN_RSAW_2TQ, CAN_BTS1_7TQ, CAN_BTS2_2TQ}}, - {CAN250kBaud, {25 , CAN_RSAW_3TQ, CAN_BTS1_16TQ, CAN_BTS2_3TQ}}, - {CAN125kBaud, {50 , CAN_RSAW_2TQ, CAN_BTS1_16TQ, CAN_BTS2_3TQ}}, - {CAN100kBaud, {125, CAN_RSAW_1TQ, CAN_BTS1_8TQ, CAN_BTS2_1TQ}}, - {CAN50kBaud, {125, CAN_RSAW_2TQ, CAN_BTS1_16TQ, CAN_BTS2_3TQ}}, - {CAN20kBaud, {625, CAN_RSAW_1TQ, CAN_BTS1_8TQ, CAN_BTS2_1TQ}}, - {CAN10kBaud, {625, CAN_RSAW_2TQ, CAN_BTS1_16TQ, CAN_BTS2_3TQ}} -}; -#endif - -#ifdef BSP_USING_CAN1 -static struct at32_can can_instance1 = -{ - .name = "can1", - .config.can_x = CAN1, -}; -#endif - -#ifdef BSP_USING_CAN2 -static struct at32_can can_instance2 = -{ - .name = "can2", - .config.can_x = CAN2, -}; -#endif - -static rt_uint32_t get_can_baud_index(rt_uint32_t baud) -{ - rt_uint32_t len, index; - - len = sizeof(can_baud_rate_tab) / sizeof(can_baud_rate_tab[0]); - for (index = 0; index < len; index++) - { - if (can_baud_rate_tab[index].baud_rate == baud) - return index; - } - /* default baud is CAN1MBaud */ - return 0; -} - -static rt_err_t _can_config(struct rt_can_device *can, struct can_configure *cfg) -{ - struct at32_can *can_instance; - rt_uint32_t baud_index; - - RT_ASSERT(can); - RT_ASSERT(cfg); - - can_instance = (struct at32_can *)can->parent.user_data; - RT_ASSERT(can_instance); - - at32_msp_can_init((void *)can_instance->config.can_x); - - baud_index = get_can_baud_index(cfg->baud_rate); - /* get baudrate parameters */ - can_baudrate_default_para_init(&can_instance->config.baudrate_init_struct); - can_instance->config.baudrate_init_struct.rsaw_size = can_baud_rate_tab[baud_index].baud_struct.rsaw_size; - can_instance->config.baudrate_init_struct.bts1_size = can_baud_rate_tab[baud_index].baud_struct.bts1_size; - can_instance->config.baudrate_init_struct.bts2_size = can_baud_rate_tab[baud_index].baud_struct.bts2_size; - can_instance->config.baudrate_init_struct.baudrate_div = can_baud_rate_tab[baud_index].baud_struct.baudrate_div; - /* config can baudrate */ - if(can_baudrate_set(can_instance->config.can_x, &(can_instance->config.baudrate_init_struct)) != SUCCESS) - { - return -RT_ERROR; - } - - /* config can base parameters */ - can_default_para_init(&(can_instance->config.base_init_struct)); - switch (cfg->mode) - { - case RT_CAN_MODE_NORMAL: - can_instance->config.base_init_struct.mode_selection = CAN_MODE_COMMUNICATE; - break; - case RT_CAN_MODE_LISEN: - can_instance->config.base_init_struct.mode_selection = CAN_MODE_LISTENONLY; - break; - case RT_CAN_MODE_LOOPBACK: - can_instance->config.base_init_struct.mode_selection = CAN_MODE_LOOPBACK; - break; - case RT_CAN_MODE_LOOPBACKANLISEN: - can_instance->config.base_init_struct.mode_selection = CAN_MODE_LISTENONLY_LOOPBACK; - break; - } - - can_instance->config.base_init_struct.aebo_enable = TRUE; - can_instance->config.base_init_struct.aed_enable = TRUE; - can_instance->config.base_init_struct.prsf_enable = FALSE; - can_instance->config.base_init_struct.mdrsel_selection = CAN_DISCARDING_FIRST_RECEIVED; - can_instance->config.base_init_struct.mmssr_selection = CAN_SENDING_BY_REQUEST; - /* init can base function */ - if (can_base_init(can_instance->config.can_x, &(can_instance->config.base_init_struct)) != SUCCESS) - { - return -RT_ERROR; - } - - /* config filter parameters */ - can_filter_init(can_instance->config.can_x, &can_instance->config.filter_init_struct); - - return RT_EOK; -} - -static rt_err_t _can_control(struct rt_can_device *can, int cmd, void *arg) -{ - rt_uint32_t argval; - struct at32_can *can_instance; - struct rt_can_filter_config *filter_cfg; - - RT_ASSERT(can != RT_NULL); - can_instance = (struct at32_can *)can->parent.user_data; - RT_ASSERT(can_instance != RT_NULL); - - switch (cmd) - { - case RT_DEVICE_CTRL_CLR_INT: - argval = (rt_uint32_t) arg; - if (argval == RT_DEVICE_FLAG_INT_RX) - { - if (CAN1 == can_instance->config.can_x) - { - nvic_irq_disable(CAN1_RX0_IRQn); - nvic_irq_disable(CAN1_RX1_IRQn); - } - - if (CAN2 == can_instance->config.can_x) - { - nvic_irq_disable(CAN2_RX0_IRQn); - nvic_irq_disable(CAN2_RX1_IRQn); - } - - /* disable interrupt */ - can_interrupt_enable(can_instance->config.can_x, CAN_RF0MIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF0FIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF0OIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF1MIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF1FIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF1OIEN_INT, FALSE); - } - else if (argval == RT_DEVICE_FLAG_INT_TX) - { - if (CAN1 == can_instance->config.can_x) - { - nvic_irq_disable(CAN1_TX_IRQn); - } - - if (CAN2 == can_instance->config.can_x) - { - nvic_irq_disable(CAN2_TX_IRQn); - } - - can_interrupt_enable(can_instance->config.can_x, CAN_TCIEN_INT, FALSE); - } - else if (argval == RT_DEVICE_CAN_INT_ERR) - { - if (CAN1 == can_instance->config.can_x) - { - nvic_irq_disable(CAN1_SE_IRQn); - } - - if (CAN2 == can_instance->config.can_x) - { - nvic_irq_disable(CAN2_SE_IRQn); - } - - can_interrupt_enable(can_instance->config.can_x, CAN_EAIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_EPIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_BOIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_ETRIEN_INT, FALSE); - can_interrupt_enable(can_instance->config.can_x, CAN_EOIEN_INT, FALSE); - } - - break; - case RT_DEVICE_CTRL_SET_INT: - argval = (rt_uint32_t) arg; - if (argval == RT_DEVICE_FLAG_INT_RX) - { - can_interrupt_enable(can_instance->config.can_x, CAN_RF0MIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF0FIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF0OIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF1MIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF1FIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_RF1OIEN_INT, TRUE); - - if (CAN1 == can_instance->config.can_x) - { - nvic_irq_enable(CAN1_RX0_IRQn, 1, 0); - nvic_irq_enable(CAN1_RX1_IRQn, 1, 0); - } - - if (CAN2 == can_instance->config.can_x) - { - nvic_irq_enable(CAN2_RX0_IRQn, 1, 0); - nvic_irq_enable(CAN2_RX1_IRQn, 1, 0); - } - - } - else if (argval == RT_DEVICE_FLAG_INT_TX) - { - can_interrupt_enable(can_instance->config.can_x, CAN_TCIEN_INT, TRUE); - - if (CAN1 == can_instance->config.can_x) - { - nvic_irq_enable(CAN1_TX_IRQn, 1, 0); - } - - if (CAN2 == can_instance->config.can_x) - { - nvic_irq_enable(CAN2_TX_IRQn, 1, 0); - } - } - else if (argval == RT_DEVICE_CAN_INT_ERR) - { - can_interrupt_enable(can_instance->config.can_x, CAN_EAIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_EPIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_BOIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_ETRIEN_INT, TRUE); - can_interrupt_enable(can_instance->config.can_x, CAN_EOIEN_INT, TRUE); - - if (CAN1 == can_instance->config.can_x) - { - nvic_irq_enable(CAN1_SE_IRQn, 1, 0); - } - - if (CAN2 == can_instance->config.can_x) - { - nvic_irq_enable(CAN2_SE_IRQn, 1, 0); - } - } - break; - case RT_CAN_CMD_SET_FILTER: - { - rt_uint32_t id_h = 0; - rt_uint32_t id_l = 0; - rt_uint32_t mask_h = 0; - rt_uint32_t mask_l = 0; - rt_uint32_t mask_l_tail = 0; - - if (RT_NULL == arg) - { - /* default filter config */ - can_filter_init(can_instance->config.can_x, &can_instance->config.filter_init_struct); - } - else - { - filter_cfg = (struct rt_can_filter_config *)arg; - /* get default filter */ - for (int i = 0; i < filter_cfg->count; i++) - { - if (filter_cfg->items[i].hdr == -1) - { - can_instance->config.filter_init_struct.filter_number = i; - } - else - { - can_instance->config.filter_init_struct.filter_number = filter_cfg->items[i].hdr; - } - /** - * ID | CAN_FxR1[31:24] | CAN_FxR1[23:16] | CAN_FxR1[15:8] | CAN_FxR1[7:0] | - * MASK | CAN_FxR2[31:24] | CAN_FxR1[23:16] | CAN_FxR1[15:8] | CAN_FxR1[7:0] | - * STD ID | STID[10:3] | STDID[2:0] |<- 21bit ->| - * EXT ID | EXTID[28:21] | EXTID[20:13] | EXTID[12:5] | EXTID[4:0] IDE RTR 0| - * @note the 32bit STD ID must << 21 to fill CAN_FxR1[31:21] and EXT ID must << 3, - * -> but the id bit of struct rt_can_filter_item is 29, - * -> so STD id << 18 and EXT id Don't need << 3, when get the high 16bit. - * -> FilterIdHigh : (((STDid << 18) or (EXT id)) >> 13) & 0xFFFF, - * -> FilterIdLow: ((STDid << 18) or (EXT id << 3)) & 0xFFFF. - * @note the mask bit of struct rt_can_filter_item is 32, - * -> FilterMaskIdHigh: (((STD mask << 21) or (EXT mask <<3)) >> 16) & 0xFFFF - * -> FilterMaskIdLow: ((STD mask << 21) or (EXT mask <<3)) & 0xFFFF - */ - if (filter_cfg->items[i].mode == CAN_FILTER_MODE_ID_MASK) - { - mask_l_tail = 0x06; - } - else if (filter_cfg->items[i].mode == CAN_FILTER_MODE_ID_LIST) - { - mask_l_tail = (filter_cfg->items[i].ide << 2) | - (filter_cfg->items[i].rtr << 1); - } - if (filter_cfg->items[i].ide == RT_CAN_STDID) - { - id_h = ((filter_cfg->items[i].id << 18) >> 13) & 0xFFFF; - id_l = ((filter_cfg->items[i].id << 18) | - (filter_cfg->items[i].ide << 2) | - (filter_cfg->items[i].rtr << 1)) & 0xFFFF; - mask_h = ((filter_cfg->items[i].mask << 21) >> 16) & 0xFFFF; - mask_l = ((filter_cfg->items[i].mask << 21) | mask_l_tail) & 0xFFFF; - } - else if (filter_cfg->items[i].ide == RT_CAN_EXTID) - { - id_h = (filter_cfg->items[i].id >> 13) & 0xFFFF; - id_l = ((filter_cfg->items[i].id << 3) | - (filter_cfg->items[i].ide << 2) | - (filter_cfg->items[i].rtr << 1)) & 0xFFFF; - mask_h = ((filter_cfg->items[i].mask << 3) >> 16) & 0xFFFF; - mask_l = ((filter_cfg->items[i].mask << 3) | mask_l_tail) & 0xFFFF; - } - can_instance->config.filter_init_struct.filter_id_high = id_h; - can_instance->config.filter_init_struct.filter_id_low = id_l; - can_instance->config.filter_init_struct.filter_mask_high = mask_h; - can_instance->config.filter_init_struct.filter_mask_low = mask_l; - can_instance->config.filter_init_struct.filter_mode = (can_filter_mode_type)filter_cfg->items[i].mode; - - /* filter conf */ - can_filter_init(can_instance->config.can_x, &can_instance->config.filter_init_struct); - } - } - break; - } - case RT_CAN_CMD_SET_MODE: - argval = (rt_uint32_t) arg; - if (argval != RT_CAN_MODE_NORMAL && - argval != RT_CAN_MODE_LISEN && - argval != RT_CAN_MODE_LOOPBACK && - argval != RT_CAN_MODE_LOOPBACKANLISEN) - { - return -RT_ERROR; - } - if (argval != can_instance->device.config.mode) - { - can_instance->device.config.mode = argval; - return _can_config(&can_instance->device, &can_instance->device.config); - } - break; - case RT_CAN_CMD_SET_BAUD: - argval = (rt_uint32_t) arg; - if (argval != CAN1MBaud && - argval != CAN800kBaud && - argval != CAN500kBaud && - argval != CAN250kBaud && - argval != CAN125kBaud && - argval != CAN100kBaud && - argval != CAN50kBaud && - argval != CAN20kBaud && - argval != CAN10kBaud) - { - return -RT_ERROR; - } - if (argval != can_instance->device.config.baud_rate) - { - can_instance->device.config.baud_rate = argval; - return _can_config(&can_instance->device, &can_instance->device.config); - } - break; - case RT_CAN_CMD_SET_PRIV: - argval = (rt_uint32_t) arg; - if (argval != RT_CAN_MODE_PRIV && - argval != RT_CAN_MODE_NOPRIV) - { - return -RT_ERROR; - } - if (argval != can_instance->device.config.privmode) - { - can_instance->device.config.privmode = argval; - return _can_config(&can_instance->device, &can_instance->device.config); - } - break; - case RT_CAN_CMD_GET_STATUS: - { - rt_uint32_t errtype; - errtype = can_instance->config.can_x->ests; - can_instance->device.status.rcverrcnt = errtype >> 24; - can_instance->device.status.snderrcnt = (errtype >> 16 & 0xFF); - can_instance->device.status.lasterrtype = errtype & 0x70; - can_instance->device.status.errcode = errtype & 0x07; - - rt_memcpy(arg, &can_instance->device.status, sizeof(can_instance->device.status)); - } - break; - } - - return RT_EOK; -} - -static int _can_sendmsg(struct rt_can_device *can, const void *buf, rt_uint32_t box_num) -{ - struct can_config *hcan; - hcan = &((struct at32_can *) can->parent.user_data)->config; - struct rt_can_msg *pmsg = (struct rt_can_msg *) buf; - can_tx_message_type tx_message; - - /* check select mailbox is empty */ - switch (box_num) - { - case CAN_TX_MAILBOX0: - if (hcan->can_x->tsts_bit.tm0ef != 1) - { - /* return function status */ - return -RT_ERROR; - } - break; - case CAN_TX_MAILBOX1: - if (hcan->can_x->tsts_bit.tm1ef != 1) - { - /* return function status */ - return -RT_ERROR; - } - break; - case CAN_TX_MAILBOX2: - if (hcan->can_x->tsts_bit.tm2ef != 1) - { - /* return function status */ - return -RT_ERROR; - } - break; - default: - RT_ASSERT(0); - break; - } - - if (RT_CAN_STDID == pmsg->ide) - { - tx_message.id_type = CAN_ID_STANDARD; - tx_message.standard_id = pmsg->id; - } - else - { - tx_message.id_type = CAN_ID_EXTENDED; - tx_message.extended_id = pmsg->id; - } - - if (RT_CAN_DTR == pmsg->rtr) - { - tx_message.frame_type = CAN_TFT_DATA; - } - else - { - tx_message.frame_type = CAN_TFT_REMOTE; - } - - /* set up the dlc */ - tx_message.dlc = pmsg->len & 0x0FU; - /* set up the data field */ - tx_message.data[0] = (uint32_t)pmsg->data[0]; - tx_message.data[1] = (uint32_t)pmsg->data[1]; - tx_message.data[2] = (uint32_t)pmsg->data[2]; - tx_message.data[3] = (uint32_t)pmsg->data[3]; - tx_message.data[4] = (uint32_t)pmsg->data[4]; - tx_message.data[5] = (uint32_t)pmsg->data[5]; - tx_message.data[6] = (uint32_t)pmsg->data[6]; - tx_message.data[7] = (uint32_t)pmsg->data[7]; - - can_message_transmit(hcan->can_x, &tx_message); - - return RT_EOK; -} - -static int _can_recvmsg(struct rt_can_device *can, void *buf, rt_uint32_t fifo) -{ - struct can_config *hcan; - hcan = &((struct at32_can *) can->parent.user_data)->config; - struct rt_can_msg *pmsg = (struct rt_can_msg *) buf; - can_rx_message_type rx_message; - - RT_ASSERT(can); - - /* get data */ - can_message_receive(hcan->can_x, (can_rx_fifo_num_type)fifo, &rx_message); - - pmsg->data[0] = rx_message.data[0]; - pmsg->data[1] = rx_message.data[1]; - pmsg->data[2] = rx_message.data[2]; - pmsg->data[3] = rx_message.data[3]; - pmsg->data[4] = rx_message.data[4]; - pmsg->data[5] = rx_message.data[5]; - pmsg->data[6] = rx_message.data[6]; - pmsg->data[7] = rx_message.data[7]; - - pmsg->len = rx_message.dlc; - pmsg->id = rx_message.id_type; - - if (rx_message.id_type == CAN_ID_STANDARD) - pmsg->id = rx_message.standard_id; - else - pmsg->ide = rx_message.extended_id; - - pmsg->rtr = rx_message.frame_type; - pmsg->hdr = rx_message.filter_index; - - return RT_EOK; -} - -static const struct rt_can_ops _can_ops = -{ - _can_config, - _can_control, - _can_sendmsg, - _can_recvmsg, -}; - -static void _can_rx_isr(struct rt_can_device *can, rt_uint32_t fifo) -{ - struct can_config *hcan; - RT_ASSERT(can); - hcan = &((struct at32_can *) can->parent.user_data)->config; - - switch (fifo) - { - case CAN_RX_FIFO0: - /* save to user list */ - if (can_receive_message_pending_get(hcan->can_x, CAN_RX_FIFO0) && \ - can_flag_get(hcan->can_x, CAN_RF0MN_FLAG)) - { - rt_hw_can_isr(can, RT_CAN_EVENT_RX_IND | fifo << 8); - } - /* check full flag for fifo0 */ - if (can_flag_get(hcan->can_x, CAN_RF0FF_FLAG) == SET) - { - /* clear fifo0 full flag */ - can_flag_clear(hcan->can_x, CAN_RF0FF_FLAG); - } - - /* check overrun flag for fifo0 */ - if (can_flag_get(hcan->can_x, CAN_RF0OF_FLAG) == SET) - { - /* clear fifo0 overrun flag */ - can_flag_clear(hcan->can_x, CAN_RF0OF_FLAG); - rt_hw_can_isr(can, RT_CAN_EVENT_RXOF_IND | fifo << 8); - } - break; - case CAN_RX_FIFO1: - /* save to user list */ - if (can_receive_message_pending_get(hcan->can_x, CAN_RX_FIFO1) && \ - can_flag_get(hcan->can_x, CAN_RF1MN_FLAG)) - { - rt_hw_can_isr(can, RT_CAN_EVENT_RX_IND | fifo << 8); - } - /* check full flag for fifo1 */ - if (can_flag_get(hcan->can_x, CAN_RF1FF_FLAG) == SET) - { - /* clear fifo1 full flag */ - can_flag_clear(hcan->can_x, CAN_RF1FF_FLAG); - } - - /* check overrun flag for fifo1 */ - if (can_flag_get(hcan->can_x, CAN_RF1OF_FLAG) == SET) - { - /* clear fifo1 overrun flag */ - can_flag_clear(hcan->can_x, CAN_RF1OF_FLAG); - rt_hw_can_isr(can, RT_CAN_EVENT_RXOF_IND | fifo << 8); - } - break; - } -} - -#ifdef BSP_USING_CAN1 -/** - * @brief this function handles can1 tx interrupts. transmit fifo0/1/2 is empty can trigger this interrupt - */ -void CAN1_TX_IRQHandler(void) -{ - rt_interrupt_enter(); - struct can_config *hcan; - hcan = &can_instance1.config; - if (can_flag_get(hcan->can_x, CAN_TM0TCF_FLAG) == SET) - { - if (hcan->can_x->tsts_bit.tm0tsf == 1) - { - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_DONE | 0 << 8); - } - else - { - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_FAIL | 0 << 8); - } - /* write 0 to clear transmission status flag */ - can_flag_clear(hcan->can_x, CAN_TM0TCF_FLAG); - } - else if (can_flag_get(hcan->can_x, CAN_TM1TCF_FLAG) == SET) - { - if (hcan->can_x->tsts_bit.tm1tsf == 1) - { - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_DONE | 1 << 8); - } - else - { - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_FAIL | 1 << 8); - } - /* write 0 to clear transmission status flag */ - can_flag_clear(hcan->can_x, CAN_TM1TCF_FLAG); - } - else if (can_flag_get(hcan->can_x, CAN_TM2TCF_FLAG) == SET) - { - if (hcan->can_x->tsts_bit.tm2tsf == 1) - { - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_DONE | 2 << 8); - } - else - { - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_FAIL | 2 << 8); - } - /* write 0 to clear transmission status flag */ - can_flag_clear(hcan->can_x, CAN_TM2TCF_FLAG); - } - rt_interrupt_leave(); -} - -/** - * @brief this function handles can1 rx0 interrupts. - */ -void CAN1_RX0_IRQHandler(void) -{ - rt_interrupt_enter(); - _can_rx_isr(&can_instance1.device, CAN_RX_FIFO0); - rt_interrupt_leave(); -} - -/** - * @brief this function handles can1 rx1 interrupts. - */ -void CAN1_RX1_IRQHandler(void) -{ - rt_interrupt_enter(); - _can_rx_isr(&can_instance1.device, CAN_RX_FIFO1); - rt_interrupt_leave(); -} - -/** - * @brief this function handles can1 sce interrupts. - */ -void CAN1_SE_IRQHandler(void) -{ - rt_uint32_t errtype; - struct can_config *hcan; - - hcan = &can_instance1.config; - errtype = hcan->can_x->ests; - - rt_interrupt_enter(); - - switch ((errtype & 0x70) >> 4) - { - case RT_CAN_BUS_BIT_PAD_ERR: - can_instance1.device.status.bitpaderrcnt++; - break; - case RT_CAN_BUS_FORMAT_ERR: - can_instance1.device.status.formaterrcnt++; - break; - case RT_CAN_BUS_ACK_ERR:/* attention !!! test ack err's unit is transmit unit */ - can_instance1.device.status.ackerrcnt++; - if (!(can_instance1.config.can_x->tsts_bit.tm0tsf == 1)) - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_FAIL | 0 << 8); - else if (!(can_instance1.config.can_x->tsts_bit.tm1tsf == 1)) - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_FAIL | 1 << 8); - else if (!(can_instance1.config.can_x->tsts_bit.tm2tsf == 1)) - rt_hw_can_isr(&can_instance1.device, RT_CAN_EVENT_TX_FAIL | 2 << 8); - break; - case RT_CAN_BUS_IMPLICIT_BIT_ERR: - case RT_CAN_BUS_EXPLICIT_BIT_ERR: - can_instance1.device.status.biterrcnt++; - break; - case RT_CAN_BUS_CRC_ERR: - can_instance1.device.status.crcerrcnt++; - break; - } - - can_instance1.device.status.lasterrtype = errtype & 0x70; - can_instance1.device.status.rcverrcnt = errtype >> 24; - can_instance1.device.status.snderrcnt = (errtype >> 16 & 0xFF); - can_instance1.device.status.errcode = errtype & 0x07; - /* clear error flags */ - can_flag_clear(hcan->can_x, CAN_ETR_FLAG); - rt_interrupt_leave(); -} -#endif - -#ifdef BSP_USING_CAN2 -/** - * @brief this function handles can2 tx interrupts. - */ -void CAN2_TX_IRQHandler(void) -{ - rt_interrupt_enter(); - struct can_config *hcan; - hcan = &can_instance2.config; - if (can_flag_get(hcan->can_x, CAN_TM0TCF_FLAG) == SET) - { - if (hcan->can_x->tsts_bit.tm0tsf == 1) - { - rt_hw_can_isr(&can_instance2.device, RT_CAN_EVENT_TX_DONE | 0 << 8); - } - else - { - rt_hw_can_isr(&can_instance2.device, RT_CAN_EVENT_TX_FAIL | 0 << 8); - } - /* write 0 to clear transmission status flag rqcpx */ - can_flag_clear(hcan->can_x, CAN_TM0TCF_FLAG); - } - else if (can_flag_get(hcan->can_x, CAN_TM1TCF_FLAG) == SET) - { - if (hcan->can_x->tsts_bit.tm1tsf == 1) - { - rt_hw_can_isr(&can_instance2.device, RT_CAN_EVENT_TX_DONE | 1 << 8); - } - else - { - rt_hw_can_isr(&can_instance2.device, RT_CAN_EVENT_TX_FAIL | 1 << 8); - } - /* write 0 to clear transmission status flag rqcpx */ - can_flag_clear(hcan->can_x, CAN_TM1TCF_FLAG); - } - else if (can_flag_get(hcan->can_x, CAN_TM2TCF_FLAG) == SET) - { - if (hcan->can_x->tsts_bit.tm2tsf == 1) - { - rt_hw_can_isr(&can_instance2.device, RT_CAN_EVENT_TX_DONE | 2 << 8); - } - else - { - rt_hw_can_isr(&can_instance2.device, RT_CAN_EVENT_TX_FAIL | 2 << 8); - } - /* write 0 to clear transmission status flag rqcpx */ - can_flag_clear(hcan->can_x, CAN_TM2TCF_FLAG); - } - rt_interrupt_leave(); -} - -/** - * @brief this function handles can2 rx0 interrupts. - */ -void CAN2_RX0_IRQHandler(void) -{ - rt_interrupt_enter(); - _can_rx_isr(&can_instance2.device, CAN_RX_FIFO0); - rt_interrupt_leave(); -} - -/** - * @brief this function handles can2 rx1 interrupts. - */ -void CAN2_RX1_IRQHandler(void) -{ - rt_interrupt_enter(); - _can_rx_isr(&can_instance2.device, CAN_RX_FIFO1); - rt_interrupt_leave(); -} - -/** - * @brief this function handles can2 sce interrupts. - */ -void CAN2_SE_IRQHandler(void) -{ - rt_uint32_t errtype; - struct can_config *hcan; - - hcan = &can_instance2.config; - errtype = hcan->can_x->ests; - - rt_interrupt_enter(); - - switch ((errtype & 0x70) >> 4) - { - case RT_CAN_BUS_BIT_PAD_ERR: - can_instance2.device.status.bitpaderrcnt++; - break; - case RT_CAN_BUS_FORMAT_ERR: - can_instance2.device.status.formaterrcnt++; - break; - case RT_CAN_BUS_ACK_ERR: - can_instance2.device.status.ackerrcnt++; - if (!(can_instance2.config.can_x->tsts_bit.tm0tsf == 1)) - rt_hw_can_isr(&can_instance2.device, RT_CAN_EVENT_TX_FAIL | 0 << 8); - else if (!(can_instance2.config.can_x->tsts_bit.tm1tsf == 1)) - rt_hw_can_isr(&can_instance2.device, RT_CAN_EVENT_TX_FAIL | 1 << 8); - else if (!(can_instance2.config.can_x->tsts_bit.tm2tsf == 1)) - rt_hw_can_isr(&can_instance2.device, RT_CAN_EVENT_TX_FAIL | 2 << 8); - break; - case RT_CAN_BUS_IMPLICIT_BIT_ERR: - case RT_CAN_BUS_EXPLICIT_BIT_ERR: - can_instance2.device.status.biterrcnt++; - break; - case RT_CAN_BUS_CRC_ERR: - can_instance2.device.status.crcerrcnt++; - break; - } - - can_instance2.device.status.lasterrtype = errtype & 0x70; - can_instance2.device.status.rcverrcnt = errtype >> 24; - can_instance2.device.status.snderrcnt = (errtype >> 16 & 0xFF); - can_instance2.device.status.errcode = errtype & 0x07; - /* clear error flags */ - can_flag_clear(hcan->can_x, CAN_ETR_FLAG); - rt_interrupt_leave(); -} -#endif - -int rt_hw_can_init(void) -{ - struct can_configure config = CANDEFAULTCONFIG; - config.privmode = RT_CAN_MODE_NOPRIV; - config.ticks = 50; -#ifdef RT_CAN_USING_HDR - config.maxhdr = 14; -#endif - /* config default filter */ - can_filter_init_type filter_conf; - can_filter_default_para_init(&filter_conf); - filter_conf.filter_activate_enable = TRUE; - filter_conf.filter_bit = CAN_FILTER_32BIT; - -#ifdef BSP_USING_CAN1 - filter_conf.filter_number = 0; - can_instance1.config.filter_init_struct = filter_conf; - can_instance1.device.config = config; - - /* register can1 device */ - rt_hw_can_register(&can_instance1.device, - can_instance1.name, - &_can_ops, - &can_instance1); -#endif /* BSP_USING_CAN1 */ - -#ifdef BSP_USING_CAN2 - filter_conf.filter_number = 0; - can_instance2.config.filter_init_struct = filter_conf; - can_instance2.device.config = config; - - /* register can2 device */ - rt_hw_can_register(&can_instance2.device, - can_instance2.name, - &_can_ops, - &can_instance2); -#endif /* BSP_USING_CAN2 */ - - return 0; -} - -INIT_BOARD_EXPORT(rt_hw_can_init); - -#endif /* BSP_USING_CAN */ diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_can.h b/bsp/at32/libraries/f435_437/rt_drivers/drv_can.h deleted file mode 100644 index cec0239989..0000000000 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_can.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-11 shelton first version - */ - -#ifndef __DRV_CAN_H__ -#define __DRV_CAN_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#include <rtdevice.h> -#include <rtthread.h> -#include "board.h" - -struct at32_baud_rate -{ - rt_uint32_t baud_rate; - can_baudrate_type baud_struct; -}; - -struct can_config -{ - can_type *can_x; - can_base_type base_init_struct; - can_baudrate_type baudrate_init_struct; - can_filter_init_type filter_init_struct; -}; - -/* at32 can device */ -struct at32_can -{ - char *name; - struct can_config config; - struct rt_can_device device; /* inherit from can device */ -}; - -int rt_hw_can_init(void); - -#ifdef __cplusplus -} -#endif - -#endif /*__DRV_CAN_H__ */ - -/************************** end of file ******************/ diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_common.c b/bsp/at32/libraries/f435_437/rt_drivers/drv_common.c deleted file mode 100644 index 75404bb74a..0000000000 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_common.c +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-08 shelton first version - */ - -#include "board.h" -#include "drv_common.h" - -#ifdef RT_USING_SERIAL -#include "drv_usart.h" -#endif - -#define DBG_TAG "drv_common" -#define DBG_LVL DBG_INFO -#include <rtdbg.h> - -#ifdef RT_USING_FINSH -#include <finsh.h> -static void reboot(uint8_t argc, char **argv) -{ - rt_hw_cpu_reset(); -} -MSH_CMD_EXPORT(reboot, Reboot System); -#endif /* RT_USING_FINSH */ - -extern __IO uint32_t uwTick; -static uint32_t _systick_ms = 1; - -/* systick configuration */ -void rt_hw_systick_init(void) -{ - systick_clock_source_config(SYSTICK_CLOCK_SOURCE_AHBCLK_NODIV); - SysTick_Config(system_core_clock / RT_TICK_PER_SECOND); - - nvic_irq_enable(SysTick_IRQn, 0, 0); - - _systick_ms = 1000u / RT_TICK_PER_SECOND; - if(_systick_ms == 0) - _systick_ms = 1; -} - -/** - * this is the timer interrupt service routine. - */ -void SysTick_Handler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - rt_tick_increase(); - - /* leave interrupt */ - rt_interrupt_leave(); -} - -/** - * @brief this function is executed in case of error occurrence. - * @param none - * @retval none - */ -void _Error_Handler(char *s, int num) -{ - /* User can add his own implementation to report the HAL error return state */ - LOG_E("Error_Handler at file:%s num:%d", s, num); - while (1) - { - } -} - -/** - * this function will delay for some us. - * - * @param us the delay time of us - */ -void rt_hw_us_delay(rt_uint32_t us) -{ - rt_uint32_t ticks; - rt_uint32_t told, tnow, tcnt = 0; - rt_uint32_t reload = SysTick->LOAD; - - ticks = us * reload / (1000000 / RT_TICK_PER_SECOND); - told = SysTick->VAL; - while (1) - { - tnow = SysTick->VAL; - if (tnow != told) - { - if (tnow < told) - { - tcnt += told - tnow; - } - else - { - tcnt += reload - tnow + told; - } - told = tnow; - if (tcnt >= ticks) - { - break; - } - } - } -} - -/** - * this function will initial at32 board. - */ -RT_WEAK void rt_hw_board_init() -{ - /* system clock initialization */ - system_clock_config(); - - /* configure nvic priority group */ - nvic_priority_group_config(NVIC_PRIORITY_GROUP_4); - - /* systick init */ - rt_hw_systick_init(); - - /* heap initialization */ -#if defined(RT_USING_HEAP) - rt_system_heap_init((void *)HEAP_BEGIN, (void *)HEAP_END); -#endif - - /* pin driver initialization is open by default */ -#ifdef RT_USING_PIN - rt_hw_pin_init(); -#endif - - /* usart driver initialization is open by default */ -#ifdef RT_USING_SERIAL - rt_hw_usart_init(); -#endif - - /* set the shell console output device */ -#if defined(RT_USING_CONSOLE) && defined(RT_USING_DEVICE) - rt_console_set_device(RT_CONSOLE_DEVICE_NAME); -#endif - - /* board underlying hardware initialization */ -#ifdef RT_USING_COMPONENTS_INIT - rt_components_board_init(); -#endif -} - diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_flash.h b/bsp/at32/libraries/f435_437/rt_drivers/drv_flash.h deleted file mode 100644 index 42ada3416a..0000000000 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_flash.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2021-02-09 shelton the first version - */ - -#ifndef __DRV_FLASH_H__ -#define __DRV_FLASH_H__ - -#include <rtthread.h> -#include "rtdevice.h" -#include <rthw.h> - -#ifdef __cplusplus -extern "C" { -#endif - -int at32_flash_read(rt_uint32_t addr, rt_uint8_t *buf, rt_uint32_t size); -int at32_flash_write(rt_uint32_t addr, const rt_uint8_t *buf, rt_uint32_t size); -int at32_flash_erase(rt_uint32_t addr, rt_uint32_t size); - -#ifdef __cplusplus -} -#endif - -#endif /* __DRV_FLASH_H__ */ diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_gpio.h b/bsp/at32/libraries/f435_437/rt_drivers/drv_gpio.h deleted file mode 100644 index 16abd818a1..0000000000 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_gpio.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2020-01-07 shelton first version - */ - -#ifndef __DRV_GPIO_H__ -#define __DRV_GPIO_H__ - -#include <rthw.h> -#include <rtdevice.h> -#include "board.h" - -#define __AT32_PORT(port) GPIO##port##_BASE - -#define GET_PIN(PORTx,PIN) (rt_base_t)((16 * ( ((rt_base_t)__AT32_PORT(PORTx) - (rt_base_t)GPIOA_BASE)/(0x0400UL) )) + PIN) - -#define __AT32_PIN(index, gpio, gpio_index) \ - { \ - index, GPIO##gpio, GPIO_Pins_##gpio_index, \ - GPIO_PortSourceGPIO##gpio, GPIO_PinsSource##gpio_index \ - } - -#define __AT32_PIN_RESERVE \ - { \ - -1, 0, 0, 0, 0 \ - } - -/* AT32 GPIO driver */ -struct pin_index -{ - int index; - gpio_type *gpio_x; - rt_uint32_t pin; - rt_uint32_t portsource; - rt_uint32_t pinsource; -}; - -struct pin_irq_map -{ - rt_uint16_t pinbit; - rt_uint16_t lineno; - IRQn_Type irqno; -}; - -int rt_hw_pin_init(void); - -#endif /* __DRV_GPIO_H__ */ - diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_hwtimer.c b/bsp/at32/libraries/f435_437/rt_drivers/drv_hwtimer.c deleted file mode 100644 index 3621c9ab48..0000000000 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_hwtimer.c +++ /dev/null @@ -1,431 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-11 shelton first version - */ - -#include "board.h" -#include "drv_hwtimer.h" - -//#define DRV_DEBUG -#define LOG_TAG "drv.hwtimer" -#include <drv_log.h> - -#ifdef BSP_USING_HWTIMER - -enum -{ -#ifdef BSP_USING_HWTMR1 - TMR1_INDEX, -#endif - -#ifdef BSP_USING_HWTMR2 - TMR2_INDEX, -#endif - -#ifdef BSP_USING_HWTMR3 - TMR3_INDEX, -#endif - -#ifdef BSP_USING_HWTMR4 - TMR4_INDEX, -#endif - -#ifdef BSP_USING_HWTMR5 - TMR5_INDEX, -#endif - -#ifdef BSP_USING_HWTMR6 - TMR6_INDEX, -#endif - -#ifdef BSP_USING_HWTMR7 - TMR7_INDEX, -#endif - -#ifdef BSP_USING_HW_TMR8 - TMR8_INDEX, -#endif - -#ifdef BSP_USING_HWTMR9 - TMR9_INDEX, -#endif - -#ifdef BSP_USING_HWTMR10 - TMR10_INDEX, -#endif - -#ifdef BSP_USING_HWTMR11 - TMR11_INDEX, -#endif - -#ifdef BSP_USING_HWTMR12 - TMR12_INDEX, -#endif - -#ifdef BSP_USING_HWTMR13 - TMR13_INDEX, -#endif - -#ifdef BSP_USING_HWTMR14 - TMR14_INDEX, -#endif - -#ifdef BSP_USING_HWTMR15 - TMR15_INDEX, -#endif -}; - -struct at32_hwtimer -{ - rt_hwtimer_t tmr_device; - tmr_type* tmr_x; - IRQn_Type tmr_irqn; - char *name; -}; - -static struct at32_hwtimer at32_hwtimer_obj[] = -{ -#ifdef BSP_USING_HWTMR1 - TMR1_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR2 - TMR2_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR3 - TMR3_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR4 - TMR4_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR5 - TMR5_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR6 - TMR6_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR7 - TMR7_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR8 - TMR8_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR9 - TMR9_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR10 - TMR10_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR11 - TMR11_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR12 - TMR12_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR13 - TMR13_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR14 - TMR14_CONFIG, -#endif - -#ifdef BSP_USING_HWTMR15 - TMR15_CONFIG, -#endif -}; - -static void tmr_pclk_get(rt_uint32_t *pclk1_doubler, rt_uint32_t *pclk2_doubler) -{ - crm_clocks_freq_type clocks_struct; - - *pclk1_doubler = 1; - *pclk2_doubler = 1; - - crm_clocks_freq_get(&clocks_struct); - - if(clocks_struct.ahb_freq != clocks_struct.apb1_freq) - { - *pclk1_doubler = 2; - } - - if(clocks_struct.ahb_freq != clocks_struct.apb2_freq) - { - *pclk2_doubler = 2; - } -} - -static void at32_timer_init(struct rt_hwtimer_device *timer, rt_uint32_t state) -{ - crm_clocks_freq_type clocks_struct; - rt_uint32_t pclk1_doubler = 0, pclk2_doubler = 0; - rt_uint32_t prescaler_value = 0, tmr_clock = 0; - tmr_type *tmr_x = RT_NULL; - struct at32_hwtimer *tmr_device = RT_NULL; - - RT_ASSERT(timer != RT_NULL); - if (state) - { - tmr_x = (tmr_type *)timer->parent.user_data; - tmr_device = (struct at32_hwtimer *)timer; - - /* timer clock enable */ - at32_msp_hwtmr_init(tmr_x); - - /* get timer clock */ - tmr_pclk_get(&pclk1_doubler, &pclk2_doubler); - crm_clocks_freq_get(&clocks_struct); - if((tmr_x == TMR1) || (tmr_x == TMR8) || (tmr_x == TMR9) || (tmr_x == TMR10) || (tmr_x == TMR11)) - { - tmr_clock = clocks_struct.apb2_freq * pclk2_doubler; - } - else - { - tmr_clock = clocks_struct.apb1_freq * pclk1_doubler; - } - /* set timer clock is 1mhz */ - prescaler_value = (uint32_t)(tmr_clock / 10000) - 1; - tmr_base_init(tmr_x, 10000 - 1, prescaler_value); - tmr_clock_source_div_set(tmr_x, TMR_CLOCK_DIV1); - tmr_repetition_counter_set(tmr_x, 0); - - if (timer->info->cntmode == HWTIMER_CNTMODE_UP) - { - tmr_cnt_dir_set(tmr_x, TMR_COUNT_UP); - } - else - { - tmr_cnt_dir_set(tmr_x, TMR_COUNT_DOWN); - } - - /* enable the timer global interrupt and clear flag */ - nvic_irq_enable(tmr_device->tmr_irqn, 2, 0); - - tmr_interrupt_enable(tmr_x, TMR_OVF_INT, TRUE); - tmr_flag_clear(tmr_x, TMR_OVF_INT); - - LOG_D("%s init success", tmr_device->name); - } -} - -static rt_err_t at32_timer_start(rt_hwtimer_t *timer, rt_uint32_t pr, rt_hwtimer_mode_t opmode) -{ - rt_err_t result = RT_EOK; - tmr_type *tmr_x = RT_NULL; - - RT_ASSERT(timer != RT_NULL); - tmr_x = (tmr_type *)timer->parent.user_data; - - /* set tmr_x count */ - tmr_counter_value_set(tmr_x, 0); - /* set tmr_x period register */ - tmr_period_value_set(tmr_x, pr - 1); - - if (opmode == HWTIMER_MODE_ONESHOT) - { - /* set timer to one cycle mode */ - tmr_one_cycle_mode_enable(tmr_x, TRUE); - } - else - { - /* set timer to period mode */ - tmr_one_cycle_mode_enable(tmr_x, FALSE); - } - - /* start timer */ - tmr_counter_enable(tmr_x, TRUE); - - return result; -} - -static void at32_timer_stop(rt_hwtimer_t *timer) -{ - tmr_type *tmr_x = RT_NULL; - - RT_ASSERT(timer != RT_NULL); - tmr_x = (tmr_type *)timer->parent.user_data; - - /* stop timer */ - tmr_counter_enable(tmr_x, FALSE); - - /* set tmr_x count */ - tmr_counter_value_set(tmr_x, 0); -} - -static rt_uint32_t at32_timer_counter_get(rt_hwtimer_t *timer) -{ - tmr_type *tmr_x = RT_NULL; - - RT_ASSERT(timer != RT_NULL); - - tmr_x = (tmr_type *)timer->parent.user_data; - - return tmr_counter_value_get(tmr_x); -} - -static rt_err_t at32_timer_ctrl(rt_hwtimer_t *timer, rt_uint32_t cmd, void *arg) -{ - crm_clocks_freq_type clocks_struct; - tmr_type *tmr_x = RT_NULL; - rt_err_t result = RT_EOK; - rt_uint32_t pclk1_doubler = 0, pclk2_doubler = 0, tmr_clock = 0; - - RT_ASSERT(timer != RT_NULL); - RT_ASSERT(arg != RT_NULL); - - tmr_x = (tmr_type *)timer->parent.user_data; - - switch(cmd) - { - case HWTIMER_CTRL_FREQ_SET: - { - rt_uint32_t freq; - rt_uint16_t val; - - /* get timer frequence */ - freq = *((rt_uint32_t *)arg); - - /* get timer clock */ - tmr_pclk_get(&pclk1_doubler, &pclk2_doubler); - crm_clocks_freq_get(&clocks_struct); - if((tmr_x == TMR1) || (tmr_x == TMR8) || (tmr_x == TMR9) || (tmr_x == TMR10) || (tmr_x == TMR11)) - { - tmr_clock = clocks_struct.apb2_freq * pclk2_doubler; - } - else - { - tmr_clock = clocks_struct.apb1_freq * pclk1_doubler; - } - /* set div value */ - val = tmr_clock / freq; - - tmr_div_value_set(tmr_x, val - 1); - tmr_event_sw_trigger(tmr_x, TMR_OVERFLOW_SWTRIG); - } - break; - default: - { - result = -RT_ENOSYS; - } - break; - } - - return result; -} - -static const struct rt_hwtimer_info _info = TMR_DEV_INFO_CONFIG; -static const struct rt_hwtimer_ops _ops = -{ - .init = at32_timer_init, - .start = at32_timer_start, - .stop = at32_timer_stop, - .count_get = at32_timer_counter_get, - .control = at32_timer_ctrl, -}; - -#ifdef BSP_USING_HWTMR2 -void TMR2_GLOBAL_IRQHandler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - if(tmr_flag_get(TMR2, TMR_OVF_FLAG) == SET) - { - rt_device_hwtimer_isr(&at32_hwtimer_obj[TMR2_INDEX].tmr_device); - tmr_flag_clear(TMR2, TMR_OVF_FLAG); - } - /* leave interrupt */ - rt_interrupt_leave(); -} -#endif - -#ifdef BSP_USING_HWTMR3 -void TMR3_GLOBAL_IRQHandler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - if(tmr_flag_get(TMR3, TMR_OVF_FLAG) == SET) - { - rt_device_hwtimer_isr(&at32_hwtimer_obj[TMR3_INDEX].tmr_device); - tmr_flag_clear(TMR3, TMR_OVF_FLAG); - } - /* leave interrupt */ - rt_interrupt_leave(); -} -#endif - -#ifdef BSP_USING_HWTMR4 -void TMR4_GLOBAL_IRQHandler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - if(tmr_flag_get(TMR4, TMR_OVF_FLAG) == SET) - { - rt_device_hwtimer_isr(&at32_hwtimer_obj[TMR4_INDEX].tmr_device); - tmr_flag_clear(TMR4, TMR_OVF_FLAG); - } - /* leave interrupt */ - rt_interrupt_leave(); -} -#endif - -#ifdef BSP_USING_HWTMR5 -void TMR5_GLOBAL_IRQHandler(void) -{ - /* enter interrupt */ - rt_interrupt_enter(); - - if(tmr_flag_get(TMR5, TMR_OVF_FLAG) == SET) - { - rt_device_hwtimer_isr(&at32_hwtimer_obj[TMR5_INDEX].tmr_device); - tmr_flag_clear(TMR5, TMR_OVF_FLAG); - } - /* leave interrupt */ - rt_interrupt_leave(); -} -#endif - -static int rt_hw_hwtimer_init(void) -{ - int i = 0; - int result = RT_EOK; - - for (i = 0; i < sizeof(at32_hwtimer_obj) / sizeof(at32_hwtimer_obj[0]); i++) - { - at32_hwtimer_obj[i].tmr_device.info = &_info; - at32_hwtimer_obj[i].tmr_device.ops = &_ops; - if (rt_device_hwtimer_register(&at32_hwtimer_obj[i].tmr_device, at32_hwtimer_obj[i].name, at32_hwtimer_obj[i].tmr_x) == RT_EOK) - { - LOG_D("%s register success", at32_hwtimer_obj[i].name); - } - else - { - LOG_E("%s register failed", at32_hwtimer_obj[i].name); - result = -RT_ERROR; - } - } - - return result; -} - -INIT_BOARD_EXPORT(rt_hw_hwtimer_init); - -#endif /* BSP_USING_HWTIMER */ diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_hwtimer.h b/bsp/at32/libraries/f435_437/rt_drivers/drv_hwtimer.h deleted file mode 100644 index 624437f559..0000000000 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_hwtimer.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2020-03-16 Leo first version - */ - -#ifndef __TMR_CONFIG_H__ -#define __TMR_CONFIG_H__ - -#include <rtthread.h> -#include <drivers/hwtimer.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef TMR_DEV_INFO_CONFIG -#define TMR_DEV_INFO_CONFIG \ - { \ - .maxfreq = 1000000, \ - .minfreq = 4000, \ - .maxcnt = 0xFFFF, \ - .cntmode = HWTIMER_CNTMODE_UP, \ - } -#endif /* TIM_DEV_INFO_CONFIG */ - -#ifdef BSP_USING_HWTMR2 -#ifndef TMR2_CONFIG -#define TMR2_CONFIG \ - { \ - .tmr_x = TMR2, \ - .tmr_irqn = TMR2_GLOBAL_IRQn, \ - .name = "timer2", \ - } -#endif /* TMR2_CONFIG */ -#endif /* BSP_USING_HWTMR2 */ - -#ifdef BSP_USING_HWTMR3 -#ifndef TMR3_CONFIG -#define TMR3_CONFIG \ - { \ - .tmr_x = TMR3, \ - .tmr_irqn = TMR3_GLOBAL_IRQn, \ - .name = "timer3", \ - } -#endif /* TMR3_CONFIG */ -#endif /* BSP_USING_HWTMR3 */ - -#ifdef BSP_USING_HWTMR4 -#ifndef TMR4_CONFIG -#define TMR4_CONFIG \ - { \ - .tmr_x = TMR4, \ - .tmr_irqn = TMR4_GLOBAL_IRQn, \ - .name = "timer4", \ - } -#endif /* TMR4_CONFIG */ -#endif /* BSP_USING_HWTMR4 */ - -#ifdef BSP_USING_HWTMR5 -#ifndef TMR5_CONFIG -#define TMR5_CONFIG \ - { \ - .tmr_x = TMR5, \ - .tmr_irqn = TMR5_GLOBAL_IRQn, \ - .name = "timer5", \ - } -#endif /* TMR5_CONFIG */ -#endif /* BSP_USING_HWTMR5 */ - -#ifdef __cplusplus -} -#endif - -#endif /* __TMR_CONFIG_H__ */ - diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_log.h b/bsp/at32/libraries/f435_437/rt_drivers/drv_log.h deleted file mode 100644 index 45345aa150..0000000000 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_log.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-21 shelton first version - */ - -/* - * NOTE: DO NOT include this file on the header file. - */ - -#ifndef LOG_TAG -#define DBG_TAG "drv" -#else -#define DBG_TAG LOG_TAG -#endif /* LOG_TAG */ - -#ifdef DRV_DEBUG -#define DBG_LVL DBG_LOG -#else -#define DBG_LVL DBG_INFO -#endif /* DRV_DEBUG */ - -#include <rtdbg.h> diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_pwm.c b/bsp/at32/libraries/f435_437/rt_drivers/drv_pwm.c deleted file mode 100644 index 99954d4710..0000000000 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_pwm.c +++ /dev/null @@ -1,541 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-10 shelton first version - */ - -#include "board.h" - -#ifdef RT_USING_PWM -#include "drv_pwm.h" -#include <drivers/rt_drv_pwm.h> - -//#define DRV_DEBUG -#define LOG_TAG "drv.pwm" -#include <drv_log.h> - -#define MAX_PERIOD 65535 - -struct rt_device_pwm pwm_device; - -struct at32_pwm -{ - struct rt_device_pwm pwm_device; - tmr_type* tmr_x; - rt_uint8_t channel; - char *name; -}; - -enum -{ -#ifdef BSP_USING_PWM1 - PWM1_INDEX, -#endif -#ifdef BSP_USING_PWM2 - PWM2_INDEX, -#endif -#ifdef BSP_USING_PWM3 - PWM3_INDEX, -#endif -#ifdef BSP_USING_PWM4 - PWM4_INDEX, -#endif -#ifdef BSP_USING_PWM5 - PWM5_INDEX, -#endif -#ifdef BSP_USING_PWM6 - PWM6_INDEX, -#endif -#ifdef BSP_USING_PWM7 - PWM7_INDEX, -#endif -#ifdef BSP_USING_PWM8 - PWM8_INDEX, -#endif -#ifdef BSP_USING_PWM9 - PWM9_INDEX, -#endif -#ifdef BSP_USING_PWM10 - PWM10_INDEX, -#endif -#ifdef BSP_USING_PWM11 - PWM11_INDEX, -#endif -#ifdef BSP_USING_PWM12 - PWM12_INDEX, -#endif -#ifdef BSP_USING_PWM13 - PWM13_INDEX, -#endif -}; - -static struct at32_pwm at32_pwm_obj[] = -{ -#ifdef BSP_USING_PWM1 - PWM1_CONFIG, -#endif - -#ifdef BSP_USING_PWM2 - PWM2_CONFIG, -#endif - -#ifdef BSP_USING_PWM3 - PWM3_CONFIG, -#endif - -#ifdef BSP_USING_PWM4 - PWM4_CONFIG, -#endif - -#ifdef BSP_USING_PWM5 - PWM5_CONFIG, -#endif - -#ifdef BSP_USING_PWM6 - PWM6_CONFIG, -#endif - -#ifdef BSP_USING_PWM7 - PWM7_CONFIG, -#endif - -#ifdef BSP_USING_PWM8 - PWM8_CONFIG, -#endif - -#ifdef BSP_USING_PWM9 - PWM9_CONFIG, -#endif - -#ifdef BSP_USING_PWM10 - PWM10_CONFIG, -#endif - -#ifdef BSP_USING_PWM11 - PWM11_CONFIG, -#endif - -#ifdef BSP_USING_PWM12 - PWM12_CONFIG, -#endif - -#ifdef BSP_USING_PWM13 - PWM13_CONFIG, -#endif -}; - -static rt_err_t drv_pwm_control(struct rt_device_pwm *device, int cmd, void *arg); -static struct rt_pwm_ops drv_ops = -{ - drv_pwm_control -}; - -static void tmr_pclk_get(rt_uint32_t *pclk1_doubler, rt_uint32_t *pclk2_doubler) -{ - crm_clocks_freq_type clocks_struct; - - *pclk1_doubler = 1; - *pclk2_doubler = 1; - - crm_clocks_freq_get(&clocks_struct); - - if(clocks_struct.ahb_freq != clocks_struct.apb1_freq) - { - *pclk1_doubler = 2; - } - - if(clocks_struct.ahb_freq != clocks_struct.apb2_freq) - { - *pclk2_doubler = 2; - } -} - -static rt_err_t drv_pwm_enable(tmr_type* tmr_x, struct rt_pwm_configuration *configuration, rt_bool_t enable) -{ - /* get the value of channel */ - rt_uint32_t channel = configuration->channel; - - if (!configuration->complementary) - { - if (!enable) - { - if(channel == 1) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_1, FALSE); - } - else if(channel == 2) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_2, FALSE); - } - else if(channel == 3) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_3, FALSE); - } - else if(channel == 4) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_4, FALSE); - } - } - else - { - if(channel == 1) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_1, TRUE); - } - else if(channel == 2) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_2, TRUE); - } - else if(channel == 3) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_3, TRUE); - } - else if(channel == 4) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_4, TRUE); - } - } - } - else - { - if (!enable) - { - if(channel == 1) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_1C, FALSE); - } - else if(channel == 2) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_2C, FALSE); - } - else if(channel == 3) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_3C, FALSE); - } - } - else - { - if(channel == 1) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_1C, TRUE); - } - else if(channel == 2) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_2C, TRUE); - } - else if(channel == 3) - { - tmr_channel_enable(tmr_x, TMR_SELECT_CHANNEL_3C, TRUE); - } - } - } - - /* tmr_x enable counter */ - tmr_counter_enable(tmr_x, TRUE); - - return RT_EOK; -} - -static rt_err_t drv_pwm_get(tmr_type* tmr_x, struct rt_pwm_configuration *configuration) -{ - crm_clocks_freq_type clocks_struct; - rt_uint32_t pr, div, c1dt, c2dt, c3dt, c4dt; - rt_uint32_t pclk1_doubler = 0, pclk2_doubler = 0; - rt_uint32_t channel = configuration->channel; - rt_uint64_t tmr_clock; - - pr = tmr_x->pr; - div = tmr_x->div; - c1dt = tmr_x->c1dt; - c2dt = tmr_x->c2dt; - c3dt = tmr_x->c3dt; - c4dt = tmr_x->c4dt; - - tmr_pclk_get(&pclk1_doubler, &pclk2_doubler); - - crm_clocks_freq_get(&clocks_struct); - - if((tmr_x == TMR1) || (tmr_x == TMR8) || (tmr_x == TMR9) || (tmr_x == TMR10) || (tmr_x == TMR11)) - { - tmr_clock = clocks_struct.apb2_freq * pclk2_doubler; - } - else - { - tmr_clock = clocks_struct.apb1_freq * pclk1_doubler; - } - - /* convert nanosecond to frequency and duty cycle. */ - tmr_clock /= 1000000UL; - configuration->period = (pr + 1) * (div + 1) * 1000UL / tmr_clock; - - if(channel == 1) - configuration->pulse = (c1dt) * (div + 1) * 1000UL / tmr_clock; - if(channel == 2) - configuration->pulse = (c2dt) * (div + 1) * 1000UL / tmr_clock; - if(channel == 3) - configuration->pulse = (c3dt) * (div + 1) * 1000UL / tmr_clock; - if(channel == 4) - configuration->pulse = (c4dt) * (div + 1) * 1000UL / tmr_clock; - - return RT_EOK; -} - -static rt_err_t drv_pwm_set(tmr_type* tmr_x, struct rt_pwm_configuration *configuration) -{ - crm_clocks_freq_type clocks_struct; - tmr_output_config_type tmr_oc_config_struct; - tmr_channel_select_type channel_select; - rt_uint32_t period, pulse, channel, tmr_clock; - rt_uint32_t pclk1_doubler = 0, pclk2_doubler = 0; - rt_uint64_t psc; - - /* init timer pin and enable clock */ - at32_msp_tmr_init(tmr_x); - - tmr_pclk_get(&pclk1_doubler, &pclk2_doubler); - - crm_clocks_freq_get(&clocks_struct); - - if((tmr_x == TMR1) || (tmr_x == TMR8) || (tmr_x == TMR9) || (tmr_x == TMR10) || (tmr_x == TMR11)) - { - tmr_clock = clocks_struct.apb2_freq * pclk2_doubler; - } - else - { - tmr_clock = clocks_struct.apb1_freq * pclk1_doubler; - } - - /* convert nanosecond to frequency and duty cycle. */ - tmr_clock /= 1000000UL; - /* calculate pwm period */ - period = (unsigned long long)configuration->period * tmr_clock / 1000ULL;; - psc = period / MAX_PERIOD + 1; - period = period / psc; - /* calculate pulse width */ - pulse = (unsigned long long)configuration->pulse * tmr_clock / psc / 1000ULL; - /* get channel parameter */ - channel = configuration->channel; - - /* tmr base init */ - tmr_base_init(tmr_x, period - 1, psc - 1); - tmr_clock_source_div_set(tmr_x, TMR_CLOCK_DIV1); - - /* pwm mode configuration */ - tmr_output_default_para_init(&tmr_oc_config_struct); - /* config pwm mode */ - tmr_oc_config_struct.oc_mode = TMR_OUTPUT_CONTROL_PWM_MODE_A; - - if (!configuration->complementary) - { - tmr_oc_config_struct.oc_idle_state = FALSE; - tmr_oc_config_struct.oc_output_state = FALSE; - tmr_oc_config_struct.oc_polarity = TMR_OUTPUT_ACTIVE_HIGH; - } - else - { - tmr_oc_config_struct.occ_idle_state = FALSE; - tmr_oc_config_struct.occ_output_state = FALSE; - tmr_oc_config_struct.occ_polarity = TMR_OUTPUT_ACTIVE_HIGH; - } - - if(channel == 1) - { - channel_select = TMR_SELECT_CHANNEL_1; - } - else if(channel == 2) - { - channel_select = TMR_SELECT_CHANNEL_2; - } - else if(channel == 3) - { - channel_select = TMR_SELECT_CHANNEL_3; - } - else if(channel == 4) - { - channel_select = TMR_SELECT_CHANNEL_4; - } - - /* config tmr pwm output */ - tmr_output_channel_config(tmr_x, channel_select, &tmr_oc_config_struct); - tmr_output_channel_buffer_enable(tmr_x, channel_select, TRUE); - tmr_channel_value_set(tmr_x, channel_select, pulse); - /* enable tmr period buffer */ - tmr_period_buffer_enable(tmr_x, TRUE); - /* enable output */ - tmr_output_enable(tmr_x, TRUE); - - return RT_EOK; -} - -static rt_err_t drv_pwm_control(struct rt_device_pwm *device, int cmd, void *arg) -{ - struct rt_pwm_configuration *configuration = (struct rt_pwm_configuration *)arg; - tmr_type *tmr_x = (tmr_type *)device->parent.user_data; - - switch (cmd) - { - case PWMN_CMD_ENABLE: - configuration->complementary = RT_TRUE; - case PWM_CMD_ENABLE: - return drv_pwm_enable(tmr_x, configuration, RT_TRUE); - case PWMN_CMD_DISABLE: - configuration->complementary = RT_FALSE; - case PWM_CMD_DISABLE: - return drv_pwm_enable(tmr_x, configuration, RT_FALSE); - case PWM_CMD_SET: - return drv_pwm_set(tmr_x, configuration); - case PWM_CMD_GET: - return drv_pwm_get(tmr_x, configuration); - default: - return RT_EINVAL; - } -} - -static void pwm_get_channel(void) -{ -#ifdef BSP_USING_PWM1_CH1 - at32_pwm_obj[PWM1_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM1_CH2 - at32_pwm_obj[PWM1_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM1_CH3 - at32_pwm_obj[PWM1_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM1_CH4 - at32_pwm_obj[PWM1_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM2_CH1 - at32_pwm_obj[PWM2_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM2_CH2 - at32_pwm_obj[PWM2_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM2_CH3 - at32_pwm_obj[PWM2_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM2_CH4 - at32_pwm_obj[PWM2_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM3_CH1 - at32_pwm_obj[PWM3_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM3_CH2 - at32_pwm_obj[PWM3_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM3_CH3 - at32_pwm_obj[PWM3_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM3_CH4 - at32_pwm_obj[PWM3_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM4_CH1 - at32_pwm_obj[PWM4_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM4_CH2 - at32_pwm_obj[PWM4_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM4_CH3 - at32_pwm_obj[PWM4_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM4_CH4 - at32_pwm_obj[PWM4_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM5_CH1 - at32_pwm_obj[PWM5_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM5_CH2 - at32_pwm_obj[PWM5_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM5_CH3 - at32_pwm_obj[PWM5_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM5_CH4 - at32_pwm_obj[PWM5_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM6_CH1 - at32_pwm_obj[PWM6_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM6_CH2 - at32_pwm_obj[PWM6_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM6_CH3 - at32_pwm_obj[PWM6_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM6_CH4 - at32_pwm_obj[PWM6_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM7_CH1 - at32_pwm_obj[PWM7_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM7_CH2 - at32_pwm_obj[PWM7_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM7_CH3 - at32_pwm_obj[PWM7_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM7_CH4 - at32_pwm_obj[PWM7_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM8_CH1 - at32_pwm_obj[PWM8_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM8_CH2 - at32_pwm_obj[PWM8_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM8_CH3 - at32_pwm_obj[PWM8_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM8_CH4 - at32_pwm_obj[PWM8_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM9_CH1 - at32_pwm_obj[PWM9_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM9_CH2 - at32_pwm_obj[PWM9_INDEX].channel = 2; -#endif -#ifdef BSP_USING_PWM9_CH3 - at32_pwm_obj[PWM9_INDEX].channel = 3; -#endif -#ifdef BSP_USING_PWM9_CH4 - at32_pwm_obj[PWM9_INDEX].channel = 4; -#endif -#ifdef BSP_USING_PWM12_CH1 - at32_pwm_obj[PWM12_INDEX].channel = 1; -#endif -#ifdef BSP_USING_PWM12_CH2 - at32_pwm_obj[PWM12_INDEX].channel = 2; -#endif -} - -static int rt_hw_pwm_init(void) -{ - int i = 0; - int result = RT_EOK; - - pwm_get_channel(); - - for(i = 0; i < sizeof(at32_pwm_obj) / sizeof(at32_pwm_obj[0]); i++) - { - if(rt_device_pwm_register(&at32_pwm_obj[i].pwm_device, at32_pwm_obj[i].name, &drv_ops, at32_pwm_obj[i].tmr_x) == RT_EOK) - { - LOG_D("%s register success", at32_pwm_obj[i].name); - } - else - { - LOG_D("%s register failed", at32_pwm_obj[i].name); - result = -RT_ERROR; - } - } - - return result; -} - -INIT_BOARD_EXPORT(rt_hw_pwm_init); - -#endif /* RT_USING_PWM */ diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_pwm.h b/bsp/at32/libraries/f435_437/rt_drivers/drv_pwm.h deleted file mode 100644 index d303401abb..0000000000 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_pwm.h +++ /dev/null @@ -1,167 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-10 leo first version - */ - -#ifndef __PWM_CONFIG_H__ -#define __PWM_CONFIG_H__ - -#include <rtthread.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef BSP_USING_PWM1 -#ifndef PWM1_CONFIG -#define PWM1_CONFIG \ - { \ - .tmr_x = TMR1, \ - .name = "pwm1", \ - .channel = 0 \ - } -#endif /* PWM1_CONFIG */ -#endif /* BSP_USING_PWM1 */ - -#ifdef BSP_USING_PWM2 -#ifndef PWM2_CONFIG -#define PWM2_CONFIG \ - { \ - .tmr_x = TMR2, \ - .name = "pwm2", \ - .channel = 0 \ - } -#endif /* PWM2_CONFIG */ -#endif /* BSP_USING_PWM2 */ - -#ifdef BSP_USING_PWM3 -#ifndef PWM3_CONFIG -#define PWM3_CONFIG \ - { \ - .tmr_x = TMR3, \ - .name = "pwm3", \ - .channel = 0 \ - } -#endif /* PWM3_CONFIG */ -#endif /* BSP_USING_PWM3 */ - -#ifdef BSP_USING_PWM4 -#ifndef PWM4_CONFIG -#define PWM4_CONFIG \ - { \ - .tmr_x = TMR4, \ - .name = "pwm4", \ - .channel = 0 \ - } -#endif /* PWM4_CONFIG */ -#endif /* BSP_USING_PWM4 */ - -#ifdef BSP_USING_PWM5 -#ifndef PWM5_CONFIG -#define PWM5_CONFIG \ - { \ - .tmr_x = TMR5, \ - .name = "pwm5", \ - .channel = 0 \ - } -#endif /* PWM5_CONFIG */ -#endif /* BSP_USING_PWM5 */ - -#ifdef BSP_USING_PWM6 -#ifndef PWM6_CONFIG -#define PWM6_CONFIG \ - { \ - .tmr_x = TMR6, \ - .name = "pwm6", \ - .channel = 0 \ - } -#endif /* PWM6_CONFIG */ -#endif /* BSP_USING_PWM6 */ - -#ifdef BSP_USING_PWM7 -#ifndef PWM7_CONFIG -#define PWM7_CONFIG \ - { \ - .tmr_x = TMR7, \ - .name = "pwm7", \ - .channel = 0 \ - } -#endif /* PWM7_CONFIG */ -#endif /* BSP_USING_PWM7 */ - -#ifdef BSP_USING_PWM8 -#ifndef PWM8_CONFIG -#define PWM8_CONFIG \ - { \ - .tmr_x = TMR8, \ - .name = "pwm8", \ - .channel = 12 \ - } -#endif /* PWM8_CONFIG */ -#endif /* BSP_USING_PWM8 */ - -#ifdef BSP_USING_PWM9 -#ifndef PWM9_CONFIG -#define PWM9_CONFIG \ - { \ - .tmr_x = TMR9, \ - .name = "pwm9", \ - .channel = 0 \ - } -#endif /* PWM9_CONFIG */ -#endif /* BSP_USING_PWM9 */ - -#ifdef BSP_USING_PWM10 -#ifndef PWM10_CONFIG -#define PWM10_CONFIG \ - { \ - .tmr_x = TMR10, \ - .name = "pwm10", \ - .channel = 0 \ - } -#endif /* PWM10_CONFIG */ -#endif /* BSP_USING_PWM10 */ - -#ifdef BSP_USING_PWM11 -#ifndef PWM11_CONFIG -#define PWM11_CONFIG \ - { \ - .tmr_x = TMR11, \ - .name = "pwm11", \ - .channel = 0 \ - } -#endif /* PWM11_CONFIG */ -#endif /* BSP_USING_PWM11 */ - -#ifdef BSP_USING_PWM12 -#ifndef PWM12_CONFIG -#define PWM12_CONFIG \ - { \ - .tmr_x = TMR12, \ - .name = "pwm12", \ - .channel = 0 \ - } -#endif /* PWM12_CONFIG */ -#endif /* BSP_USING_PWM12 */ - -#ifdef BSP_USING_PWM13 -#ifndef PWM13_CONFIG -#define PWM13_CONFIG \ - { \ - .tmr_x = TMR13, \ - .name = "pwm13", \ - .channel = 0 \ - } -#endif /* PWM13_CONFIG */ -#endif /* BSP_USING_PWM13 */ - -#ifdef __cplusplus -} -#endif - -#endif /* __PWM_CONFIG_H__ */ diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_rtc.c b/bsp/at32/libraries/f435_437/rt_drivers/drv_rtc.c deleted file mode 100644 index 10c57e5f2c..0000000000 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_rtc.c +++ /dev/null @@ -1,175 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-28 shelton first version - */ - -#include <rtthread.h> -#include <rtdevice.h> -#include <sys/time.h> -#include "board.h" - -#ifdef BSP_USING_RTC - -//#define DRV_DEBUG -#define LOG_TAG "drv.rtc" -#include <drv_log.h> - -#define BKUP_REG_DATA 0xA5A5 - -static time_t get_rtc_timestamp(void) -{ - struct tm tm_new; - ertc_time_type ertc_time_struct; - - ertc_calendar_get(&ertc_time_struct); - - tm_new.tm_sec = ertc_time_struct.sec; - tm_new.tm_min = ertc_time_struct.min; - tm_new.tm_hour = ertc_time_struct.hour; - tm_new.tm_mday = ertc_time_struct.day; - tm_new.tm_mon = ertc_time_struct.month - 1; - tm_new.tm_year = ertc_time_struct.year + 100; - - LOG_D("get rtc time."); - - return timegm(&tm_new); -} - -static rt_err_t set_rtc_time_stamp(time_t time_stamp) -{ - struct tm *p_tm; - - p_tm = gmtime(&time_stamp); - if (p_tm->tm_year < 100) - { - return -RT_ERROR; - } - - /* set time */ - if(ertc_time_set(p_tm->tm_hour, p_tm->tm_min, p_tm->tm_sec, ERTC_AM) != SUCCESS) - { - return -RT_ERROR; - } - - /* set date */ - if(ertc_date_set(p_tm->tm_year - 100, p_tm->tm_mon + 1, p_tm->tm_mday, p_tm->tm_wday + 1) != SUCCESS) - { - return -RT_ERROR; - } - - LOG_D("set rtc time."); - - /* indicator for the ertc configuration */ - ertc_bpr_data_write(ERTC_DT1, BKUP_REG_DATA); - - return RT_EOK; -} - -static rt_err_t rt_rtc_config(void) -{ - /* allow access to battery powered domain */ - pwc_battery_powered_domain_access(TRUE); - - /* select rtc clock source */ -#ifdef BSP_RTC_USING_LICK - crm_ertc_clock_select(CRM_ERTC_CLOCK_LICK); -#else - crm_ertc_clock_select(CRM_ERTC_CLOCK_LEXT); -#endif /* BSP_RTC_USING_LICK */ - - /* enable rtc */ - crm_ertc_clock_enable(TRUE); - - /* wait for ertc registers update */ - ertc_wait_update(); - - if (ertc_bpr_data_read(ERTC_DT1)!= BKUP_REG_DATA) - { - LOG_I("RTC hasn't been configured, please use <date> command to config."); - - /* configure the ertc divider */ - ertc_divider_set(0x7F, 0xFF); - /* configure the ertc hour mode */ - ertc_hour_mode_set(ERTC_HOUR_MODE_24); - } - return RT_EOK; -} - -static rt_err_t _rtc_init(void) -{ - crm_periph_clock_enable(CRM_PWC_PERIPH_CLOCK, TRUE); - -#ifdef BSP_RTC_USING_LICK - crm_clock_source_enable(CRM_CLOCK_SOURCE_LICK, TRUE); - while(crm_flag_get(CRM_LICK_STABLE_FLAG) == RESET); -#else - pwc_battery_powered_domain_access(TRUE); - crm_clock_source_enable(CRM_CLOCK_SOURCE_LEXT, TRUE); - while(crm_flag_get(CRM_LEXT_STABLE_FLAG) == RESET); -#endif /* BSP_RTC_USING_LICK */ - - if (rt_rtc_config() != RT_EOK) - { - LOG_E("rtc init failed."); - return -RT_ERROR; - } - - return RT_EOK; -} - -static rt_err_t _rtc_get_secs(void *args) -{ - *(rt_uint32_t *)args = get_rtc_timestamp(); - LOG_D("RTC: get rtc_time %x\n", *(rt_uint32_t *)args); - - return RT_EOK; -} - -static rt_err_t _rtc_set_secs(void *args) -{ - rt_err_t result = RT_EOK; - - if (set_rtc_time_stamp(*(rt_uint32_t *)args)) - { - result = -RT_ERROR; - } - LOG_D("RTC: set rtc_time %x\n", *(rt_uint32_t *)args); - - return result; -} - -static const struct rt_rtc_ops _rtc_ops = -{ - _rtc_init, - _rtc_get_secs, - _rtc_set_secs, - RT_NULL, - RT_NULL, - RT_NULL, - RT_NULL, -}; - -static rt_rtc_dev_t at32_rtc_dev; - -int rt_hw_rtc_init(void) -{ - rt_err_t result; - at32_rtc_dev.ops = &_rtc_ops; - result = rt_hw_rtc_register(&at32_rtc_dev, "rtc", RT_DEVICE_FLAG_RDWR,RT_NULL); - if (result != RT_EOK) - { - LOG_E("rtc register err code: %d", result); - return result; - } - LOG_D("rtc init success"); - return RT_EOK; -} - -INIT_DEVICE_EXPORT(rt_hw_rtc_init); - -#endif /* BSP_USING_RTC */ diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_soft_i2c.h b/bsp/at32/libraries/f435_437/rt_drivers/drv_soft_i2c.h deleted file mode 100644 index fecab31b4d..0000000000 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_soft_i2c.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2020-01-09 shelton first version - */ - -#ifndef __DRV_I2C__ -#define __DRV_I2C__ - -#include <rtthread.h> -#include <rthw.h> -#include <rtdevice.h> - -/* at32 config class */ -struct at32_soft_i2c_config -{ - rt_uint8_t scl; - rt_uint8_t sda; - const char *bus_name; -}; -/* at32 i2c dirver class */ -struct at32_i2c -{ - struct rt_i2c_bit_ops ops; - struct rt_i2c_bus_device i2c_bus; -}; - -#ifdef BSP_USING_I2C1 -#define I2C1_BUS_CONFIG \ - { \ - .scl = BSP_I2C1_SCL_PIN, \ - .sda = BSP_I2C1_SDA_PIN, \ - .bus_name = "i2c1", \ - } -#endif - -#ifdef BSP_USING_I2C2 -#define I2C2_BUS_CONFIG \ - { \ - .scl = BSP_I2C2_SCL_PIN, \ - .sda = BSP_I2C2_SDA_PIN, \ - .bus_name = "i2c2", \ - } -#endif - -#ifdef BSP_USING_I2C3 -#define I2C3_BUS_CONFIG \ - { \ - .scl = BSP_I2C3_SCL_PIN, \ - .sda = BSP_I2C3_SDA_PIN, \ - .bus_name = "i2c3", \ - } -#endif - -int rt_hw_i2c_init(void); - -#endif diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_spi.c b/bsp/at32/libraries/f435_437/rt_drivers/drv_spi.c deleted file mode 100644 index 6acfcc5fb7..0000000000 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_spi.c +++ /dev/null @@ -1,340 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-11 shelton first version - */ - -#include "board.h" -#include "drv_spi.h" - -#ifdef RT_USING_SPI -#if !defined(BSP_USING_SPI1) && !defined(BSP_USING_SPI2) && \ - !defined(BSP_USING_SPI3) && !defined(BSP_USING_SPI4) -#error "Please define at least one BSP_USING_SPIx" -#endif - -#define ARR_LEN(__N) (sizeof(__N) / sizeof(__N[0])) - -//#define DRV_DEBUG -#define LOG_TAG "drv.pwm" -#include <drv_log.h> - -/* private rt-thread spi ops function */ -static rt_err_t configure(struct rt_spi_device* device, struct rt_spi_configuration* configuration); -static rt_uint32_t xfer(struct rt_spi_device* device, struct rt_spi_message* message); - -static struct rt_spi_ops at32_spi_ops = -{ - configure, - xfer -}; - -/** - * attach the spi device to spi bus, this function must be used after initialization. - */ -rt_err_t rt_hw_spi_device_attach(const char *bus_name, const char *device_name, gpio_type *cs_gpiox, uint16_t cs_gpio_pin) -{ - gpio_init_type gpio_init_struct; - - RT_ASSERT(bus_name != RT_NULL); - RT_ASSERT(device_name != RT_NULL); - - rt_err_t result; - struct rt_spi_device *spi_device; - struct at32_spi_cs *cs_pin; - - /* initialize the cs pin & select the slave*/ - gpio_default_para_init(&gpio_init_struct); - gpio_init_struct.gpio_pins = cs_gpio_pin; - gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT; - gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL; - gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER; - gpio_init(cs_gpiox, &gpio_init_struct); - gpio_bits_set(cs_gpiox, cs_gpio_pin); - - /* attach the device to spi bus */ - spi_device = (struct rt_spi_device *)rt_malloc(sizeof(struct rt_spi_device)); - RT_ASSERT(spi_device != RT_NULL); - cs_pin = (struct at32_spi_cs *)rt_malloc(sizeof(struct at32_spi_cs)); - RT_ASSERT(cs_pin != RT_NULL); - cs_pin->gpio_x = cs_gpiox; - cs_pin->gpio_pin = cs_gpio_pin; - result = rt_spi_bus_attach_device(spi_device, device_name, bus_name, (void *)cs_pin); - - if (result != RT_EOK) - { - LOG_D("%s attach to %s faild, %d\n", device_name, bus_name, result); - } - - RT_ASSERT(result == RT_EOK); - - LOG_D("%s attach to %s done", device_name, bus_name); - - return result; -} - -static rt_err_t configure(struct rt_spi_device* device, - struct rt_spi_configuration* configuration) -{ - struct rt_spi_bus * spi_bus = (struct rt_spi_bus *)device->bus; - struct at32_spi *spi_instance = (struct at32_spi *)spi_bus->parent.user_data; - - spi_init_type spi_init_struct; - - RT_ASSERT(device != RT_NULL); - RT_ASSERT(configuration != RT_NULL); - - at32_msp_spi_init(spi_instance->config->spi_x); - - /* data_width */ - if(configuration->data_width <= 8) - { - spi_init_struct.frame_bit_num = SPI_FRAME_8BIT; - } - else if(configuration->data_width <= 16) - { - spi_init_struct.frame_bit_num = SPI_FRAME_16BIT; - } - else - { - return RT_EIO; - } - - /* baudrate */ - { - uint32_t spi_apb_clock; - uint32_t max_hz; - crm_clocks_freq_type clocks_struct; - - max_hz = configuration->max_hz; - - crm_clocks_freq_get(&clocks_struct); - LOG_D("sys freq: %d\n", clocks_struct.sclk_freq); - LOG_D("max freq: %d\n", max_hz); - - if (spi_instance->config->spi_x == SPI1) - { - spi_apb_clock = clocks_struct.apb2_freq; - LOG_D("pclk2 freq: %d\n", clocks_struct.apb2_freq); - } - else - { - spi_apb_clock = clocks_struct.apb1_freq; - LOG_D("pclk1 freq: %d\n", clocks_struct.apb1_freq); - } - - if(max_hz >= (spi_apb_clock / 2)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_2; - } - else if (max_hz >= (spi_apb_clock / 4)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_4; - } - else if (max_hz >= (spi_apb_clock / 8)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_8; - } - else if (max_hz >= (spi_apb_clock / 16)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_16; - } - else if (max_hz >= (spi_apb_clock / 32)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_32; - } - else if (max_hz >= (spi_apb_clock / 64)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_64; - } - else if (max_hz >= (spi_apb_clock / 128)) - { - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_128; - } - else - { - /* min prescaler 256 */ - spi_init_struct.mclk_freq_division = SPI_MCLK_DIV_256; - } - } /* baudrate */ - - switch(configuration->mode & RT_SPI_MODE_3) - { - case RT_SPI_MODE_0: - spi_init_struct.clock_phase = SPI_CLOCK_PHASE_1EDGE; - spi_init_struct.clock_polarity = SPI_CLOCK_POLARITY_LOW; - break; - case RT_SPI_MODE_1: - spi_init_struct.clock_phase = SPI_CLOCK_PHASE_2EDGE; - spi_init_struct.clock_polarity = SPI_CLOCK_POLARITY_LOW; - break; - case RT_SPI_MODE_2: - spi_init_struct.clock_phase = SPI_CLOCK_PHASE_1EDGE; - spi_init_struct.clock_polarity = SPI_CLOCK_POLARITY_HIGH; - break; - case RT_SPI_MODE_3: - spi_init_struct.clock_phase = SPI_CLOCK_PHASE_2EDGE; - spi_init_struct.clock_polarity = SPI_CLOCK_POLARITY_HIGH; - break; - } - - /* msb or lsb */ - if(configuration->mode & RT_SPI_MSB) - { - spi_init_struct.first_bit_transmission = SPI_FIRST_BIT_MSB; - } - else - { - spi_init_struct.first_bit_transmission = SPI_FIRST_BIT_LSB; - } - - spi_init_struct.transmission_mode = SPI_TRANSMIT_FULL_DUPLEX; - spi_init_struct.master_slave_mode = SPI_MODE_MASTER; - spi_init_struct.cs_mode_selection = SPI_CS_SOFTWARE_MODE; - /* init spi */ - spi_init(spi_instance->config->spi_x, &spi_init_struct); - - /* enable spi */ - spi_enable(spi_instance->config->spi_x, TRUE); - /* disable spi crc */ - spi_crc_enable(spi_instance->config->spi_x, FALSE); - - return RT_EOK; -}; - -static rt_uint32_t xfer(struct rt_spi_device* device, struct rt_spi_message* message) -{ - struct rt_spi_bus * at32_spi_bus = (struct rt_spi_bus *)device->bus; - struct at32_spi *spi_instance = (struct at32_spi *)at32_spi_bus->parent.user_data; - struct rt_spi_configuration * config = &device->config; - struct at32_spi_cs * at32_spi_cs = device->parent.user_data; - - RT_ASSERT(device != NULL); - RT_ASSERT(message != NULL); - - /* take cs */ - if(message->cs_take) - { - gpio_bits_reset(at32_spi_cs->gpio_x, at32_spi_cs->gpio_pin); - LOG_D("spi take cs\n"); - } - - if(config->data_width <= 8) - { - const rt_uint8_t *send_ptr = message->send_buf; - rt_uint8_t * recv_ptr = message->recv_buf; - rt_uint32_t size = message->length; - - LOG_D("spi poll transfer start: %d\n", size); - - while(size--) - { - rt_uint8_t data = 0xFF; - - if(send_ptr != RT_NULL) - { - data = *send_ptr++; - } - - /* wait until the transmit buffer is empty */ - while(spi_i2s_flag_get(spi_instance->config->spi_x, SPI_I2S_TDBE_FLAG) == RESET); - /* send the byte */ - spi_i2s_data_transmit(spi_instance->config->spi_x, data); - - /* wait until a data is received */ - while(spi_i2s_flag_get(spi_instance->config->spi_x, SPI_I2S_RDBF_FLAG) == RESET); - /* get the received data */ - data = spi_i2s_data_receive(spi_instance->config->spi_x); - - if(recv_ptr != RT_NULL) - { - *recv_ptr++ = data; - } - } - LOG_D("spi poll transfer finsh\n"); - } - else if(config->data_width <= 16) - { - const rt_uint16_t * send_ptr = message->send_buf; - rt_uint16_t * recv_ptr = message->recv_buf; - rt_uint32_t size = message->length; - - while(size--) - { - rt_uint16_t data = 0xFF; - - if(send_ptr != RT_NULL) - { - data = *send_ptr++; - } - - /* wait until the transmit buffer is empty */ - while(spi_i2s_flag_get(spi_instance->config->spi_x, SPI_I2S_TDBE_FLAG) == RESET); - /* send the byte */ - spi_i2s_data_transmit(spi_instance->config->spi_x, data); - - /* wait until a data is received */ - while(spi_i2s_flag_get(spi_instance->config->spi_x, SPI_I2S_RDBF_FLAG) == RESET); - /* get the received data */ - data = spi_i2s_data_receive(spi_instance->config->spi_x); - - if(recv_ptr != RT_NULL) - { - *recv_ptr++ = data; - } - } - } - - /* release cs */ - if(message->cs_release) - { - gpio_bits_set(at32_spi_cs->gpio_x, at32_spi_cs->gpio_pin); - LOG_D("spi release cs\n"); - } - - return message->length; -}; - -static struct at32_spi_config configs[] = { -#ifdef BSP_USING_SPI1 - {SPI1, "spi1"}, -#endif - -#ifdef BSP_USING_SPI2 - {SPI2, "spi2"}, -#endif - -#ifdef BSP_USING_SPI3 - {SPI3, "spi3"}, -#endif - -#ifdef BSP_USING_SPI4 - {SPI4, "spi4"}, -#endif -}; - -static struct at32_spi spis[sizeof(configs) / sizeof(configs[0])] = {0}; - -int rt_hw_spi_init(void) -{ - int i; - rt_err_t result; - rt_size_t obj_num = sizeof(spis) / sizeof(struct at32_spi); - - for (i = 0; i < obj_num; i++) - { - spis[i].config = &configs[i]; - spis[i].spi_bus.parent.user_data = (void *)&spis[i]; - result = rt_spi_bus_register(&(spis[i].spi_bus), spis[i].config->spi_name, &at32_spi_ops); - } - - return result; -} - -INIT_BOARD_EXPORT(rt_hw_spi_init); - -#endif diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_spi.h b/bsp/at32/libraries/f435_437/rt_drivers/drv_spi.h deleted file mode 100644 index 68959a6631..0000000000 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_spi.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2020-01-09 shelton first version - */ - -#ifndef __DRV_SPI__ -#define __DRV_SPI__ - -#include <rtthread.h> -#include <drivers/spi.h> -#include "at32f435_437.h" - -struct at32_spi_config -{ - spi_type *spi_x; - const char *spi_name; -}; - -struct at32_spi -{ - struct at32_spi_config *config; - struct rt_spi_bus spi_bus; -}; - -struct at32_spi_cs -{ - gpio_type *gpio_x; - uint32_t gpio_pin; -}; - -/* public function */ -int rt_hw_spi_init(void); -rt_err_t rt_hw_spi_device_attach(const char *bus_name, const char *device_name, gpio_type *cs_gpiox, uint16_t cs_gpio_pin); - -#endif // __DRV_SPI__ diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_usart.c b/bsp/at32/libraries/f435_437/rt_drivers/drv_usart.c deleted file mode 100644 index 7aa9630ee5..0000000000 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_usart.c +++ /dev/null @@ -1,347 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2022-03-28 shelton first version - */ - -#include "board.h" -#include "drv_usart.h" - -#ifdef RT_USING_SERIAL -#if !defined(BSP_USING_UART1) && !defined(BSP_USING_UART2) && \ - !defined(BSP_USING_UART3) && !defined(BSP_USING_UART4) && \ - !defined(BSP_USING_UART5) && !defined(BSP_USING_UART6) && \ - !defined(BSP_USING_UART7) && !defined(BSP_USING_UART8) - #error "Please define at least one BSP_USING_UARTx" -#endif - -struct at32_usart { - char *name; - usart_type* usart_x; - IRQn_Type irqn; - struct rt_serial_device serial; -}; - -enum { -#ifdef BSP_USING_UART1 - UART1_INDEX, -#endif -#ifdef BSP_USING_UART2 - UART2_INDEX, -#endif -#ifdef BSP_USING_UART3 - UART3_INDEX, -#endif -#ifdef BSP_USING_UART4 - UART4_INDEX, -#endif -#ifdef BSP_USING_UART5 - UART5_INDEX, -#endif -#ifdef BSP_USING_UART6 - UART6_INDEX, -#endif -#ifdef BSP_USING_UART7 - UART7_INDEX, -#endif -#ifdef BSP_USING_UART8 - UART8_INDEX, -#endif -}; - -static struct at32_usart usart_config[] = { -#ifdef BSP_USING_UART1 - { "uart1", - USART1, - USART1_IRQn, }, -#endif -#ifdef BSP_USING_UART2 - { "uart2", - USART2, - USART2_IRQn, }, -#endif -#ifdef BSP_USING_UART3 - { "uart3", - USART3, - USART3_IRQn, }, -#endif -#ifdef BSP_USING_UART4 - { "uart4", - UART4, - UART4_IRQn, }, -#endif -#ifdef BSP_USING_UART5 - { "uart5", - UART5, - UART5_IRQn, }, -#endif -#ifdef BSP_USING_UART6 - { "uart6", - USART6, - USART6_IRQn, }, -#endif -#ifdef BSP_USING_UART7 - { "uart7", - UART7, - UART7_IRQn, }, -#endif -#ifdef BSP_USING_UART8 - { "uart8", - UART8, - UART8_IRQn, }, -#endif -}; - -static rt_err_t at32_configure(struct rt_serial_device *serial, - struct serial_configure *cfg) { - struct at32_usart *usart_instance = (struct at32_usart *) serial->parent.user_data; - usart_data_bit_num_type data_bit; - usart_stop_bit_num_type stop_bit; - usart_parity_selection_type parity_mode; - - RT_ASSERT(serial != RT_NULL); - RT_ASSERT(cfg != RT_NULL); - - RT_ASSERT(usart_instance != RT_NULL); - - at32_msp_usart_init((void *)usart_instance->usart_x); - - usart_receiver_enable(usart_instance->usart_x, TRUE); - usart_transmitter_enable(usart_instance->usart_x, TRUE); - - usart_hardware_flow_control_set(usart_instance->usart_x, USART_HARDWARE_FLOW_NONE); - - switch (cfg->data_bits) { - case DATA_BITS_8: - data_bit = USART_DATA_8BITS; - break; - case DATA_BITS_9: - data_bit = USART_DATA_9BITS; - break; - default: - data_bit = USART_DATA_8BITS; - break; - } - - switch (cfg->stop_bits) { - case STOP_BITS_1: - stop_bit = USART_STOP_1_BIT; - break; - case STOP_BITS_2: - stop_bit = USART_STOP_2_BIT; - break; - default: - stop_bit = USART_STOP_1_BIT; - break; - } - - switch (cfg->parity) { - case PARITY_NONE: - parity_mode = USART_PARITY_NONE; - break; - case PARITY_ODD: - parity_mode = USART_PARITY_ODD; - break; - case PARITY_EVEN: - parity_mode = USART_PARITY_EVEN; - break; - default: - parity_mode = USART_PARITY_NONE; - break; - } - usart_parity_selection_config(usart_instance->usart_x, parity_mode); - usart_init(usart_instance->usart_x, cfg->baud_rate, data_bit, stop_bit); - usart_enable(usart_instance->usart_x, TRUE); - - return RT_EOK; -} - -static rt_err_t at32_control(struct rt_serial_device *serial, int cmd, void *arg) { - struct at32_usart *usart; - - RT_ASSERT(serial != RT_NULL); - usart = (struct at32_usart *) serial->parent.user_data; - RT_ASSERT(usart != RT_NULL); - - switch (cmd) { - case RT_DEVICE_CTRL_CLR_INT: - nvic_irq_disable(usart->irqn); - usart_interrupt_enable(usart->usart_x, USART_RDBF_INT, FALSE); - break; - case RT_DEVICE_CTRL_SET_INT: - nvic_irq_enable(usart->irqn, 2, 1); - usart_interrupt_enable(usart->usart_x, USART_RDBF_INT, TRUE); - break; - } - - return RT_EOK; -} - -static int at32_putc(struct rt_serial_device *serial, char ch) { - struct at32_usart *usart; - - RT_ASSERT(serial != RT_NULL); - usart = (struct at32_usart *) serial->parent.user_data; - RT_ASSERT(usart != RT_NULL); - - usart_data_transmit(usart->usart_x, (uint8_t)ch); - while (usart_flag_get(usart->usart_x, USART_TDC_FLAG) == RESET); - - return 1; -} - -static int at32_getc(struct rt_serial_device *serial) { - int ch; - struct at32_usart *usart; - - RT_ASSERT(serial != RT_NULL); - usart = (struct at32_usart *) serial->parent.user_data; - RT_ASSERT(usart != RT_NULL); - - ch = -1; - if (usart_flag_get(usart->usart_x, USART_RDBF_FLAG) != RESET) { - ch = usart_data_receive(usart->usart_x) & 0xff; - } - - return ch; -} - -static const struct rt_uart_ops at32_usart_ops = { - at32_configure, - at32_control, - at32_putc, - at32_getc, - RT_NULL -}; - -static void usart_isr(struct rt_serial_device *serial) { - struct at32_usart *usart_instance; - - RT_ASSERT(serial != RT_NULL); - - usart_instance = (struct at32_usart *) serial->parent.user_data; - RT_ASSERT(usart_instance != RT_NULL); - - if (usart_flag_get(usart_instance->usart_x, USART_RDBF_FLAG) != RESET) { - rt_hw_serial_isr(serial, RT_SERIAL_EVENT_RX_IND); - usart_flag_clear(usart_instance->usart_x, USART_RDBF_FLAG); - } - else - { - if (usart_flag_get(usart_instance->usart_x, USART_CTSCF_FLAG) != RESET) { - usart_flag_clear(usart_instance->usart_x, USART_CTSCF_FLAG); - } - - if (usart_flag_get(usart_instance->usart_x, USART_BFF_FLAG) != RESET) { - usart_flag_clear(usart_instance->usart_x, USART_BFF_FLAG); - } - - if (usart_flag_get(usart_instance->usart_x, USART_TDC_FLAG) != RESET) { - usart_flag_clear(usart_instance->usart_x, USART_TDC_FLAG); - } - } -} - -#ifdef BSP_USING_UART1 -void USART1_IRQHandler(void) { - rt_interrupt_enter(); - - usart_isr(&usart_config[UART1_INDEX].serial); - - rt_interrupt_leave(); -} -#endif -#ifdef BSP_USING_UART2 -void USART2_IRQHandler(void) { - rt_interrupt_enter(); - - usart_isr(&usart_config[UART2_INDEX].serial); - - rt_interrupt_leave(); -} -#endif -#ifdef BSP_USING_UART3 -void USART3_IRQHandler(void) { - rt_interrupt_enter(); - - usart_isr(&usart_config[UART3_INDEX].serial); - - rt_interrupt_leave(); -} -#endif -#ifdef BSP_USING_UART4 -void UART4_IRQHandler(void) { - rt_interrupt_enter(); - - usart_isr(&usart_config[UART4_INDEX].serial); - - rt_interrupt_leave(); -} -#endif -#ifdef BSP_USING_UART5 -void UART5_IRQHandler(void) { - rt_interrupt_enter(); - - usart_isr(&usart_config[UART5_INDEX].serial); - - rt_interrupt_leave(); -} -#endif -#ifdef BSP_USING_UART6 -void USART6_IRQHandler(void) { - rt_interrupt_enter(); - - usart_isr(&usart_config[UART6_INDEX].serial); - - rt_interrupt_leave(); -} -#endif -#ifdef BSP_USING_UART7 -void UART7_IRQHandler(void) { - rt_interrupt_enter(); - - usart_isr(&usart_config[UART7_INDEX].serial); - - rt_interrupt_leave(); -} -#endif -#ifdef BSP_USING_UART8 -void UART8_IRQHandler(void) { - rt_interrupt_enter(); - - usart_isr(&usart_config[UART8_INDEX].serial); - - rt_interrupt_leave(); -} -#endif - -int rt_hw_usart_init(void) { - rt_size_t obj_num; - int index; - - obj_num = sizeof(usart_config) / sizeof(struct at32_usart); - struct serial_configure config = RT_SERIAL_CONFIG_DEFAULT; - rt_err_t result = 0; - - for (index = 0; index < obj_num; index++) { - usart_config[index].serial.ops = &at32_usart_ops; - usart_config[index].serial.config = config; - - /* register uart device */ - result = rt_hw_serial_register(&usart_config[index].serial, - usart_config[index].name, - RT_DEVICE_FLAG_RDWR | - RT_DEVICE_FLAG_INT_RX | - RT_DEVICE_FLAG_INT_TX, - &usart_config[index]); - RT_ASSERT(result == RT_EOK); - } - - return result; -} - -#endif /* BSP_USING_SERIAL */ diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_usart.h b/bsp/at32/libraries/f435_437/rt_drivers/drv_usart.h deleted file mode 100644 index fc493d42da..0000000000 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_usart.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2006-2021, RT-Thread Development Team - * - * SPDX-License-Identifier: Apache-2.0 - * - * Change Logs: - * Date Author Notes - * 2020-03-04 shelton first version - */ - -#ifndef __DRV_UART_H__ -#define __DRV_UART_H__ - -#include <rtthread.h> -#include <rtdevice.h> - -int rt_hw_usart_init(void); - -#endif /* __DRV_USART_H__ */ - -/******************* end of file *******************/ diff --git a/bsp/at32/libraries/f435_437/rt_drivers/SConscript b/bsp/at32/libraries/rt_drivers/SConscript index ff23217a47..ff23217a47 100644 --- a/bsp/at32/libraries/f435_437/rt_drivers/SConscript +++ b/bsp/at32/libraries/rt_drivers/SConscript diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_adc.c b/bsp/at32/libraries/rt_drivers/drv_adc.c index a2d990da4a..710c419ce8 100644 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_adc.c +++ b/bsp/at32/libraries/rt_drivers/drv_adc.c @@ -5,10 +5,10 @@ * * Change Logs: * Date Author Notes - * 2022-03-28 shelton first version + * 2022-05-16 shelton first version */ -#include "board.h" +#include "drv_common.h" #include "drv_adc.h" #if defined(BSP_USING_ADC1) || defined(BSP_USING_ADC2) || \ @@ -44,13 +44,16 @@ static rt_err_t at32_adc_enabled(struct rt_adc_device *device, rt_uint32_t chann { adc_type *adc_x; adc_base_config_type adc_config_struct; +#if defined (SOC_SERIES_AT32F435) || defined (SOC_SERIES_AT32F437) adc_common_config_type adc_common_struct; +#endif RT_ASSERT(device != RT_NULL); adc_x = device->parent.user_data; at32_msp_adc_init(adc_x); +#if defined (SOC_SERIES_AT32F435) || defined (SOC_SERIES_AT32F437) adc_common_default_para_init(&adc_common_struct); /* config combine mode */ adc_common_struct.combine_mode = ADC_INDEPENDENT_MODE; @@ -67,6 +70,12 @@ static rt_err_t at32_adc_enabled(struct rt_adc_device *device, rt_uint32_t chann /* config voltage battery */ adc_common_struct.vbat_state = FALSE; adc_common_config(&adc_common_struct); +#else +#if !defined (SOC_SERIES_AT32F415) + adc_combine_mode_select(ADC_INDEPENDENT_MODE); +#endif + adc_ordinary_conversion_trigger_set(adc_x, ADC12_ORDINARY_TRIG_SOFTWARE, TRUE); +#endif /* adc_x configuration */ adc_base_default_para_init(&adc_config_struct); @@ -112,13 +121,21 @@ static rt_err_t at32_get_adc_value(struct rt_adc_device *device, rt_uint32_t cha adc_x = device->parent.user_data; /* adc_x regular channels configuration */ +#if defined (SOC_SERIES_AT32F435) || defined (SOC_SERIES_AT32F437) adc_ordinary_channel_set(adc_x, (adc_channel_select_type)channel, 1, ADC_SAMPLETIME_247_5); +#else + adc_ordinary_channel_set(adc_x, (adc_channel_select_type)channel, 1, ADC_SAMPLETIME_239_5); +#endif /* start adc_x software conversion */ adc_ordinary_software_trigger_enable(adc_x, TRUE); /* wait for the adc to convert */ +#if defined (SOC_SERIES_AT32F435) || defined (SOC_SERIES_AT32F437) while((adc_flag_get(adc_x, ADC_OCCE_FLAG) == RESET) && timeout < 0xFFFF) +#else + while((adc_flag_get(adc_x, ADC_CCE_FLAG) == RESET) && timeout < 0xFFFF) +#endif { timeout ++; } diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_adc.h b/bsp/at32/libraries/rt_drivers/drv_adc.h index 3c64765823..3c64765823 100644 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_adc.h +++ b/bsp/at32/libraries/rt_drivers/drv_adc.h diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_can.c b/bsp/at32/libraries/rt_drivers/drv_can.c index a1c24a4f1d..7a0f7ba49c 100644 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_can.c +++ b/bsp/at32/libraries/rt_drivers/drv_can.c @@ -5,7 +5,7 @@ * * Change Logs: * Date Author Notes - * 2022-03-11 shelton first version + * 2022-05-16 shelton first version */ #include "drv_can.h" @@ -47,6 +47,87 @@ static const struct at32_baud_rate can_baud_rate_tab[] = {CAN10kBaud, {500, CAN_RSAW_2TQ, CAN_BTS1_16TQ, CAN_BTS2_3TQ}} }; #endif +#ifdef SOC_SERIES_AT32F413 +/* attention !!! baud calculation example: apbclk / ((ss + bs1 + bs2) * brp), ep: 96 / ((1 + 8 + 3) * 8) = 1MHz*/ +/* attention !!! default apbclk 96 mhz */ +static const struct at32_baud_rate can_baud_rate_tab[] = +{ + {CAN1MBaud, {8 , CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, + {CAN800kBaud, {20, CAN_RSAW_1TQ, CAN_BTS1_3TQ, CAN_BTS2_2TQ}}, + {CAN500kBaud, {16, CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, + {CAN250kBaud, {32, CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, + {CAN125kBaud, {64, CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, + {CAN100kBaud, {160, CAN_RSAW_1TQ, CAN_BTS1_3TQ, CAN_BTS2_2TQ}}, + {CAN50kBaud, {320, CAN_RSAW_1TQ, CAN_BTS1_3TQ, CAN_BTS2_2TQ}}, + {CAN20kBaud, {800, CAN_RSAW_1TQ, CAN_BTS1_3TQ, CAN_BTS2_2TQ}}, + {CAN10kBaud, {800, CAN_RSAW_1TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, +}; +#endif +#ifdef SOC_SERIES_AT32F415 +/* attention !!! baud calculation example: apbclk / ((ss + bs1 + bs2) * brp), ep: 72 / ((1 + 8 + 3) * 10) = 1MHz*/ +/* attention !!! default apbclk 72 mhz */ +static const struct at32_baud_rate can_baud_rate_tab[] = +{ + {CAN1MBaud, {6 , CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, + {CAN800kBaud, {10 , CAN_RSAW_2TQ, CAN_BTS1_6TQ, CAN_BTS2_2TQ}}, + {CAN500kBaud, {12 , CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, + {CAN250kBaud, {24 , CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, + {CAN125kBaud, {48 , CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, + {CAN100kBaud, {60 , CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, + {CAN50kBaud, {120, CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, + {CAN20kBaud, {300, CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, + {CAN10kBaud, {600, CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}} +}; +#endif +#ifdef SOC_SERIES_AT32F435 +/* attention !!! baud calculation example: apbclk / ((ss + bs1 + bs2) * brp), ep: 144 / ((1 + 8 + 3) * 12) = 1MHz*/ +/* attention !!! default apbclk 144 mhz */ +static const struct at32_baud_rate can_baud_rate_tab[] = +{ + {CAN1MBaud, {12 , CAN_RSAW_3TQ, CAN_BTS1_8TQ, CAN_BTS2_3TQ}}, + {CAN800kBaud, {18 , CAN_RSAW_2TQ, CAN_BTS1_7TQ, CAN_BTS2_2TQ}}, + {CAN500kBaud, {24 , CAN_RSAW_2TQ, CAN_BTS1_9TQ, CAN_BTS2_2TQ}}, + {CAN250kBaud, {48 , CAN_RSAW_2TQ, CAN_BTS1_9TQ, CAN_BTS2_2TQ}}, + {CAN125kBaud, {96 , CAN_RSAW_2TQ, CAN_BTS1_9TQ, CAN_BTS2_2TQ}}, + {CAN100kBaud, {90 , CAN_RSAW_2TQ, CAN_BTS1_13TQ, CAN_BTS2_2TQ}}, + {CAN50kBaud, {180, CAN_RSAW_2TQ, CAN_BTS1_13TQ, CAN_BTS2_2TQ}}, + {CAN20kBaud, {450, CAN_RSAW_2TQ, CAN_BTS1_13TQ, CAN_BTS2_2TQ}}, + {CAN10kBaud, {900, CAN_RSAW_2TQ, CAN_BTS1_13TQ, CAN_BTS2_2TQ}} +}; +#endif +#ifdef SOC_SERIES_AT32F437 +/* attention !!! baud calculation example: apbclk / ((ss + bs1 + bs2) * brp), ep: 125 / ((1 + 3 + 1) * 25) = 1MHz*/ +/* attention !!! default apbclk 125 mhz */ +static const struct at32_baud_rate can_baud_rate_tab[] = +{ + {CAN1MBaud, {25 , CAN_RSAW_1TQ, CAN_BTS1_3TQ, CAN_BTS2_1TQ}}, + //none + {CAN500kBaud, {25 , CAN_RSAW_2TQ, CAN_BTS1_7TQ, CAN_BTS2_2TQ}}, + {CAN250kBaud, {25 , CAN_RSAW_3TQ, CAN_BTS1_16TQ, CAN_BTS2_3TQ}}, + {CAN125kBaud, {50 , CAN_RSAW_2TQ, CAN_BTS1_16TQ, CAN_BTS2_3TQ}}, + {CAN100kBaud, {125, CAN_RSAW_1TQ, CAN_BTS1_8TQ, CAN_BTS2_1TQ}}, + {CAN50kBaud, {125, CAN_RSAW_2TQ, CAN_BTS1_16TQ, CAN_BTS2_3TQ}}, + {CAN20kBaud, {625, CAN_RSAW_1TQ, CAN_BTS1_8TQ, CAN_BTS2_1TQ}}, + {CAN10kBaud, {625, CAN_RSAW_2TQ, CAN_BTS1_16TQ, CAN_BTS2_3TQ}} +}; +#endif + +#if defined (SOC_SERIES_AT32F415) || defined (SOC_SERIES_AT32F435) || \ + defined (SOC_SERIES_AT32F437) +#define CAN1_RX0_IRQ_NUM CAN1_RX0_IRQn +#define CAN1_RX1_IRQ_NUM CAN1_RX1_IRQn +#define CAN1_TX_IRQ_NUM CAN1_TX_IRQn +#define CAN1_RX0_IRQ_HANDLER CAN1_RX0_IRQHandler +#define CAN1_RX1_IRQ_HANDLER CAN1_RX1_IRQHandler +#define CAN1_TX_IRQ_HANDLER CAN1_TX_IRQHandler +#else +#define CAN1_RX0_IRQ_NUM USBFS_L_CAN1_RX0_IRQn +#define CAN1_RX1_IRQ_NUM CAN1_RX1_IRQn +#define CAN1_TX_IRQ_NUM USBFS_H_CAN1_TX_IRQn +#define CAN1_RX0_IRQ_HANDLER USBFS_L_CAN1_RX0_IRQHandler +#define CAN1_RX1_IRQ_HANDLER CAN1_RX1_IRQHandler +#define CAN1_TX_IRQ_HANDLER USBFS_H_CAN1_TX_IRQHandler +#endif #ifdef BSP_USING_CAN1 static struct at32_can can_instance1 = @@ -157,16 +238,16 @@ static rt_err_t _can_control(struct rt_can_device *can, int cmd, void *arg) { if (CAN1 == can_instance->config.can_x) { - nvic_irq_disable(USBFS_L_CAN1_RX0_IRQn); - nvic_irq_disable(CAN1_RX1_IRQn); + nvic_irq_disable(CAN1_RX0_IRQ_NUM); + nvic_irq_disable(CAN1_RX1_IRQ_NUM); } - +#if defined (CAN2) if (CAN2 == can_instance->config.can_x) { nvic_irq_disable(CAN2_RX0_IRQn); nvic_irq_disable(CAN2_RX1_IRQn); } - +#endif /* disable interrupt */ can_interrupt_enable(can_instance->config.can_x, CAN_RF0MIEN_INT, FALSE); can_interrupt_enable(can_instance->config.can_x, CAN_RF0FIEN_INT, FALSE); @@ -179,14 +260,14 @@ static rt_err_t _can_control(struct rt_can_device *can, int cmd, void *arg) { if (CAN1 == can_instance->config.can_x) { - nvic_irq_disable(USBFS_H_CAN1_TX_IRQn); + nvic_irq_disable(CAN1_TX_IRQ_NUM); } - +#if defined (CAN2) if (CAN2 == can_instance->config.can_x) { nvic_irq_disable(CAN2_TX_IRQn); } - +#endif can_interrupt_enable(can_instance->config.can_x, CAN_TCIEN_INT, FALSE); } else if (argval == RT_DEVICE_CAN_INT_ERR) @@ -195,12 +276,12 @@ static rt_err_t _can_control(struct rt_can_device *can, int cmd, void *arg) { nvic_irq_disable(CAN1_SE_IRQn); } - +#if defined (CAN2) if (CAN2 == can_instance->config.can_x) { nvic_irq_disable(CAN2_SE_IRQn); } - +#endif can_interrupt_enable(can_instance->config.can_x, CAN_EAIEN_INT, FALSE); can_interrupt_enable(can_instance->config.can_x, CAN_EPIEN_INT, FALSE); can_interrupt_enable(can_instance->config.can_x, CAN_BOIEN_INT, FALSE); @@ -222,16 +303,16 @@ static rt_err_t _can_control(struct rt_can_device *can, int cmd, void *arg) if (CAN1 == can_instance->config.can_x) { - nvic_irq_enable(USBFS_L_CAN1_RX0_IRQn, 1, 0); - nvic_irq_enable(CAN1_RX1_IRQn, 1, 0); + nvic_irq_enable(CAN1_RX0_IRQ_NUM, 1, 0); + nvic_irq_enable(CAN1_RX1_IRQ_NUM, 1, 0); } - +#if defined (CAN2) if (CAN2 == can_instance->config.can_x) { nvic_irq_enable(CAN2_RX0_IRQn, 1, 0); nvic_irq_enable(CAN2_RX1_IRQn, 1, 0); } - +#endif } else if (argval == RT_DEVICE_FLAG_INT_TX) { @@ -239,13 +320,14 @@ static rt_err_t _can_control(struct rt_can_device *can, int cmd, void *arg) if (CAN1 == can_instance->config.can_x) { - nvic_irq_enable(USBFS_H_CAN1_TX_IRQn, 1, 0); + nvic_irq_enable(CAN1_TX_IRQ_NUM, 1, 0); } - +#if defined (CAN2) if (CAN2 == can_instance->config.can_x) { nvic_irq_enable(CAN2_TX_IRQn, 1, 0); } +#endif } else if (argval == RT_DEVICE_CAN_INT_ERR) { @@ -259,11 +341,12 @@ static rt_err_t _can_control(struct rt_can_device *can, int cmd, void *arg) { nvic_irq_enable(CAN1_SE_IRQn, 1, 0); } - +#if defined (CAN2) if (CAN2 == can_instance->config.can_x) { nvic_irq_enable(CAN2_SE_IRQn, 1, 0); } +#endif } break; case RT_CAN_CMD_SET_FILTER: @@ -586,7 +669,7 @@ static void _can_rx_isr(struct rt_can_device *can, rt_uint32_t fifo) /** * @brief this function handles can1 tx interrupts. transmit fifo0/1/2 is empty can trigger this interrupt */ -void USBFS_H_CAN1_TX_IRQHandler(void) +void CAN1_TX_IRQ_HANDLER(void) { rt_interrupt_enter(); struct can_config *hcan; @@ -636,7 +719,7 @@ void USBFS_H_CAN1_TX_IRQHandler(void) /** * @brief this function handles can1 rx0 interrupts. */ -void USBFS_L_CAN1_RX0_IRQHandler(void) +void CAN1_RX0_IRQ_HANDLER(void) { rt_interrupt_enter(); _can_rx_isr(&can_instance1.device, CAN_RX_FIFO0); @@ -646,7 +729,7 @@ void USBFS_L_CAN1_RX0_IRQHandler(void) /** * @brief this function handles can1 rx1 interrupts. */ -void CAN1_RX1_IRQHandler(void) +void CAN1_RX1_IRQ_HANDLER(void) { rt_interrupt_enter(); _can_rx_isr(&can_instance1.device, CAN_RX_FIFO1); diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_can.h b/bsp/at32/libraries/rt_drivers/drv_can.h index cec0239989..ead87e0a01 100644 --- a/bsp/at32/libraries/f415/rt_drivers/drv_can.h +++ b/bsp/at32/libraries/rt_drivers/drv_can.h @@ -5,7 +5,7 @@ * * Change Logs: * Date Author Notes - * 2022-03-11 shelton first version + * 2022-05-16 shelton first version */ #ifndef __DRV_CAN_H__ @@ -17,7 +17,7 @@ extern "C" { #include <rtdevice.h> #include <rtthread.h> -#include "board.h" +#include "drv_common.h" struct at32_baud_rate { diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_common.c b/bsp/at32/libraries/rt_drivers/drv_common.c index 75404bb74a..25ec5900e3 100644 --- a/bsp/at32/libraries/f413/rt_drivers/drv_common.c +++ b/bsp/at32/libraries/rt_drivers/drv_common.c @@ -5,10 +5,9 @@ * * Change Logs: * Date Author Notes - * 2022-03-08 shelton first version + * 2022-05-16 shelton first version */ -#include "board.h" #include "drv_common.h" #ifdef RT_USING_SERIAL diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_common.h b/bsp/at32/libraries/rt_drivers/drv_common.h index aebafed066..4c390e8b22 100644 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_common.h +++ b/bsp/at32/libraries/rt_drivers/drv_common.h @@ -5,7 +5,7 @@ * * Change Logs: * Date Author Notes - * 2022-03-08 shelton first version + * 2022-05-16 shelton first version */ #ifndef __DRV_COMMON_H__ @@ -16,6 +16,7 @@ #ifdef RT_USING_DEVICE #include <rtdevice.h> #endif +#include "board.h" #ifdef __cplusplus extern "C" { diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_emac.c b/bsp/at32/libraries/rt_drivers/drv_emac.c index aaed7daf7a..0f016b4ae9 100644 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_emac.c +++ b/bsp/at32/libraries/rt_drivers/drv_emac.c @@ -5,7 +5,7 @@ * * Change Logs: * Date Author Notes - * 2022-03-28 shelton first version + * 2022-05-16 shelton first version */ #include "drv_emac.h" @@ -85,6 +85,7 @@ static void phy_reset(void) { gpio_init_type gpio_init_struct; +#if defined (SOC_SERIES_AT32F437) crm_periph_clock_enable(CRM_GPIOE_PERIPH_CLOCK, TRUE); crm_periph_clock_enable(CRM_GPIOG_PERIPH_CLOCK, TRUE); @@ -103,9 +104,26 @@ static void phy_reset(void) gpio_bits_reset(GPIOG, GPIO_PINS_15); rt_thread_mdelay(2); gpio_bits_set(GPIOE, GPIO_PINS_15); +#endif +#if defined (SOC_SERIES_AT32F407) + crm_periph_clock_enable(CRM_GPIOC_PERIPH_CLOCK, TRUE); + + gpio_default_para_init(&gpio_init_struct); + gpio_init_struct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER; + gpio_init_struct.gpio_mode = GPIO_MODE_OUTPUT; + gpio_init_struct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL; + gpio_init_struct.gpio_pull = GPIO_PULL_NONE; + gpio_init_struct.gpio_pins = GPIO_PINS_8; + gpio_init(GPIOC, &gpio_init_struct); + + gpio_bits_reset(GPIOC, GPIO_PINS_8); + rt_thread_mdelay(2); + gpio_bits_set(GPIOC, GPIO_PINS_8); +#endif rt_thread_mdelay(2000); } + /** * @brief phy clock config */ @@ -125,8 +143,19 @@ static void phy_clock_config(void) gpio_init_struct.gpio_pins = GPIO_PINS_8; gpio_init(GPIOA, &gpio_init_struct); - /* 9162 clkout output pll / 10 == 25 mhz, so system clock must be 250 mhz */ - /* 83848 clkout output pll / 5 == 50 mhz, so system clock must be 250 mhz */ + + /* 9162 clkout output 25 mhz */ + /* 83848 clkout output 50 mhz */ +#if defined (SOC_SERIES_AT32F407) + crm_clock_out_set(CRM_CLKOUT_SCLK); +#if defined (PHY_USING_DM9162) + crm_clkout_div_set(CRM_CLKOUT_DIV_8); +#elif defined (PHY_USING_DP83848) + crm_clkout_div_set(CRM_CLKOUT_DIV_4); +#endif +#endif + +#if defined (SOC_SERIES_AT32F437) crm_clock_out1_set(CRM_CLKOUT1_PLL); #if defined (PHY_USING_DM9162) crm_clkout_div_set(CRM_CLKOUT_INDEX_1, CRM_CLKOUT_DIV1_5, CRM_CLKOUT_DIV2_2); @@ -134,6 +163,7 @@ static void phy_clock_config(void) crm_clkout_div_set(CRM_CLKOUT_INDEX_1, CRM_CLKOUT_DIV1_5, CRM_CLKOUT_DIV2_1); #endif #endif +#endif } /** @@ -330,7 +360,7 @@ static rt_err_t rt_at32_emac_init(rt_device_t dev) if(emac_phy_init(&mac_control_para) == ERROR) { LOG_E("emac hardware init failed"); - return ERROR; + return -RT_ERROR; } else { @@ -784,7 +814,12 @@ static int rt_hw_at32_emac_init(void) crm_periph_clock_enable(CRM_EMACRX_PERIPH_CLOCK, TRUE); /* interface mode */ +#if defined (SOC_SERIES_AT32F407) + gpio_pin_remap_config(MII_RMII_SEL_GMUX, TRUE); +#endif +#if defined (SOC_SERIES_AT32F437) scfg_emac_interface_set(SCFG_EMAC_SELECT_RMII); +#endif /* emac gpio init */ at32_msp_emac_init(NULL); @@ -793,8 +828,8 @@ static int rt_hw_at32_emac_init(void) at32_emac_device.emac_mode = EMAC_FULL_DUPLEX; at32_emac_device.dev_addr[0] = 0x00; - at32_emac_device.dev_addr[1] = 0x80; - at32_emac_device.dev_addr[2] = 0xE1; + at32_emac_device.dev_addr[1] = 0x66; + at32_emac_device.dev_addr[2] = 0x88; /* generate mac addr from unique id (only for test). */ at32_emac_device.dev_addr[3] = *(rt_uint8_t *)(0x1FFFF7E8 + 4); at32_emac_device.dev_addr[4] = *(rt_uint8_t *)(0x1FFFF7E8 + 2); diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_emac.h b/bsp/at32/libraries/rt_drivers/drv_emac.h index 64833938e4..71f57c3e0f 100644 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_emac.h +++ b/bsp/at32/libraries/rt_drivers/drv_emac.h @@ -5,16 +5,16 @@ * * Change Logs: * Date Author Notes - * 2022-03-18 shelton first version + * 2022-05-16 shelton first version */ -#ifndef __DRV_ETH_H__ -#define __DRV_ETH_H__ +#ifndef __DRV_EMAC_H__ +#define __DRV_EMAC_H__ #include <rtthread.h> #include <rthw.h> #include <rtdevice.h> -#include <board.h> +#include "drv_common.h" #define CRYSTAL_ON_PHY 0 /* phy does not with crystal */ @@ -86,4 +86,4 @@ #define PHY_INT_MASK (1<<5) #endif -#endif /* __DRV_ETH_H__ */ +#endif /* __DRV_EMAC_H__ */ diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_flash.c b/bsp/at32/libraries/rt_drivers/drv_flash.c index e763e817bc..220e0c1505 100644 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_flash.c +++ b/bsp/at32/libraries/rt_drivers/drv_flash.c @@ -5,11 +5,11 @@ * * Change Logs: * Date Author Notes - * 2022-03-24 shelton first version + * 2022-05-16 shelton first version */ #include <rtthread.h> -#include "board.h" +#include "drv_common.h" #ifdef BSP_USING_ON_CHIP_FLASH #include "drv_flash.h" diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_flash.h b/bsp/at32/libraries/rt_drivers/drv_flash.h index 42ada3416a..42ada3416a 100644 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_flash.h +++ b/bsp/at32/libraries/rt_drivers/drv_flash.h diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_gpio.c b/bsp/at32/libraries/rt_drivers/drv_gpio.c index e4b91c7b08..b4fa19408d 100644 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_gpio.c +++ b/bsp/at32/libraries/rt_drivers/drv_gpio.c @@ -5,10 +5,10 @@ * * Change Logs: * Date Author Notes - * 2022-03-28 shelton first version + * 2022-05-16 shelton first version */ -#include "board.h" +#include "drv_common.h" #include "drv_gpio.h" #ifdef RT_USING_PIN @@ -17,8 +17,14 @@ #define PIN_PORT(pin) ((uint8_t)(((pin) >> 4) & 0xFu)) #define PIN_NO(pin) ((uint8_t)((pin) & 0xFu)) +#if defined (SOC_SERIES_AT32F435) || defined (SOC_SERIES_AT32F437) #define PIN_ATPORTSOURCE(pin) (scfg_port_source_type)((uint8_t)(((pin) & 0xF0u) >> 4)) #define PIN_ATPINSOURCE(pin) (scfg_pins_source_type)((uint8_t)((pin) & 0xFu)) +#else +#define PIN_ATPORTSOURCE(pin) (gpio_port_source_type)((uint8_t)(((pin) & 0xF0u) >> 4)) +#define PIN_ATPINSOURCE(pin) (gpio_pins_source_type)((uint8_t)((pin) & 0xFu)) +#endif + #define PIN_ATPORT(pin) ((gpio_type *)(GPIOA_BASE + (0x400u * PIN_PORT(pin)))) #define PIN_ATPIN(pin) ((uint16_t)(1u << PIN_NO(pin))) @@ -355,8 +361,11 @@ static rt_err_t at32_pin_irq_enable(struct rt_device *device, rt_base_t pin, } gpio_init(gpio_port, &gpio_init_struct); +#if defined (SOC_SERIES_AT32F435) || defined (SOC_SERIES_AT32F437) scfg_exint_line_config(PIN_ATPORTSOURCE(pin), PIN_ATPINSOURCE(pin)); - +#else + gpio_exint_line_config(PIN_ATPORTSOURCE(pin), PIN_ATPINSOURCE(pin)); +#endif exint_init(&exint_init_struct); nvic_irq_enable(irqmap->irqno, 5, 0); @@ -550,7 +559,11 @@ int rt_hw_pin_init(void) crm_periph_clock_enable(CRM_GPIOH_PERIPH_CLOCK, TRUE); #endif +#if defined (SOC_SERIES_AT32F435) || defined (SOC_SERIES_AT32F437) crm_periph_clock_enable(CRM_SCFG_PERIPH_CLOCK, TRUE); +#else + crm_periph_clock_enable(CRM_IOMUX_PERIPH_CLOCK, TRUE); +#endif return rt_device_pin_register("pin", &_at32_pin_ops, RT_NULL); } diff --git a/bsp/at32/libraries/f413/rt_drivers/drv_gpio.h b/bsp/at32/libraries/rt_drivers/drv_gpio.h index 16abd818a1..15ca4dc272 100644 --- a/bsp/at32/libraries/f413/rt_drivers/drv_gpio.h +++ b/bsp/at32/libraries/rt_drivers/drv_gpio.h @@ -5,7 +5,7 @@ * * Change Logs: * Date Author Notes - * 2020-01-07 shelton first version + * 2022-05-16 shelton first version */ #ifndef __DRV_GPIO_H__ @@ -13,7 +13,7 @@ #include <rthw.h> #include <rtdevice.h> -#include "board.h" +#include "drv_common.h" #define __AT32_PORT(port) GPIO##port##_BASE diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_hwtimer.c b/bsp/at32/libraries/rt_drivers/drv_hwtimer.c index 3621c9ab48..345638a322 100644 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_hwtimer.c +++ b/bsp/at32/libraries/rt_drivers/drv_hwtimer.c @@ -5,7 +5,7 @@ * * Change Logs: * Date Author Notes - * 2022-03-11 shelton first version + * 2022-05-16 shelton first version */ #include "board.h" @@ -191,7 +191,24 @@ static void at32_timer_init(struct rt_hwtimer_device *timer, rt_uint32_t state) /* get timer clock */ tmr_pclk_get(&pclk1_doubler, &pclk2_doubler); crm_clocks_freq_get(&clocks_struct); - if((tmr_x == TMR1) || (tmr_x == TMR8) || (tmr_x == TMR9) || (tmr_x == TMR10) || (tmr_x == TMR11)) + + if( +#if defined (TMR1) + (tmr_x == TMR1) +#endif +#if defined (TMR8) + || (tmr_x == TMR8) +#endif +#if defined (TMR9) + || (tmr_x == TMR9) +#endif +#if defined (TMR10) + || (tmr_x == TMR10) +#endif +#if defined (TMR11) + || (tmr_x == TMR11) +#endif + ) { tmr_clock = clocks_struct.apb2_freq * pclk2_doubler; } @@ -304,7 +321,23 @@ static rt_err_t at32_timer_ctrl(rt_hwtimer_t *timer, rt_uint32_t cmd, void *arg) /* get timer clock */ tmr_pclk_get(&pclk1_doubler, &pclk2_doubler); crm_clocks_freq_get(&clocks_struct); - if((tmr_x == TMR1) || (tmr_x == TMR8) || (tmr_x == TMR9) || (tmr_x == TMR10) || (tmr_x == TMR11)) + if( +#if defined (TMR1) + (tmr_x == TMR1) +#endif +#if defined (TMR8) + || (tmr_x == TMR8) +#endif +#if defined (TMR9) + || (tmr_x == TMR9) +#endif +#if defined (TMR10) + || (tmr_x == TMR10) +#endif +#if defined (TMR11) + || (tmr_x == TMR11) +#endif + ) { tmr_clock = clocks_struct.apb2_freq * pclk2_doubler; } diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_hwtimer.h b/bsp/at32/libraries/rt_drivers/drv_hwtimer.h index 624437f559..624437f559 100644 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_hwtimer.h +++ b/bsp/at32/libraries/rt_drivers/drv_hwtimer.h diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_log.h b/bsp/at32/libraries/rt_drivers/drv_log.h index 45345aa150..45345aa150 100644 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_log.h +++ b/bsp/at32/libraries/rt_drivers/drv_log.h diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_pwm.c b/bsp/at32/libraries/rt_drivers/drv_pwm.c index 99954d4710..339aeb1620 100644 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_pwm.c +++ b/bsp/at32/libraries/rt_drivers/drv_pwm.c @@ -5,10 +5,10 @@ * * Change Logs: * Date Author Notes - * 2022-03-10 shelton first version + * 2022-05-16 shelton first version */ -#include "board.h" +#include "drv_common.h" #ifdef RT_USING_PWM #include "drv_pwm.h" @@ -259,7 +259,23 @@ static rt_err_t drv_pwm_get(tmr_type* tmr_x, struct rt_pwm_configuration *config crm_clocks_freq_get(&clocks_struct); - if((tmr_x == TMR1) || (tmr_x == TMR8) || (tmr_x == TMR9) || (tmr_x == TMR10) || (tmr_x == TMR11)) + if( +#if defined (TMR1) + (tmr_x == TMR1) +#endif +#if defined (TMR8) + || (tmr_x == TMR8) +#endif +#if defined (TMR9) + || (tmr_x == TMR9) +#endif +#if defined (TMR10) + || (tmr_x == TMR10) +#endif +#if defined (TMR11) + || (tmr_x == TMR11) +#endif + ) { tmr_clock = clocks_struct.apb2_freq * pclk2_doubler; } @@ -300,7 +316,23 @@ static rt_err_t drv_pwm_set(tmr_type* tmr_x, struct rt_pwm_configuration *config crm_clocks_freq_get(&clocks_struct); - if((tmr_x == TMR1) || (tmr_x == TMR8) || (tmr_x == TMR9) || (tmr_x == TMR10) || (tmr_x == TMR11)) + if( +#if defined (TMR1) + (tmr_x == TMR1) +#endif +#if defined (TMR8) + || (tmr_x == TMR8) +#endif +#if defined (TMR9) + || (tmr_x == TMR9) +#endif +#if defined (TMR10) + || (tmr_x == TMR10) +#endif +#if defined (TMR11) + || (tmr_x == TMR11) +#endif + ) { tmr_clock = clocks_struct.apb2_freq * pclk2_doubler; } diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_pwm.h b/bsp/at32/libraries/rt_drivers/drv_pwm.h index d303401abb..d303401abb 100644 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_pwm.h +++ b/bsp/at32/libraries/rt_drivers/drv_pwm.h diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_qspi.c b/bsp/at32/libraries/rt_drivers/drv_qspi.c index 6b8c7bf2d0..c7b59bef1c 100644 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_qspi.c +++ b/bsp/at32/libraries/rt_drivers/drv_qspi.c @@ -5,10 +5,10 @@ * * Change Logs: * Date Author Notes - * 2022-03-29 shelton first version + * 2022-05-16 shelton first version */ -#include "board.h" +#include "drv_common.h" #include "drv_qspi.h" #ifdef BSP_USING_QSPI diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_qspi.h b/bsp/at32/libraries/rt_drivers/drv_qspi.h index 6742bff7f8..6742bff7f8 100644 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_qspi.h +++ b/bsp/at32/libraries/rt_drivers/drv_qspi.h diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_rtc.c b/bsp/at32/libraries/rt_drivers/drv_rtc.c index 10c57e5f2c..8402e4a0b8 100644 --- a/bsp/at32/libraries/f415/rt_drivers/drv_rtc.c +++ b/bsp/at32/libraries/rt_drivers/drv_rtc.c @@ -5,13 +5,13 @@ * * Change Logs: * Date Author Notes - * 2022-03-28 shelton first version + * 2022-05-16 shelton first version */ #include <rtthread.h> #include <rtdevice.h> #include <sys/time.h> -#include "board.h" +#include "drv_common.h" #ifdef BSP_USING_RTC @@ -23,6 +23,8 @@ static time_t get_rtc_timestamp(void) { +#if defined (SOC_SERIES_AT32F435) || defined (SOC_SERIES_AT32F437) || \ + defined (SOC_SERIES_AT32F415) struct tm tm_new; ertc_time_type ertc_time_struct; @@ -38,10 +40,15 @@ static time_t get_rtc_timestamp(void) LOG_D("get rtc time."); return timegm(&tm_new); +#else + return rtc_counter_get(); +#endif } static rt_err_t set_rtc_time_stamp(time_t time_stamp) { +#if defined (SOC_SERIES_AT32F435) || defined (SOC_SERIES_AT32F437) || \ + defined (SOC_SERIES_AT32F415) struct tm *p_tm; p_tm = gmtime(&time_stamp); @@ -66,15 +73,27 @@ static rt_err_t set_rtc_time_stamp(time_t time_stamp) /* indicator for the ertc configuration */ ertc_bpr_data_write(ERTC_DT1, BKUP_REG_DATA); +#else + /* set the rtc counter value */ + rtc_counter_set(time_stamp); + /* wait until last write operation on rtc registers has finished */ + rtc_wait_config_finish(); + LOG_D("set rtc time."); + + bpr_data_write(BPR_DATA1, BKUP_REG_DATA); +#endif return RT_EOK; } static rt_err_t rt_rtc_config(void) { - /* allow access to battery powered domain */ + /* allow access to pattery powered domain */ pwc_battery_powered_domain_access(TRUE); +#if defined (SOC_SERIES_AT32F435) || defined (SOC_SERIES_AT32F437) || \ + defined (SOC_SERIES_AT32F415) + /* select rtc clock source */ #ifdef BSP_RTC_USING_LICK crm_ertc_clock_select(CRM_ERTC_CLOCK_LICK); @@ -97,6 +116,31 @@ static rt_err_t rt_rtc_config(void) /* configure the ertc hour mode */ ertc_hour_mode_set(ERTC_HOUR_MODE_24); } +#else + +#ifdef BSP_RTC_USING_LICK + crm_rtc_clock_select(CRM_RTC_CLOCK_LICK); +#else + crm_rtc_clock_select(CRM_RTC_CLOCK_LEXT); +#endif /* BSP_RTC_USING_LICK */ + /* enable rtc */ + crm_rtc_clock_enable(TRUE); + + /* wait for rtc registers update finish */ + rtc_wait_update_finish(); + /* wait until last write operation on rtc registers has finished */ + rtc_wait_config_finish(); + + if (bpr_data_read(BPR_DATA1) != BKUP_REG_DATA) + { + LOG_I("RTC hasn't been configured, please use <date> command to config."); + /* set rtc divider: set rtc period to 1sec */ + rtc_divider_set(32767); + /* wait until last write operation on rtc registers has finished */ + rtc_wait_config_finish(); + } +#endif + return RT_EOK; } @@ -104,6 +148,11 @@ static rt_err_t _rtc_init(void) { crm_periph_clock_enable(CRM_PWC_PERIPH_CLOCK, TRUE); +#if defined (SOC_SERIES_AT32F403A) || defined (SOC_SERIES_AT32F407) || \ + defined (SOC_SERIES_AT32F413) + crm_periph_clock_enable(CRM_BPR_PERIPH_CLOCK, TRUE); +#endif + #ifdef BSP_RTC_USING_LICK crm_clock_source_enable(CRM_CLOCK_SOURCE_LICK, TRUE); while(crm_flag_get(CRM_LICK_STABLE_FLAG) == RESET); diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_sdio.c b/bsp/at32/libraries/rt_drivers/drv_sdio.c index 25a12c8bd5..c10cde04ce 100644 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_sdio.c +++ b/bsp/at32/libraries/rt_drivers/drv_sdio.c @@ -5,10 +5,10 @@ * * Change Logs: * Date Author Notes - * 2022-03-08 shelton first version + * 2022-05-16 shelton first version */ -#include "board.h" +#include "drv_common.h" #include "drv_sdio.h" #ifdef BSP_USING_SDIO @@ -710,8 +710,10 @@ void sd_lowlevel_dmatx_config(uint32_t *src, uint32_t *dst, uint32_t buffer_size dma_init(sdio_obj.dma.handle_tx, &dma_init_struct); dma_interrupt_enable(sdio_obj.dma.handle_tx, DMA_FDT_INT, TRUE); +#if defined (SOC_SERIES_AT32F435) || defined (SOC_SERIES_AT32F437) dmamux_init(sdio_config.dma_tx.dmamux_channel, sdio_config.dma_tx.dmamux_id); dmamux_enable(sdio_config.dma_tx.dma_x, TRUE); +#endif dma_channel_enable(sdio_obj.dma.handle_tx, TRUE); } @@ -745,13 +747,19 @@ void sd_lowlevel_dmarx_config(uint32_t *src, uint32_t *dst, uint32_t buffer_size dma_init(sdio_obj.dma.handle_rx, &dma_init_struct); dma_interrupt_enable(sdio_obj.dma.handle_rx, DMA_FDT_INT, TRUE); +#if defined (SOC_SERIES_AT32F435) || defined (SOC_SERIES_AT32F437) dmamux_init(sdio_config.dma_rx.dmamux_channel, sdio_config.dma_rx.dmamux_id); dmamux_enable(sdio_config.dma_rx.dma_x, TRUE); +#endif dma_channel_enable(sdio_obj.dma.handle_rx, TRUE); } +#if defined (SOC_SERIES_AT32F435) || defined (SOC_SERIES_AT32F437) void DMA2_Channel4_IRQHandler(void) +#else +void DMA2_Channel4_5_IRQHandler(void) +#endif { if(dma_flag_get(DMA2_FDT4_FLAG)) { diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_sdio.h b/bsp/at32/libraries/rt_drivers/drv_sdio.h index 18248ade92..fcbfd7381a 100644 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_sdio.h +++ b/bsp/at32/libraries/rt_drivers/drv_sdio.h @@ -5,7 +5,7 @@ * * Change Logs: * Date Author Notes - * 2022-03-08 shelton first version + * 2022-05-16 shelton first version */ #ifndef _DRV_SDIO_H @@ -16,7 +16,7 @@ #include <string.h> #include <drivers/mmcsd_core.h> #include <drivers/sdio.h> -#include "at32f435_437.h" +#include "drv_common.h" #define SDCARD_INSTANCE_TYPE sdio_type @@ -154,6 +154,7 @@ typedef rt_err_t (*dma_txconfig)(rt_uint32_t *src, rt_uint32_t *dst, int size); typedef rt_err_t (*dma_rxconfig)(rt_uint32_t *src, rt_uint32_t *dst, int size); typedef rt_uint32_t (*sdio_clk_get)(struct at32_sdio *hw_sdio); +#if defined (SOC_SERIES_AT32F435) || defined (SOC_SERIES_AT32F437) #define SDIO_BUS_CONFIG \ { \ .sdio_x = SDIO1, \ @@ -170,12 +171,26 @@ typedef rt_uint32_t (*sdio_clk_get)(struct at32_sdio *hw_sdio); .dma_rx.dmamux_id = DMAMUX_DMAREQ_ID_SDIO1, \ .dma_tx.dmamux_id = DMAMUX_DMAREQ_ID_SDIO1, \ } +#else +#define SDIO_BUS_CONFIG \ + { \ + .sdio_x = SDIO1, \ + .dma_rx.dma_crm = CRM_DMA2_PERIPH_CLOCK, \ + .dma_tx.dma_crm = CRM_DMA2_PERIPH_CLOCK, \ + .dma_rx.dma_channel = DMA2_CHANNEL4, \ + .dma_rx.dma_irq = DMA2_Channel4_5_IRQn, \ + .dma_tx.dma_channel = DMA2_CHANNEL4, \ + .dma_tx.dma_irq = DMA2_Channel4_5_IRQn, \ + } +#endif struct dma_config { dma_type *dma_x; dma_channel_type *dma_channel; +#if defined (SOC_SERIES_AT32F435) || defined (SOC_SERIES_AT32F437) dmamux_channel_type *dmamux_channel; dmamux_requst_id_sel_type dmamux_id; +#endif crm_periph_clock_type dma_crm; IRQn_Type dma_irq; }; diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_sdram.c b/bsp/at32/libraries/rt_drivers/drv_sdram.c index bf6af9847b..b3d73f0af1 100644 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_sdram.c +++ b/bsp/at32/libraries/rt_drivers/drv_sdram.c @@ -5,10 +5,10 @@ * * Change Logs: * Date Author Notes - * 2022-04-08 shelton first version + * 2022-05-16 shelton first version */ -#include "board.h" +#include "drv_common.h" #ifdef BSP_USING_SDRAM #include "drv_sdram.h" diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_sdram.h b/bsp/at32/libraries/rt_drivers/drv_sdram.h index b152f29f32..b152f29f32 100644 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_sdram.h +++ b/bsp/at32/libraries/rt_drivers/drv_sdram.h diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_soft_i2c.c b/bsp/at32/libraries/rt_drivers/drv_soft_i2c.c index b08adcd56a..4938d1c18a 100644 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_soft_i2c.c +++ b/bsp/at32/libraries/rt_drivers/drv_soft_i2c.c @@ -5,10 +5,10 @@ * * Change Logs: * Date Author Notes - * 2022-03-09 shelton first version + * 2022-05-16 shelton first version */ -#include "board.h" +#include "drv_common.h" #include "drv_soft_i2c.h" #ifdef RT_USING_I2C diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_soft_i2c.h b/bsp/at32/libraries/rt_drivers/drv_soft_i2c.h index fecab31b4d..fecab31b4d 100644 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_soft_i2c.h +++ b/bsp/at32/libraries/rt_drivers/drv_soft_i2c.h diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_spi.c b/bsp/at32/libraries/rt_drivers/drv_spi.c index 6acfcc5fb7..2465d21249 100644 --- a/bsp/at32/libraries/f415/rt_drivers/drv_spi.c +++ b/bsp/at32/libraries/rt_drivers/drv_spi.c @@ -5,10 +5,10 @@ * * Change Logs: * Date Author Notes - * 2022-03-11 shelton first version + * 2022-05-16 shelton first version */ -#include "board.h" +#include "drv_common.h" #include "drv_spi.h" #ifdef RT_USING_SPI diff --git a/bsp/at32/libraries/f415/rt_drivers/drv_spi.h b/bsp/at32/libraries/rt_drivers/drv_spi.h index 3d6c307501..74cc6c4e73 100644 --- a/bsp/at32/libraries/f415/rt_drivers/drv_spi.h +++ b/bsp/at32/libraries/rt_drivers/drv_spi.h @@ -5,7 +5,7 @@ * * Change Logs: * Date Author Notes - * 2020-01-09 shelton first version + * 2022-05-16 shelton first version */ #ifndef __DRV_SPI__ @@ -13,7 +13,7 @@ #include <rtthread.h> #include <drivers/spi.h> -#include "at32f415.h" +#include "drv_common.h" struct at32_spi_config { diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_usart.c b/bsp/at32/libraries/rt_drivers/drv_usart.c index 57d6abba21..8e400bae58 100644 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_usart.c +++ b/bsp/at32/libraries/rt_drivers/drv_usart.c @@ -5,10 +5,10 @@ * * Change Logs: * Date Author Notes - * 2022-03-08 shelton first version + * 2022-05-16 shelton first version */ -#include "board.h" +#include "drv_common.h" #include "drv_usart.h" #ifdef RT_USING_SERIAL diff --git a/bsp/at32/libraries/f403a_407/rt_drivers/drv_usart.h b/bsp/at32/libraries/rt_drivers/drv_usart.h index fc493d42da..fc493d42da 100644 --- a/bsp/at32/libraries/f403a_407/rt_drivers/drv_usart.h +++ b/bsp/at32/libraries/rt_drivers/drv_usart.h diff --git a/bsp/at32/libraries/f435_437/rt_drivers/drv_wdt.c b/bsp/at32/libraries/rt_drivers/drv_wdt.c index 1f6f84608e..920be13633 100644 --- a/bsp/at32/libraries/f435_437/rt_drivers/drv_wdt.c +++ b/bsp/at32/libraries/rt_drivers/drv_wdt.c @@ -5,11 +5,11 @@ * * Change Logs: * Date Author Notes - * 2022-03-15 shelton first version + * 2022-05-16 shelton first version */ #include <drivers/watchdog.h> -#include "board.h" +#include "drv_common.h" #ifdef RT_USING_WDT |
