from building import * cwd = GetCurrentDir() objs = [] # add the general drivers. src = Split(''' board.c ''') # add gpio code if GetDepend('RT_USING_PIN'): src += ['drv_gpio.c'] # add serial driver code if GetDepend('BSP_USING_UART0') or GetDepend('BSP_USING_UART1') or GetDepend('BSP_USING_UART2') or GetDepend('BSP_USING_UART3') or \ GetDepend('BSP_USING_UART4') or GetDepend('BSP_USING_UART5') or \ GetDepend('BSP_USING_USART0') or GetDepend('BSP_USING_USART1') or GetDepend('BSP_USING_USART2') or GetDepend('BSP_USING_USART3') or \ GetDepend('BSP_USING_USART4') or GetDepend('BSP_USING_USART5') or \ GetDepend('RT_USING_SERIAL'): src += ['drv_uart.c'] # add spi driver code if GetDepend('BSP_USING_SPI0') or GetDepend('BSP_USING_SPI1'): src += ['drv_spi.c'] # add i2c driver code if GetDepend('BSP_USING_I2C0') or GetDepend('BSP_USING_I2C1'): src += ['drv_i2c.c'] # add can driver code if GetDepend('BSP_USING_CAN') or GetDepend('BSP_USING_CAN0') or GetDepend('RT_USING_CAN'): src += ['drv_can.c'] # add adc driver code if GetDepend(['BSP_USING_ADC0']) or GetDepend('BSP_USING_ADC'): src += ['drv_adc.c'] # add rtc driver code if GetDepend(['BSP_USING_RTC']): src += ['drv_rtc.c'] # add spi flash driver code if GetDepend('BSP_USING_SPI_FLASH'): src += ['drv_spiflash.c'] # add hwtimer driver code if GetDepend('BSP_USING_AD16C4T0_HWTIMER') or GetDepend('BSP_USING_AD16C4T1_HWTIMER') or \ GetDepend('BSP_USING_GP32C4T0_HWTIMER') or GetDepend('BSP_USING_GP32C4T1_HWTIMER') or \ GetDepend('BSP_USING_GP16C4T0_HWTIMER') or GetDepend('BSP_USING_GP16C4T1_HWTIMER') or GetDepend('BSP_USING_GP16C4T2_HWTIMER') or \ GetDepend('BSP_USING_GP16C2T0_HWTIMER') or GetDepend('BSP_USING_GP16C2T1_HWTIMER') or \ GetDepend('BSP_USING_GP16C4T0_HWTIMER') or GetDepend('BSP_USING_GP16C4T1_HWTIMER') or \ GetDepend('BSP_USING_BS16T0_HWTIMER') or GetDepend('BSP_USING_BS16T1_HWTIMERIMER') or \ GetDepend('BSP_USING_BS16T2_HWTIMER') or GetDepend('BSP_USING_BS16T3_HWTIMER'): src += ['drv_hwtimer.c'] # add pwm driver code if GetDepend('BSP_USING_AD16C4T0_PWM') or GetDepend('BSP_USING_AD16C4T1_PWM') or \ GetDepend('BSP_USING_GP16C4T0_PWM') or GetDepend('BSP_USING_GP16C4T1_PWM') or GetDepend('BSP_USING_GP16C4T2_PWM') or \ GetDepend('BSP_USING_GP16C2T0__PWM') or GetDepend('BSP_USING_GP16C2T1_PWM') or \ GetDepend('BSP_USING_GP32C4T0_PWM') or GetDepend('BSP_USING_GP32C4T1_PWM') or \ GetDepend('BSP_USING_GP16C4T0_PWM') or GetDepend('BSP_USING_GP16C4T1_PWM'): src += ['drv_pwm.c'] # add pm driver code if GetDepend(['BSP_USING_PM']): src += ['drv_pm.c'] CPPPATH = [cwd] CPPPATH = CPPPATH + [cwd + '/ES'] #__SYS_SELECT_H__ 用来规避冲突 #cdkrepo\toolchain\xtgccelfnewlib\v2.6.1\r\riscv64-unknown-elf\include\sys\select.h #components/libc/compilers/common/include/sys/select.h CPPDEFINES = ['__SYS_SELECT_H__','__RT_ATOMIC_H__'] CCFLAGS='-fno-exceptions' #LINKFLAGS='-lstdc++' LIBS=['stdc++'] group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES,CCFLAGS=CCFLAGS,LIBS=LIBS) objs = objs + group Return('objs')