c28x scons

This commit is contained in:
Yunjie Gu
2022-11-14 22:19:27 -05:00
committed by Man, Jianting (Meco)
parent b64f21e628
commit 9e152c117e
23 changed files with 1481 additions and 1214 deletions
@@ -0,0 +1,32 @@
Import('RTT_ROOT')
Import('rtconfig')
from building import *
cwd = GetCurrentDir()
# add the general drivers.
src = []
if GetDepend(['BSP_USING_GPIO']):
src += ['drv_gpio.c']
if GetDepend(['BSP_USING_UART']):
src += ['drv_sci.c']
if GetDepend(['BSP_USING_PWM']):
src += ['drv_pwm.c']
if GetDepend(['BSP_USING_SPI']):
src += ['drv_spi.c']
if GetDepend(['BSP_USING_ADC']):
src += Glob('drv_adc.c')
# src += ['drv_common.c']
path = [cwd]
path += [cwd + '/config']
group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path)
Return('group')
@@ -0,0 +1,57 @@
import rtconfig
Import('RTT_ROOT')
from building import *
# get current directory
cwd = GetCurrentDir()
# The set of source files associated with this SConscript file.
src = Split("""
common/source/F2837xD_PieCtrl.c
common/source/F2837xD_PieVect.c
common/source/F2837xD_SysCtrl.c
common/source/F2837xD_CpuTimers.c
headers/source/F2837xD_GlobalVariableDefs.c
common/source/F2837xD_DefaultISR.c
common/source/F2837xD_Gpio.c
common/source/F2837xD_usDelay.asm
headers/cmd/F2837xD_Headers_BIOS_cpu1.cmd
""")
if GetDepend(['BSP_USING_ADC']):
src += ['common/source/F2837xD_Adc.c']
if GetDepend(['BSP_USING_CAN']):
src += ['common/source/F2837xD_can.c']
src += ['common/source/F2837xD_CpuTimers.c']
if GetDepend(['BSP_USING_DMA']):
src += ['common/source/F2837xD_Dma.c']
if GetDepend(['BSP_USING_ECAP']):
src += ['common/source/F2837xD_ECap.c']
if GetDepend(['BSP_USING_PWM']):
src += ['common/source/F2837xD_Epwm.c']
if GetDepend(['BSP_USING_QEP']):
src += ['common/source/F2837xD_EQep.c']
if GetDepend(['BSP_USING_I2C']):
src += ['common/source/F2837xD_I2C.c']
if GetDepend(['BSP_USING_SPI']):
src += ['common/source/F2837xD_Spi.c']
if GetDepend(['BSP_USING_UART']):
src += ['common/source/F2837xD_Sci.c']
src += ['common/source/F2837xD_sci_io.c']
path = [cwd + '/headers/include',
cwd + '/headers/include']
CPPDEFINES = ['USE_HAL_DRIVER']
group = DefineGroup('Libraries', src, depend = [''], CPPPATH = path, CPPDEFINES = CPPDEFINES)
Return('group')
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
+2
View File
@@ -1,3 +1,5 @@
.launches/
.settings/
FLASH
RAM
makefile.targets
File diff suppressed because it is too large Load Diff
@@ -1,3 +0,0 @@
eclipse.preferences.version=1
inEditor=false
onBuild=false
@@ -1,2 +0,0 @@
eclipse.preferences.version=1
org.eclipse.cdt.debug.core.toggleBreakpointModel=com.ti.ccstudio.debug.CCSBreakpointMarker
@@ -1,91 +0,0 @@
eclipse.preferences.version=1
encoding//Debug/drivers/subdir_rules.mk=UTF-8
encoding//Debug/drivers/subdir_vars.mk=UTF-8
encoding//Debug/libraries/common/source/subdir_rules.mk=UTF-8
encoding//Debug/libraries/common/source/subdir_vars.mk=UTF-8
encoding//Debug/libraries/headers/cmd/subdir_rules.mk=UTF-8
encoding//Debug/libraries/headers/cmd/subdir_vars.mk=UTF-8
encoding//Debug/libraries/headers/source/subdir_rules.mk=UTF-8
encoding//Debug/libraries/headers/source/subdir_vars.mk=UTF-8
encoding//FLASH/DeviceDrivers/ipc/subdir_rules.mk=UTF-8
encoding//FLASH/DeviceDrivers/ipc/subdir_vars.mk=UTF-8
encoding//FLASH/DeviceDrivers/subdir_rules.mk=UTF-8
encoding//FLASH/DeviceDrivers/subdir_vars.mk=UTF-8
encoding//FLASH/Kernel/subdir_rules.mk=UTF-8
encoding//FLASH/Kernel/subdir_vars.mk=UTF-8
encoding//FLASH/applications/subdir_rules.mk=UTF-8
encoding//FLASH/applications/subdir_vars.mk=UTF-8
encoding//FLASH/board/subdir_rules.mk=UTF-8
encoding//FLASH/board/subdir_vars.mk=UTF-8
encoding//FLASH/c28x/subdir_rules.mk=UTF-8
encoding//FLASH/c28x/subdir_vars.mk=UTF-8
encoding//FLASH/drivers/subdir_rules.mk=UTF-8
encoding//FLASH/drivers/subdir_vars.mk=UTF-8
encoding//FLASH/finsh/subdir_rules.mk=UTF-8
encoding//FLASH/finsh/subdir_vars.mk=UTF-8
encoding//FLASH/libraries/HAL_Drivers/subdir_rules.mk=UTF-8
encoding//FLASH/libraries/HAL_Drivers/subdir_vars.mk=UTF-8
encoding//FLASH/libraries/common/source/subdir_rules.mk=UTF-8
encoding//FLASH/libraries/common/source/subdir_vars.mk=UTF-8
encoding//FLASH/libraries/headers/cmd/subdir_rules.mk=UTF-8
encoding//FLASH/libraries/headers/cmd/subdir_vars.mk=UTF-8
encoding//FLASH/libraries/headers/source/subdir_rules.mk=UTF-8
encoding//FLASH/libraries/headers/source/subdir_vars.mk=UTF-8
encoding//FLASH/libraries/tms320f28379d/common/cmd/subdir_rules.mk=UTF-8
encoding//FLASH/libraries/tms320f28379d/common/cmd/subdir_vars.mk=UTF-8
encoding//FLASH/libraries/tms320f28379d/common/deprecated/driverlib/subdir_rules.mk=UTF-8
encoding//FLASH/libraries/tms320f28379d/common/deprecated/driverlib/subdir_vars.mk=UTF-8
encoding//FLASH/libraries/tms320f28379d/common/deprecated/utils/subdir_rules.mk=UTF-8
encoding//FLASH/libraries/tms320f28379d/common/deprecated/utils/subdir_vars.mk=UTF-8
encoding//FLASH/libraries/tms320f28379d/common/source/subdir_rules.mk=UTF-8
encoding//FLASH/libraries/tms320f28379d/common/source/subdir_vars.mk=UTF-8
encoding//FLASH/libraries/tms320f28379d/headers/cmd/subdir_rules.mk=UTF-8
encoding//FLASH/libraries/tms320f28379d/headers/cmd/subdir_vars.mk=UTF-8
encoding//FLASH/libraries/tms320f28379d/headers/source/subdir_rules.mk=UTF-8
encoding//FLASH/libraries/tms320f28379d/headers/source/subdir_vars.mk=UTF-8
encoding//FLASH/makefile=UTF-8
encoding//FLASH/objects.mk=UTF-8
encoding//FLASH/sources.mk=UTF-8
encoding//FLASH/subdir_rules.mk=UTF-8
encoding//FLASH/subdir_vars.mk=UTF-8
encoding//RAM/DeviceDrivers/ipc/subdir_rules.mk=UTF-8
encoding//RAM/DeviceDrivers/ipc/subdir_vars.mk=UTF-8
encoding//RAM/DeviceDrivers/subdir_rules.mk=UTF-8
encoding//RAM/DeviceDrivers/subdir_vars.mk=UTF-8
encoding//RAM/Kernel/subdir_rules.mk=UTF-8
encoding//RAM/Kernel/subdir_vars.mk=UTF-8
encoding//RAM/applications/subdir_rules.mk=UTF-8
encoding//RAM/applications/subdir_vars.mk=UTF-8
encoding//RAM/board/subdir_rules.mk=UTF-8
encoding//RAM/board/subdir_vars.mk=UTF-8
encoding//RAM/c28x/subdir_rules.mk=UTF-8
encoding//RAM/c28x/subdir_vars.mk=UTF-8
encoding//RAM/drivers/subdir_rules.mk=UTF-8
encoding//RAM/drivers/subdir_vars.mk=UTF-8
encoding//RAM/finsh/subdir_rules.mk=UTF-8
encoding//RAM/finsh/subdir_vars.mk=UTF-8
encoding//RAM/libraries/HAL_Drivers/subdir_rules.mk=UTF-8
encoding//RAM/libraries/HAL_Drivers/subdir_vars.mk=UTF-8
encoding//RAM/libraries/common/source/subdir_rules.mk=UTF-8
encoding//RAM/libraries/common/source/subdir_vars.mk=UTF-8
encoding//RAM/libraries/headers/cmd/subdir_rules.mk=UTF-8
encoding//RAM/libraries/headers/cmd/subdir_vars.mk=UTF-8
encoding//RAM/libraries/headers/source/subdir_rules.mk=UTF-8
encoding//RAM/libraries/headers/source/subdir_vars.mk=UTF-8
encoding//RAM/libraries/tms320f28379d/common/cmd/subdir_rules.mk=UTF-8
encoding//RAM/libraries/tms320f28379d/common/cmd/subdir_vars.mk=UTF-8
encoding//RAM/libraries/tms320f28379d/common/deprecated/driverlib/subdir_rules.mk=UTF-8
encoding//RAM/libraries/tms320f28379d/common/deprecated/driverlib/subdir_vars.mk=UTF-8
encoding//RAM/libraries/tms320f28379d/common/deprecated/utils/subdir_rules.mk=UTF-8
encoding//RAM/libraries/tms320f28379d/common/deprecated/utils/subdir_vars.mk=UTF-8
encoding//RAM/libraries/tms320f28379d/common/source/subdir_rules.mk=UTF-8
encoding//RAM/libraries/tms320f28379d/common/source/subdir_vars.mk=UTF-8
encoding//RAM/libraries/tms320f28379d/headers/cmd/subdir_rules.mk=UTF-8
encoding//RAM/libraries/tms320f28379d/headers/cmd/subdir_vars.mk=UTF-8
encoding//RAM/libraries/tms320f28379d/headers/source/subdir_rules.mk=UTF-8
encoding//RAM/libraries/tms320f28379d/headers/source/subdir_vars.mk=UTF-8
encoding//RAM/makefile=UTF-8
encoding//RAM/objects.mk=UTF-8
encoding//RAM/sources.mk=UTF-8
encoding//RAM/subdir_rules.mk=UTF-8
encoding//RAM/subdir_vars.mk=UTF-8
+17
View File
@@ -0,0 +1,17 @@
# for module compiling
import os
Import('RTT_ROOT')
from building import *
cwd = GetCurrentDir()
objs = []
list1 = os.listdir(cwd)
for d in list1:
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')
+60
View File
@@ -0,0 +1,60 @@
import os
import sys
import rtconfig
if os.getenv('RTT_ROOT'):
RTT_ROOT = os.getenv('RTT_ROOT')
else:
RTT_ROOT = os.path.normpath(os.getcwd() + '/../../../..')
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
try:
from building import *
except:
print('Cannot found RT-Thread root directory, please check RTT_ROOT')
print(RTT_ROOT)
exit(-1)
TARGET = 'rt-thread.' + rtconfig.TARGET_EXT
DefaultEnvironment(tools=[])
env = Environment(tools = ['mingw'],
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
AR = rtconfig.AR, ARFLAGS = '-rc',
CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
if rtconfig.PLATFORM in ['iccarm']:
env.Replace(CCCOM = ['$CC $CFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS -o $TARGET $SOURCES'])
env.Replace(ARFLAGS = [''])
env.Replace(LINKCOM = env["LINKCOM"] + ' --map rt-thread.map')
Export('RTT_ROOT')
Export('rtconfig')
SDK_ROOT = os.path.abspath('./')
if os.path.exists(SDK_ROOT + '/libraries'):
libraries_path_prefix = SDK_ROOT + '/libraries'
print("exist")
else:
libraries_path_prefix = os.path.dirname(SDK_ROOT) + '/libraries'
print(os.path.dirname(SDK_ROOT))
SDK_LIB = libraries_path_prefix
Export('SDK_LIB')
# prepare building environment
objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)
c28x_library = 'tms320f28379d'
rtconfig.BSP_LIBRARY_TYPE = c28x_library
# include libraries
objs.extend(SConscript(os.path.join(libraries_path_prefix, c28x_library, 'SConscript')))
# include drivers
objs.extend(SConscript(os.path.join(libraries_path_prefix, 'HAL_Drivers', 'SConscript')))
# make a building
DoBuilding(TARGET, objs)
@@ -0,0 +1,15 @@
# for module compiling
import os
Import('RTT_ROOT')
from building import *
cwd = GetCurrentDir()
# The set of source files associated with this SConscript file.
src = Split("""
main.c
""")
group = DefineGroup('Driver', src, depend = [''])
Return('group')
+4 -1
View File
@@ -4,6 +4,9 @@ menu "Onboard Peripheral Drivers"
endmenu
menu "On-chip Peripheral Drivers"
config BSP_USING_FLASH
bool "Using FLASH as CMD, default RAM"
default n
config BSP_USING_GPIO
bool "Enable GPIO"
select RT_USING_PIN
@@ -95,7 +98,7 @@ menu "On-chip Peripheral Drivers"
if BSP_USING_PWM
menuconfig BSP_USING_PWM1
bool "Enable ePWM1"
default n
default y
if BSP_USING_PWM1
menu "Basic settings for PWM1"
config BSP_PWM1_INIT_PERIOD
@@ -0,0 +1,22 @@
import os
import rtconfig
from building import *
Import('SDK_LIB')
cwd = GetCurrentDir()
# add general drivers
src = Split('''
board.c
''')
path = [cwd]
startup_path_prefix = SDK_LIB
# src += [startup_path_prefix + '/HAL_Drivers/drv_sci.c']
group = DefineGroup('Drivers', src, depend = [''], CPPPATH = path)
Return('group')
+20
View File
@@ -0,0 +1,20 @@
Import('RTT_ROOT')
Import('rtconfig')
from building import *
cwd = GetCurrentDir()
# add the general drivers.
src = []
if GetDepend(['BSP_USING_FLASH']):
src += ['2837x_FLASH_lnk_cpu1.cmd']
else:
src += ['2837x_RAM_lnk_cpu1.cmd']
path = [cwd]
path += [cwd]
group = DefineGroup('Drivers', src, depend = [''])
Return('group')
+54 -5
View File
@@ -73,6 +73,7 @@
#define RT_USING_DEVICE_IPC
#define RT_USING_SERIAL
#define RT_USING_SERIAL_V1
#define RT_SERIAL_USING_DMA
#define RT_SERIAL_RB_BUFSZ 64
#define RT_USING_PIN
#define RT_USING_ADC
@@ -124,25 +125,59 @@
/* language packages */
/* JSON: JavaScript Object Notation, a lightweight data-interchange format */
/* XML: Extensible Markup Language */
/* multimedia packages */
/* LVGL: powerful and easy-to-use embedded GUI library */
/* u8g2: a monochrome graphic library */
/* PainterEngine: A cross-platform graphics application framework written in C language */
/* tools packages */
/* system packages */
/* enhanced kernel services */
/* acceleration: Assembly language or algorithmic acceleration packages */
/* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
/* Micrium: Micrium software products porting for RT-Thread */
/* peripheral libraries and drivers */
/* Kendryte SDK */
/* AI packages */
/* miscellaneous packages */
/* project laboratory */
/* samples: kernel and components samples */
/* entertainment: terminal games and other interesting software packages */
/* Hardware Drivers Config */
/* Onboard Peripheral Drivers */
@@ -152,11 +187,25 @@
#define BSP_USING_GPIO
#define BSP_USING_UART
#define BSP_USING_UART1
#define BSP_USING_ADC
#define BSP_USING_ADC1
#define BSP_ADC_USING_12BIT
#define BSP_USING_ADC2
#define BSP_USING_ADC3
#define BSP_USING_PWM
#define BSP_USING_PWM1
/* Basic settings for PWM1 */
#define BSP_PWM1_INIT_PERIOD 10000
#define BSP_PWM1_INIT_PULSE 1000
/* Advanced Settings for PWM1 */
#define BSP_PWM1_HSPCLKDIV1
#define BSP_PWM1_HSPCLKDIV 0
#define BSP_PWM1_CLKDIV1
#define BSP_PWM1_CLKDIV 0
#define BSP_PWM1_CTR_MODE_UPDOWN
#define BSP_PWM1_CTRMODE 2
#define BSP_PWM1_CC_CTR_ZERO
#define BSP_PWM1_LOADAMODE 0
#define BSP_PWM1_DB 100
/* Board extended module Drivers */
+74
View File
@@ -0,0 +1,74 @@
import os
# toolchains options
ARCH='ti-dsp'
CPU='c28x'
CROSS_TOOL='ti'
# bsp lib config
BSP_LIBRARY_TYPE = None
if os.getenv('RTT_CC'):
CROSS_TOOL = os.getenv('RTT_CC')
if os.getenv('RTT_ROOT'):
RTT_ROOT = os.getenv('RTT_ROOT')
# cross_tool provides the cross compiler
# EXEC_PATH is the compiler execute path, for example, CodeSourcery, Keil MDK, IAR
if CROSS_TOOL == 'gcc':
PLATFORM = 'gcc'
EXEC_PATH = r'C:\Users\XXYYZZ'
elif CROSS_TOOL == 'keil':
PLATFORM = 'armcc'
EXEC_PATH = r'C:/Keil_v5'
elif CROSS_TOOL == 'iar':
PLATFORM = 'iccarm'
EXEC_PATH = r'C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.3'
else:
PLATFORM = 'ti'
EXEC_PATH = r'C:\Users\XXYYZZ'
if os.getenv('RTT_EXEC_PATH'):
EXEC_PATH = os.getenv('RTT_EXEC_PATH')
BUILD = 'debug'
if PLATFORM == 'gcc':
# toolchains
PREFIX = 'arm-none-eabi-'
CC = PREFIX + 'gcc'
AS = PREFIX + 'gcc'
AR = PREFIX + 'ar'
CXX = PREFIX + 'g++'
LINK = PREFIX + 'gcc'
TARGET_EXT = 'elf'
SIZE = PREFIX + 'size'
OBJDUMP = PREFIX + 'objdump'
OBJCPY = PREFIX + 'objcopy'
DEVICE = ' -mcpu=cortex-m0 -mthumb -ffunction-sections -fdata-sections'
CFLAGS = DEVICE + ' -Dgcc'
AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp -Wa,-mimplicit-it=thumb '
LFLAGS = DEVICE + ' -Wl,--gc-sections,-Map=rt-thread.map,-cref,-u,Reset_Handler -T board/linker_scripts/link.lds'
CPATH = ''
LPATH = ''
if BUILD == 'debug':
CFLAGS += ' -O0 -gdwarf-2 -g'
AFLAGS += ' -gdwarf-2'
else:
CFLAGS += ' -O2'
CXXFLAGS = CFLAGS
POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'
def dist_handle(BSP_ROOT, dist_dir):
import sys
cwd_path = os.getcwd()
sys.path.append(os.path.join(os.path.dirname(BSP_ROOT), 'tools'))
from sdk_dist import dist_do_building
dist_do_building(BSP_ROOT, dist_dir)
@@ -0,0 +1,15 @@
#ifndef RTCONFIG_PREINC_H__
#define RTCONFIG_PREINC_H__
/* Automatically generated file; DO NOT EDIT. */
/* RT-Thread pre-include file */
#define HAVE_CCONFIG_H
#define RT_USING_LIBC
#define RT_USING_NEWLIB
#define USE_HAL_DRIVER
#define _POSIX_C_SOURCE 1
#define __RTTHREAD__
#endif /*RTCONFIG_PREINC_H__*/
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -21,7 +21,7 @@ from utils import xml_indent
MODULE_VER_NUM = 6
source_pattern = ['*.c', '*.cpp', '*.cxx', '*.s', '*.S', '*.asm']
source_pattern = ['*.c', '*.cpp', '*.cxx', '*.s', '*.S', '*.asm','*.cmd']
def OSPath(path):