1from building import * 2 3cwd = GetCurrentDir() 4 5objs = [] 6 7# add the general drivers. 8src = Split(''' 9board.c 10''') 11 12# add gpio code 13if GetDepend('RT_USING_PIN'): 14 src += ['drv_gpio.c'] 15 16# add serial driver code 17if GetDepend('BSP_USING_UART0') or GetDepend('BSP_USING_UART1') or GetDepend('BSP_USING_UART2') or GetDepend('BSP_USING_UART3') or \ 18 GetDepend('BSP_USING_UART4') or GetDepend('BSP_USING_UART5') or \ 19 GetDepend('BSP_USING_USART0') or GetDepend('BSP_USING_USART1') or GetDepend('BSP_USING_USART2') or GetDepend('BSP_USING_USART3') or \ 20 GetDepend('BSP_USING_USART4') or GetDepend('BSP_USING_USART5') or \ 21 GetDepend('RT_USING_SERIAL'): 22 src += ['drv_uart.c'] 23 24# add spi driver code 25if GetDepend('BSP_USING_SPI0') or GetDepend('BSP_USING_SPI1'): 26 src += ['drv_spi.c'] 27 28# add i2c driver code 29if GetDepend('BSP_USING_I2C0') or GetDepend('BSP_USING_I2C1'): 30 src += ['drv_i2c.c'] 31 32# add can driver code 33if GetDepend('BSP_USING_CAN') or GetDepend('BSP_USING_CAN0') or GetDepend('RT_USING_CAN'): 34 src += ['drv_can.c'] 35 36 37# add adc driver code 38if GetDepend(['BSP_USING_ADC0']) or GetDepend('BSP_USING_ADC'): 39 src += ['drv_adc.c'] 40 41# add rtc driver code 42if GetDepend(['BSP_USING_RTC']): 43 src += ['drv_rtc.c'] 44 45# add spi flash driver code 46if GetDepend('BSP_USING_SPI_FLASH'): 47 src += ['drv_spiflash.c'] 48 49# add hwtimer driver code 50if GetDepend('BSP_USING_AD16C4T0_HWTIMER') or GetDepend('BSP_USING_AD16C4T1_HWTIMER') or \ 51 GetDepend('BSP_USING_GP32C4T0_HWTIMER') or GetDepend('BSP_USING_GP32C4T1_HWTIMER') or \ 52 GetDepend('BSP_USING_GP16C4T0_HWTIMER') or GetDepend('BSP_USING_GP16C4T1_HWTIMER') or GetDepend('BSP_USING_GP16C4T2_HWTIMER') or \ 53 GetDepend('BSP_USING_GP16C2T0_HWTIMER') or GetDepend('BSP_USING_GP16C2T1_HWTIMER') or \ 54 GetDepend('BSP_USING_GP16C4T0_HWTIMER') or GetDepend('BSP_USING_GP16C4T1_HWTIMER') or \ 55 GetDepend('BSP_USING_BS16T0_HWTIMER') or GetDepend('BSP_USING_BS16T1_HWTIMERIMER') or \ 56 GetDepend('BSP_USING_BS16T2_HWTIMER') or GetDepend('BSP_USING_BS16T3_HWTIMER'): 57 src += ['drv_hwtimer.c'] 58 59# add pwm driver code 60if GetDepend('BSP_USING_AD16C4T0_PWM') or GetDepend('BSP_USING_AD16C4T1_PWM') or \ 61 GetDepend('BSP_USING_GP16C4T0_PWM') or GetDepend('BSP_USING_GP16C4T1_PWM') or GetDepend('BSP_USING_GP16C4T2_PWM') or \ 62 GetDepend('BSP_USING_GP16C2T0__PWM') or GetDepend('BSP_USING_GP16C2T1_PWM') or \ 63 GetDepend('BSP_USING_GP32C4T0_PWM') or GetDepend('BSP_USING_GP32C4T1_PWM') or \ 64 GetDepend('BSP_USING_GP16C4T0_PWM') or GetDepend('BSP_USING_GP16C4T1_PWM'): 65 src += ['drv_pwm.c'] 66 67# add pm driver code 68if GetDepend(['BSP_USING_PM']): 69 src += ['drv_pm.c'] 70CPPPATH = [cwd] 71CPPPATH = CPPPATH + [cwd + '/ES'] 72#__SYS_SELECT_H__ 用来规避冲突 73#cdkrepo\toolchain\xtgccelfnewlib\v2.6.1\r\riscv64-unknown-elf\include\sys\select.h 74#components/libc/compilers/common/include/sys/select.h 75CPPDEFINES = ['__SYS_SELECT_H__','__RT_ATOMIC_H__'] 76CCFLAGS='-fno-exceptions' 77#LINKFLAGS='-lstdc++' 78LIBS=['stdc++'] 79group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES,CCFLAGS=CCFLAGS,LIBS=LIBS) 80objs = objs + group 81 82Return('objs') 83 84