bsp: add basic configure files for abstract-machine
This commit is contained in:
parent
e2376a3709
commit
072b83d547
5 changed files with 218 additions and 0 deletions
94
bsp/abstract-machine/.config
Normal file
94
bsp/abstract-machine/.config
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
CONFIG_RT_CONFIG_H__=y
|
||||||
|
CONFIG_RT_NAME_MAX=24
|
||||||
|
CONFIG_RT_ALIGN_SIZE=8
|
||||||
|
CONFIG_RT_THREAD_PRIORITY_32=y
|
||||||
|
CONFIG_RT_THREAD_PRIORITY_MAX=32
|
||||||
|
CONFIG_RT_TICK_PER_SECOND=100
|
||||||
|
CONFIG_RT_USING_OVERFLOW_CHECK=y
|
||||||
|
CONFIG_RT_USING_HOOK=y
|
||||||
|
CONFIG_RT_HOOK_USING_FUNC_PTR=y
|
||||||
|
CONFIG_RT_USING_IDLE_HOOK=y
|
||||||
|
CONFIG_RT_IDLE_HOOK_LIST_SIZE=4
|
||||||
|
CONFIG_IDLE_THREAD_STACK_SIZE=16384
|
||||||
|
CONFIG_RT_USING_TIMER_SOFT=y
|
||||||
|
CONFIG_RT_TIMER_THREAD_PRIO=4
|
||||||
|
CONFIG_RT_TIMER_THREAD_STACK_SIZE=16384
|
||||||
|
CONFIG_RT_KSERVICE_USING_STDLIB=y
|
||||||
|
CONFIG_RT_KPRINTF_USING_LONGLONG=y
|
||||||
|
CONFIG_RT_DEBUG=y
|
||||||
|
CONFIG_RT_DEBUG_COLOR=y
|
||||||
|
CONFIG_RT_USING_SEMAPHORE=y
|
||||||
|
CONFIG_RT_USING_MUTEX=y
|
||||||
|
CONFIG_RT_USING_EVENT=y
|
||||||
|
CONFIG_RT_USING_MAILBOX=y
|
||||||
|
CONFIG_RT_USING_MESSAGEQUEUE=y
|
||||||
|
CONFIG_RT_USING_MEMPOOL=y
|
||||||
|
CONFIG_RT_USING_SMALL_MEM=y
|
||||||
|
CONFIG_RT_USING_SMALL_MEM_AS_HEAP=y
|
||||||
|
CONFIG_RT_USING_MEMTRACE=y
|
||||||
|
CONFIG_RT_USING_HEAP=y
|
||||||
|
CONFIG_RT_USING_DEVICE=y
|
||||||
|
CONFIG_RT_USING_DEVICE_OPS=y
|
||||||
|
CONFIG_RT_USING_CONSOLE=y
|
||||||
|
CONFIG_RT_CONSOLEBUF_SIZE=256
|
||||||
|
CONFIG_RT_CONSOLE_DEVICE_NAME="uart"
|
||||||
|
CONFIG_RT_VER_NUM=0x50001
|
||||||
|
CONFIG_RT_USING_COMPONENTS_INIT=y
|
||||||
|
CONFIG_RT_USING_USER_MAIN=y
|
||||||
|
CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048
|
||||||
|
CONFIG_RT_MAIN_THREAD_PRIORITY=10
|
||||||
|
CONFIG_RT_USING_MSH=y
|
||||||
|
CONFIG_RT_USING_FINSH=y
|
||||||
|
CONFIG_FINSH_USING_MSH=y
|
||||||
|
CONFIG_FINSH_THREAD_NAME="tshell"
|
||||||
|
CONFIG_FINSH_THREAD_PRIORITY=20
|
||||||
|
CONFIG_FINSH_THREAD_STACK_SIZE=4096
|
||||||
|
CONFIG_FINSH_USING_HISTORY=y
|
||||||
|
CONFIG_FINSH_HISTORY_LINES=10
|
||||||
|
CONFIG_FINSH_USING_SYMTAB=y
|
||||||
|
CONFIG_FINSH_CMD_SIZE=80
|
||||||
|
CONFIG_MSH_USING_BUILT_IN_COMMANDS=y
|
||||||
|
CONFIG_FINSH_USING_DESCRIPTION=y
|
||||||
|
CONFIG_FINSH_ARG_MAX=10
|
||||||
|
CONFIG_RT_USING_DFS=y
|
||||||
|
CONFIG_DFS_USING_POSIX=y
|
||||||
|
CONFIG_DFS_USING_WORKDIR=y
|
||||||
|
CONFIG_DFS_FD_MAX=32
|
||||||
|
CONFIG_RT_USING_DFS_V1=y
|
||||||
|
CONFIG_DFS_FILESYSTEMS_MAX=4
|
||||||
|
CONFIG_DFS_FILESYSTEM_TYPES_MAX=4
|
||||||
|
CONFIG_RT_USING_DFS_ELMFAT=y
|
||||||
|
CONFIG_RT_DFS_ELM_CODE_PAGE=437
|
||||||
|
CONFIG_RT_DFS_ELM_WORD_ACCESS=y
|
||||||
|
CONFIG_RT_DFS_ELM_USE_LFN_3=y
|
||||||
|
CONFIG_RT_DFS_ELM_USE_LFN=3
|
||||||
|
CONFIG_RT_DFS_ELM_LFN_UNICODE_0=y
|
||||||
|
CONFIG_RT_DFS_ELM_LFN_UNICODE=0
|
||||||
|
CONFIG_RT_DFS_ELM_MAX_LFN=255
|
||||||
|
CONFIG_RT_DFS_ELM_DRIVES=2
|
||||||
|
CONFIG_RT_DFS_ELM_MAX_SECTOR_SIZE=512
|
||||||
|
CONFIG_RT_DFS_ELM_REENTRANT=y
|
||||||
|
CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
|
||||||
|
CONFIG_RT_USING_DFS_DEVFS=y
|
||||||
|
CONFIG_RT_USING_DFS_ROMFS=y
|
||||||
|
CONFIG_RT_USING_DEVICE_IPC=y
|
||||||
|
CONFIG_RT_UNAMED_PIPE_NUMBER=64
|
||||||
|
CONFIG_RT_USING_SYSTEM_WORKQUEUE=y
|
||||||
|
CONFIG_RT_SYSTEM_WORKQUEUE_STACKSIZE=8192
|
||||||
|
CONFIG_RT_SYSTEM_WORKQUEUE_PRIORITY=23
|
||||||
|
CONFIG_RT_USING_SERIAL=y
|
||||||
|
CONFIG_RT_USING_SERIAL_V1=y
|
||||||
|
CONFIG_RT_SERIAL_USING_DMA=y
|
||||||
|
CONFIG_RT_SERIAL_RB_BUFSZ=64
|
||||||
|
CONFIG_RT_USING_CPUTIME=y
|
||||||
|
CONFIG_CPUTIME_TIMER_FREQ=300000000
|
||||||
|
CONFIG_RT_USING_NULL=y
|
||||||
|
CONFIG_RT_USING_ZERO=y
|
||||||
|
CONFIG_RT_USING_RANDOM=y
|
||||||
|
CONFIG_RT_USING_RTC=y
|
||||||
|
CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
|
||||||
|
CONFIG_RT_USING_UTEST=y
|
||||||
|
CONFIG_UTEST_THR_STACK_SIZE=4096
|
||||||
|
CONFIG_UTEST_THR_PRIORITY=20
|
||||||
|
CONFIG_RT_USING_ADT=y
|
||||||
|
CONFIG_BOARD_AM=y
|
25
bsp/abstract-machine/Kconfig
Normal file
25
bsp/abstract-machine/Kconfig
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
mainmenu "RT-Thread Project Configuration"
|
||||||
|
|
||||||
|
config BSP_DIR
|
||||||
|
string
|
||||||
|
option env="BSP_ROOT"
|
||||||
|
default "."
|
||||||
|
|
||||||
|
config RTT_DIR
|
||||||
|
string
|
||||||
|
option env="RTT_ROOT"
|
||||||
|
default "../../"
|
||||||
|
|
||||||
|
config PKGS_DIR
|
||||||
|
string
|
||||||
|
option env="PKGS_ROOT"
|
||||||
|
default "packages"
|
||||||
|
|
||||||
|
source "$RTT_DIR/Kconfig"
|
||||||
|
source "$PKGS_DIR/Kconfig"
|
||||||
|
|
||||||
|
config BOARD_AM
|
||||||
|
bool
|
||||||
|
select RT_USING_COMPONENTS_INIT
|
||||||
|
select RT_USING_USER_MAIN
|
||||||
|
default y
|
14
bsp/abstract-machine/SConscript
Normal file
14
bsp/abstract-machine/SConscript
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# 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')
|
31
bsp/abstract-machine/SConstruct
Normal file
31
bsp/abstract-machine/SConstruct
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import rtconfig
|
||||||
|
|
||||||
|
from rtconfig import RTT_ROOT
|
||||||
|
|
||||||
|
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
|
||||||
|
from building import *
|
||||||
|
|
||||||
|
TARGET = 'rtthread.' + rtconfig.TARGET_EXT
|
||||||
|
|
||||||
|
DefaultEnvironment(tools=[])
|
||||||
|
env = Environment(tools = ['mingw'],
|
||||||
|
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
|
||||||
|
CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
|
||||||
|
CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
|
||||||
|
AR = rtconfig.AR, ARFLAGS = '-rc',
|
||||||
|
LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
|
||||||
|
env.PrependENVPath('PATH', rtconfig.EXEC_PATH)
|
||||||
|
env['ASCOM'] = env['ASPPCOM']
|
||||||
|
|
||||||
|
Export('RTT_ROOT')
|
||||||
|
Export('rtconfig')
|
||||||
|
rtconfig.CPU='virt64'
|
||||||
|
rtconfig.ARCH='risc-v'
|
||||||
|
|
||||||
|
# prepare building environment
|
||||||
|
objs = PrepareBuilding(env, RTT_ROOT, has_libcpu = True)
|
||||||
|
|
||||||
|
# make a building
|
||||||
|
DoBuilding(TARGET, objs)
|
54
bsp/abstract-machine/rtconfig.py
Normal file
54
bsp/abstract-machine/rtconfig.py
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
import os
|
||||||
|
|
||||||
|
# toolchains options
|
||||||
|
ARCH ='risc-v'
|
||||||
|
CPU ='virt64'
|
||||||
|
CROSS_TOOL ='gcc'
|
||||||
|
|
||||||
|
RTT_ROOT = os.getenv('RTT_ROOT') or os.path.join(os.getcwd(), '..', '..')
|
||||||
|
|
||||||
|
if os.getenv('RTT_CC'):
|
||||||
|
CROSS_TOOL = os.getenv('RTT_CC')
|
||||||
|
|
||||||
|
if CROSS_TOOL == 'gcc':
|
||||||
|
PLATFORM = 'gcc'
|
||||||
|
EXEC_PATH = r'/usr/bin'
|
||||||
|
else:
|
||||||
|
print('Please make sure your toolchains is GNU GCC!')
|
||||||
|
exit(0)
|
||||||
|
|
||||||
|
if os.getenv('RTT_EXEC_PATH'):
|
||||||
|
EXEC_PATH = os.getenv('RTT_EXEC_PATH')
|
||||||
|
|
||||||
|
BUILD = 'debug'
|
||||||
|
|
||||||
|
if PLATFORM == 'gcc':
|
||||||
|
# toolchains
|
||||||
|
PREFIX = os.getenv('RTT_CC_PREFIX') or 'riscv64-linux-gnu-'
|
||||||
|
CC = PREFIX + 'gcc'
|
||||||
|
CXX = PREFIX + 'g++'
|
||||||
|
AS = PREFIX + 'gcc'
|
||||||
|
AR = PREFIX + 'ar'
|
||||||
|
LINK = PREFIX + 'gcc'
|
||||||
|
TARGET_EXT = 'elf'
|
||||||
|
SIZE = PREFIX + 'size'
|
||||||
|
OBJDUMP = PREFIX + 'objdump'
|
||||||
|
OBJCPY = PREFIX + 'objcopy'
|
||||||
|
|
||||||
|
DEVICE = ' -mcmodel=medany -march=rv64imac -mabi=lp64 '
|
||||||
|
CFLAGS = DEVICE + '-ffreestanding -flax-vector-conversions -Wno-cpp -fno-common -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -fdiagnostics-color=always'
|
||||||
|
AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp -D__ASSEMBLY__ '
|
||||||
|
LFLAGS = DEVICE + ' -nostartfiles -Wl,--gc-sections,-Map=rtthread.map,-cref,-u,_start -T link.lds' + ' -lgcc -static'
|
||||||
|
CPATH = ''
|
||||||
|
LPATH = ''
|
||||||
|
|
||||||
|
if BUILD == 'debug':
|
||||||
|
CFLAGS += ' -O0 -ggdb -fvar-tracking '
|
||||||
|
AFLAGS += ' -ggdb'
|
||||||
|
else:
|
||||||
|
CFLAGS += ' -O2 -Os'
|
||||||
|
|
||||||
|
CXXFLAGS = CFLAGS
|
||||||
|
|
||||||
|
DUMP_ACTION = OBJDUMP + ' -D -S $TARGET > rtthread.asm\n'
|
||||||
|
POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'
|
Loading…
Add table
Reference in a new issue