mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-02-18 18:39:11 +08:00
update K210 BSP
This commit is contained in:
parent
a280fb8f2a
commit
4e21c1254d
@ -31,9 +31,18 @@ Kendryte中文含义为勘智,而勘智取自勘物探智。这颗芯片主要
|
|||||||
|
|
||||||
## 2. 编译说明
|
## 2. 编译说明
|
||||||
|
|
||||||
编译K210,需要有RT-Thread的代码,因为K210的sdk是以软件包方式,所以需要在bsp/k210下做软件包更新。Windows下推进使用[env工具][1],然后在console下进入bsp/k210目录中,运行:
|
编译 K210,需要有 RT-Thread 的代码,因为 K210 的 sdk 是以软件包方式,所以需要在 bsp/k210 下做软件包更新。注意,需要使用 latest 的 RT-Thread 源码和 Latest 的软件包,软件包在menuconfig中的配置路径如下:
|
||||||
|
|
||||||
|
RT-Thread online packages ---> peripheral libraries and drivers ---> kendryte K210 SDK package for rt-thread 。
|
||||||
|
|
||||||
|
最新的 k210 SDK 使用了 C++17 编写了部分代码,因此需要打开 C++ 组件,C++组件在menuconfig中的配置路径如下:
|
||||||
|
|
||||||
|
RT-Thread Components ---> C++ features
|
||||||
|
|
||||||
|
Windows下推进使用[env工具][1],然后在console下进入bsp/k210目录中,运行:
|
||||||
|
|
||||||
cd bsp/k210
|
cd bsp/k210
|
||||||
|
menuconfig # 在软件包中选择最新的 k210 SDK
|
||||||
pkgs --update
|
pkgs --update
|
||||||
|
|
||||||
如果在Linux平台下,可以先执行
|
如果在Linux平台下,可以先执行
|
||||||
|
@ -44,6 +44,18 @@ SECTIONS
|
|||||||
*(.glue_7)
|
*(.glue_7)
|
||||||
*(.glue_7t)
|
*(.glue_7t)
|
||||||
*(.gnu.linkonce.t*)
|
*(.gnu.linkonce.t*)
|
||||||
|
|
||||||
|
. = ALIGN(8);
|
||||||
|
|
||||||
|
PROVIDE(__ctors_start__ = .);
|
||||||
|
/* old GCC version uses .ctors */
|
||||||
|
KEEP(*(SORT(.ctors.*)))
|
||||||
|
KEEP(*(.ctors))
|
||||||
|
/* new GCC version uses .init_array */
|
||||||
|
KEEP (*(SORT(.init_array.*)))
|
||||||
|
KEEP (*(.init_array))
|
||||||
|
PROVIDE(__ctors_end__ = .);
|
||||||
|
|
||||||
|
|
||||||
/* section information for finsh shell */
|
/* section information for finsh shell */
|
||||||
. = ALIGN(8);
|
. = ALIGN(8);
|
||||||
@ -63,6 +75,13 @@ SECTIONS
|
|||||||
__rt_init_end = .;
|
__rt_init_end = .;
|
||||||
. = ALIGN(8);
|
. = ALIGN(8);
|
||||||
|
|
||||||
|
|
||||||
|
__spi_func_start = .;
|
||||||
|
KEEP(*(.spi_call))
|
||||||
|
__spi_func_end = .;
|
||||||
|
|
||||||
|
. = ALIGN(8);
|
||||||
|
|
||||||
__rt_utest_tc_tab_start = .;
|
__rt_utest_tc_tab_start = .;
|
||||||
KEEP(*(UtestTcTab))
|
KEEP(*(UtestTcTab))
|
||||||
__rt_utest_tc_tab_end = .;
|
__rt_utest_tc_tab_end = .;
|
||||||
@ -93,6 +112,12 @@ SECTIONS
|
|||||||
|
|
||||||
*(.sdata)
|
*(.sdata)
|
||||||
*(.sdata.*)
|
*(.sdata.*)
|
||||||
|
|
||||||
|
PROVIDE(__dtors_start__ = .);
|
||||||
|
KEEP(*(SORT(.dtors.*)))
|
||||||
|
KEEP(*(.dtors))
|
||||||
|
PROVIDE(__dtors_end__ = .);
|
||||||
|
|
||||||
} > SRAM
|
} > SRAM
|
||||||
|
|
||||||
/* stack for dual core */
|
/* stack for dual core */
|
||||||
|
@ -15,7 +15,7 @@ if os.getenv('RTT_CC'):
|
|||||||
|
|
||||||
if CROSS_TOOL == 'gcc':
|
if CROSS_TOOL == 'gcc':
|
||||||
PLATFORM = 'gcc'
|
PLATFORM = 'gcc'
|
||||||
EXEC_PATH = r'/opt/gnu-mcu-eclipse/riscv-none-gcc/8.2.0-2.1-20190425-1021/bin'
|
EXEC_PATH = r'D:\K210\xpack-riscv-none-embed-gcc-8.3.0-1.2-win32-x64\xpack-riscv-none-embed-gcc-8.3.0-1.2\bin'
|
||||||
else:
|
else:
|
||||||
print('Please make sure your toolchains is GNU GCC!')
|
print('Please make sure your toolchains is GNU GCC!')
|
||||||
exit(0)
|
exit(0)
|
||||||
@ -51,7 +51,7 @@ if PLATFORM == 'gcc':
|
|||||||
else:
|
else:
|
||||||
CFLAGS += ' -O2 -Os'
|
CFLAGS += ' -O2 -Os'
|
||||||
|
|
||||||
CXXFLAGS = CFLAGS
|
CXXFLAGS = CFLAGS + ' -std=gnu++17 -Wno-multichar'
|
||||||
|
|
||||||
DUMP_ACTION = OBJDUMP + ' -D -S $TARGET > rtt.asm\n'
|
DUMP_ACTION = OBJDUMP + ' -D -S $TARGET > rtt.asm\n'
|
||||||
POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'
|
POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user