瀏覽代碼

[bsp][nuclei] change hbird_eval bsp to nuclei_fpga_eval

we no longer use hbird_eval to stand for board using by
nuclei fpga development boards, we are now using nuclei_fpga_eval
to stand for it.

nowadays the fpga bitstream cpu freq is 16MHz, and uart tx/rx
both works at 115200bps, so we change the baudrate to 115200bps

Signed-off-by: Huaqi Fang <578567190@qq.com>
Huaqi Fang 3 年之前
父節點
當前提交
4c63055289

+ 1 - 1
bsp/nuclei/README.md

@@ -6,7 +6,7 @@ currently we mainly provided the following board support packages.
 | **BSP**                              | **Development Board Name**                                                                                 |
 | **BSP**                              | **Development Board Name**                                                                                 |
 | :----------------------------------- | :--------------------------------------------------------------------------------------------------------- |
 | :----------------------------------- | :--------------------------------------------------------------------------------------------------------- |
 | [gd32vf103_rvstar](gd32vf103_rvstar) | [Nuclei RV-STAR Arduino Compatible Development Board](https://www.rvmcu.com/quickstart-doc-u-rvstar.html)  |
 | [gd32vf103_rvstar](gd32vf103_rvstar) | [Nuclei RV-STAR Arduino Compatible Development Board](https://www.rvmcu.com/quickstart-doc-u-rvstar.html)  |
-| [hbird_eval](hbird_eval)             | [Nuclei HummingBird FPGA Evaluation Development Board](https://nucleisys.com/developboard.php#ddr200t)     |
+| [nuclei_fpga_eval](nuclei_fpga_eval) | [Nuclei FPGA Evaluation Development Board](https://nucleisys.com/developboard.php#ddr200t)     |
 
 
 **If you want to learn more about Nuclei Processors, please click the following links:**
 **If you want to learn more about Nuclei Processors, please click the following links:**
 
 

+ 0 - 0
bsp/nuclei/libraries/hbird/HAL_Drivers/SConscript → bsp/nuclei/libraries/demosoc/HAL_Drivers/SConscript


+ 0 - 0
bsp/nuclei/libraries/hbird/HAL_Drivers/drv_config.h → bsp/nuclei/libraries/demosoc/HAL_Drivers/drv_config.h


+ 4 - 3
bsp/nuclei/libraries/hbird/HAL_Drivers/drv_uart.c → bsp/nuclei/libraries/demosoc/HAL_Drivers/drv_uart.c

@@ -187,9 +187,10 @@ void eclic_irq20_handler(void)
 
 
 #endif
 #endif
 
 
-/* For HBird Uart, when CPU freq is lower than 8M
-   The uart read will only work on baudrate <= 57600 */
-#define DRV_UART_BAUDRATE       BAUD_RATE_57600
+/* For Nuclei demosoc Uart, when CPU freq is lower than 8M
+   The uart read will only work on baudrate <= 57600.
+   Nowadays, we usually distribute FPGA bitsteam with CPU Freq 16MHz */
+#define DRV_UART_BAUDRATE       BAUD_RATE_115200
 
 
 int rt_hw_uart_init(void)
 int rt_hw_uart_init(void)
 {
 {

+ 0 - 0
bsp/nuclei/libraries/hbird/HAL_Drivers/drv_uart.h → bsp/nuclei/libraries/demosoc/HAL_Drivers/drv_uart.h


+ 1 - 1
bsp/nuclei/hbird_eval/.config → bsp/nuclei/nuclei_fpga_eval/.config

@@ -660,7 +660,7 @@ CONFIG_PKG_NUCLEI_SDK_VER="latest"
 #
 #
 # Hardware Drivers Config
 # Hardware Drivers Config
 #
 #
-CONFIG_SOC_HUMMINGBIRD=y
+CONFIG_SOC_DEMOSOC=y
 
 
 #
 #
 # Onboard Peripheral Drivers
 # Onboard Peripheral Drivers

+ 1 - 1
bsp/nuclei/hbird_eval/Kconfig → bsp/nuclei/nuclei_fpga_eval/Kconfig

@@ -19,7 +19,7 @@ source "$RTT_DIR/Kconfig"
 source "$PKGS_DIR/Kconfig"
 source "$PKGS_DIR/Kconfig"
 source "board/Kconfig"
 source "board/Kconfig"
 
 
-config SOC_HUMMINGBIRD
+config SOC_DEMOSOC
     bool
     bool
     select ARCH_RISCV
     select ARCH_RISCV
     select PKG_USING_NUCLEI_SDK
     select PKG_USING_NUCLEI_SDK

+ 22 - 24
bsp/nuclei/hbird_eval/README.md → bsp/nuclei/nuclei_fpga_eval/README.md

@@ -1,14 +1,14 @@
-# 芯来科技蜂鸟FPGA评估板
+# 芯来科技FPGA评估板
 
 
 ## 简介
 ## 简介
 
 
-**蜂鸟FPGA系列评估板** 是由芯来科技公司推出的用于一系列测试评估芯来RISC-V内核处理器的FPGA评估板。
+**芯来科技FPGA系列板** 是由芯来科技公司推出的用于一系列测试评估芯来RISC-V内核处理器的FPGA评估板。
 
 
-更多关于 **蜂鸟FPGA评估板** 开发板的详细资料请参见:
+更多关于 **芯来科技FPGA评估板** 开发板的详细资料请参见:
 
 
 * [Nuclei DDR200T开发板](https://nucleisys.com/developboard.php#ddr200t)
 * [Nuclei DDR200T开发板](https://nucleisys.com/developboard.php#ddr200t)
 * [Nuclei MCU200T开发板](https://nucleisys.com/developboard.php#mcu200t)
 * [Nuclei MCU200T开发板](https://nucleisys.com/developboard.php#mcu200t)
-* [蜂鸟开发板](https://nucleisys.com/developboard.php#hbird100t)
+* [蜂鸟开发板](https://nucleisys.com/developboard.php#demosoc100t)
 
 
 ### 板载资源
 ### 板载资源
 
 
@@ -16,7 +16,7 @@
 | ---  | --- |
 | ---  | --- |
 | 内核 | Nuclei RISC-V N/NX/UX 内核 |
 | 内核 | Nuclei RISC-V N/NX/UX 内核 |
 | 架构 | RV32 or RV64 |
 | 架构 | RV32 or RV64 |
-| 主频 | 8MHz or uncertain freq |
+| 主频 | 16MHz or uncertain freq |
 
 
 **注意**: 这个上面烧写的是FPGA bitstream文件,所以处理器内核版本根据型号来定,通过修改**rtconfig.py**中的**NUCLEI_SDK_CORE**.
 **注意**: 这个上面烧写的是FPGA bitstream文件,所以处理器内核版本根据型号来定,通过修改**rtconfig.py**中的**NUCLEI_SDK_CORE**.
 
 
@@ -33,28 +33,28 @@
 
 
 #### Windows
 #### Windows
 
 
-假设工具安装在 **D:\Software\Nuclei**目录下, 则可以修改系统环境变量**PATH**,
-将**D:\Software\Nuclei\gcc\bin;D:\Software\Nuclei\openocd\bin;**增加到**PATH**中。
+假设工具安装在 **D:\NucleiStudio\toolchain**目录下, 则可以修改系统环境变量**PATH**,
+将**D:\NucleiStudio\toolchain\gcc\bin;D:\NucleiStudio\toolchain\openocd\bin;**增加到**PATH**中。
 
 
 或者在ENV工具命令行中运行
 或者在ENV工具命令行中运行
 
 
 ~~~cmd
 ~~~cmd
-set PATH=D:\Software\Nuclei\gcc\bin;D:\Software\Nuclei\openocd\bin;%PATH%
+set PATH=D:\NucleiStudio\toolchain\gcc\bin;D:\NucleiStudio\toolchain\openocd\bin;%PATH%
 ~~~
 ~~~
 
 
 #### Linux
 #### Linux
 
 
-假设工具安装在 **~/Software/Nuclei**目录下, 通过在Linux的``.bashrc``增加如下一行代码
+假设工具安装在 **~/NucleiStudio/toolchain**目录下, 通过在Linux的``.bashrc``增加如下一行代码
 来添加环境变量。
 来添加环境变量。
 
 
 ~~~bash
 ~~~bash
-export PATH=~/Software/Nuclei/gcc/bin:~/Software/Nuclei/openocd/bin:$PATH
+export PATH=~/NucleiStudio/toolchain/gcc/bin:~/NucleiStudio/toolchain/openocd/bin:$PATH
 ~~~
 ~~~
 
 
 或者在ENV工具命令行中运行
 或者在ENV工具命令行中运行
 
 
 ~~~bash
 ~~~bash
-export PATH=~/Software/Nuclei/gcc/bin:~/Software/Nuclei/openocd/bin:$PATH
+export PATH=~/NucleiStudio/toolchain/gcc/bin:~/NucleiStudio/toolchain/openocd/bin:$PATH
 ~~~
 ~~~
 
 
 **注意**: 对应的RISC-V GCC和OPENOCD的路径请替换成自己安装的路径。
 **注意**: 对应的RISC-V GCC和OPENOCD的路径请替换成自己安装的路径。
@@ -69,7 +69,7 @@ export PATH=~/Software/Nuclei/gcc/bin:~/Software/Nuclei/openocd/bin:$PATH
 
 
 下载好[RT-Thread](https://github.com/RT-Thread/rt-thread)的代码和[ENV工具](https://www.rt-thread.org/document/site/tutorial/env-video/)以后。
 下载好[RT-Thread](https://github.com/RT-Thread/rt-thread)的代码和[ENV工具](https://www.rt-thread.org/document/site/tutorial/env-video/)以后。
 
 
-按照ENV工具的教程, 在**rt-thread\bsp\nuclei\hbird_eval**目录打开ENV工具命令行。
+按照ENV工具的教程, 在**rt-thread\bsp\nuclei\nuclei_fpga_eval**目录打开ENV工具命令行。
 
 
 **注意**: 请确保Nuclei GCC和Nuclei OpenOCD的路径设置正确无误。
 **注意**: 请确保Nuclei GCC和Nuclei OpenOCD的路径设置正确无误。
 
 
@@ -91,9 +91,9 @@ export PATH=~/Software/Nuclei/gcc/bin:~/Software/Nuclei/openocd/bin:$PATH
 
 
 ~~~
 ~~~
 scons: Reading SConscript files ...
 scons: Reading SConscript files ...
-Supported downloaded modes for board hbird_eval are ('ilm', 'flash', 'flashxip'), chosen downloaded mode is ilm
+Supported downloaded modes for board nuclei_fpga_eval are ('ilm', 'flash', 'flashxip'), chosen downloaded mode is ilm
 Upload application rtthread.elf using openocd and gdb
 Upload application rtthread.elf using openocd and gdb
-riscv-nuclei-elf-gdb rtthread.elf -ex "set remotetimeout 240"                     -ex "target remote | openocd --pipe -f D:/workspace/Sourcecode/rt-thread/bsp/nuclei/hbird_eval/packages/nuclei_sdk-latest/SoC/hbird/Board/hbird_eval/openocd_hbird.cfg"
+riscv-nuclei-elf-gdb rtthread.elf -ex "set remotetimeout 240"                     -ex "target remote | openocd --pipe -f D:/workspace/Sourcecode/rt-thread/bsp/nuclei/nuclei_fpga_eval/packages/nuclei_sdk-latest/SoC/demosoc/Board/nuclei_fpga_eval/openocd_demosoc.cfg"
               --batch -ex "monitor halt" -ex "monitor flash protect 0 0 last off" -ex "load"                     -ex "monitor resume" -ex "monitor shutdown" -ex "quit"
               --batch -ex "monitor halt" -ex "monitor flash protect 0 0 last off" -ex "load"                     -ex "monitor resume" -ex "monitor shutdown" -ex "quit"
 D:\Software\Nuclei\gcc\bin\riscv-nuclei-elf-gdb.exe: warning: Couldn't determine a path for the index cache directory.
 D:\Software\Nuclei\gcc\bin\riscv-nuclei-elf-gdb.exe: warning: Couldn't determine a path for the index cache directory.
 Nuclei OpenOCD, i386 Open On-Chip Debugger 0.10.0+dev-g11f0cf429 (2020-07-15-04:09)
 Nuclei OpenOCD, i386 Open On-Chip Debugger 0.10.0+dev-g11f0cf429 (2020-07-15-04:09)
@@ -119,11 +119,9 @@ Quit anyway? (y or n) [answered Y; input not from terminal]
 [Inferior 1 (Remote target) detached]
 [Inferior 1 (Remote target) detached]
 ~~~
 ~~~
 
 
-下载程序之后, 连接**串口(57600-N-8-1)**, 可以看到 RT-Thread 的输出信息:
+下载程序之后, 连接**串口(115200-N-8-1)**, 可以看到 RT-Thread 的输出信息:
 
 
-> 由于FPGA评估的Nuclei RISC-V内核主频一般在8MHz左右, 而评估SoC串口
-> 在8MHz主频下,工作大于在115200 bps时,串口读取工作不正常,因此这里设置
-> 波特率为57600bps,特此说明.
+> 最新发布出去的评估Bit一般都是16MHz, 串口工作在115200bps下串口读取可以正常工作.
 
 
 ```
 ```
 initialize rti_board_start:0 done
 initialize rti_board_start:0 done
@@ -161,9 +159,9 @@ msh />
 
 
 ~~~
 ~~~
 scons: Reading SConscript files ...
 scons: Reading SConscript files ...
-Supported downloaded modes for board hbird_eval are ('ilm', 'flash', 'flashxip'), chosen downloaded mode is ilm
+Supported downloaded modes for board nuclei_fpga_eval are ('ilm', 'flash', 'flashxip'), chosen downloaded mode is ilm
 Debug application rtthread.elf using openocd and gdb
 Debug application rtthread.elf using openocd and gdb
-riscv-nuclei-elf-gdb rtthread.elf -ex "set remotetimeout 240"                     -ex "target remote | openocd --pipe -f D:/workspace/Sourcecode/rt-thread/bsp/nuclei/hbird_eval/packages/nuclei_sdk-latest/SoC/hbird/Board/hbird_eval/openocd_hbird.cfg"
+riscv-nuclei-elf-gdb rtthread.elf -ex "set remotetimeout 240"                     -ex "target remote | openocd --pipe -f D:/workspace/Sourcecode/rt-thread/bsp/nuclei/nuclei_fpga_eval/packages/nuclei_sdk-latest/SoC/demosoc/Board/nuclei_fpga_eval/openocd_demosoc.cfg"
 D:\Software\Nuclei\gcc\bin\riscv-nuclei-elf-gdb.exe: warning: Couldn't determine a path for the index cache directory.
 D:\Software\Nuclei\gcc\bin\riscv-nuclei-elf-gdb.exe: warning: Couldn't determine a path for the index cache directory.
 GNU gdb (GDB) 8.3.0.20190516-git
 GNU gdb (GDB) 8.3.0.20190516-git
 Copyright (C) 2019 Free Software Foundation, Inc.
 Copyright (C) 2019 Free Software Foundation, Inc.
@@ -181,7 +179,7 @@ Find the GDB manual and other documentation resources online at:
 For help, type "help".
 For help, type "help".
 Type "apropos word" to search for commands related to "word"...
 Type "apropos word" to search for commands related to "word"...
 Reading symbols from rtthread.elf...
 Reading symbols from rtthread.elf...
-Remote debugging using | openocd --pipe -f D:/workspace/Sourcecode/rt-thread/bsp/nuclei/hbird_eval/packages/nuclei_sdk-latest/SoC/hbird/Board/hbird_eval/openocd_hbird.cfg
+Remote debugging using | openocd --pipe -f D:/workspace/Sourcecode/rt-thread/bsp/nuclei/nuclei_fpga_eval/packages/nuclei_sdk-latest/SoC/demosoc/Board/nuclei_fpga_eval/openocd_demosoc.cfg
 Nuclei OpenOCD, i386 Open On-Chip Debugger 0.10.0+dev-g11f0cf429 (2020-07-15-04:09)
 Nuclei OpenOCD, i386 Open On-Chip Debugger 0.10.0+dev-g11f0cf429 (2020-07-15-04:09)
 Licensed under GNU GPL v2
 Licensed under GNU GPL v2
 For bug reports, read
 For bug reports, read
@@ -215,7 +213,7 @@ Continuing.
 * https://doc.nucleisys.com/nuclei_sdk/quickstart.html#debug-application
 * https://doc.nucleisys.com/nuclei_sdk/quickstart.html#debug-application
 
 
 为了更方便的进行调试, 也可以下载**Nuclei Studio**集成开发环境, 创建一个Debug Configuration, 选择编译好的
 为了更方便的进行调试, 也可以下载**Nuclei Studio**集成开发环境, 创建一个Debug Configuration, 选择编译好的
-ELF文件, 然后配置OPENOCD和GDB即可, OPENOCD配置文件路径为**bsp\nuclei\hbird_eval\packages\nuclei_sdk-latest\SoC\hbird\Board\hbird_eval\openocd_hbird.cfg**
+ELF文件, 然后配置OPENOCD和GDB即可, OPENOCD配置文件路径为**bsp\nuclei\nuclei_fpga_eval\packages\nuclei_sdk-latest\SoC\demosoc\Board\nuclei_fpga_eval\openocd_demosoc.cfg**
 
 
 
 
 ## 驱动支持情况
 ## 驱动支持情况
@@ -226,9 +224,9 @@ ELF文件, 然后配置OPENOCD和GDB即可, OPENOCD配置文件路径为**bsp\nu
 
 
 **注:**
 **注:**
 
 
-- 适配RT-Thread的驱动框架的代码在 [../libraries/hbird/HAL_Drivers](../libraries/hbird/HAL_Drivers)目录下。
+- 适配RT-Thread的驱动框架的代码在 [../libraries/demosoc/HAL_Drivers](../libraries/demosoc/HAL_Drivers)目录下。
 - 如果有开发者想适配更多的驱动, 请在对应目录下增加驱动适配支持。
 - 如果有开发者想适配更多的驱动, 请在对应目录下增加驱动适配支持。
-- 目前串口读取功能在主频为8MHz情况下需要工作在57600bps
+- 目前串口读取功能在主频为8MHz情况下需要工作在57600bps, 目前发布的Bit一般都是16Mhz
 - 目前串口读取没有采用中断的方式进行,而是采用单独的任务来读取,等中断信号接入后可以直接中断方式读取
 - 目前串口读取没有采用中断的方式进行,而是采用单独的任务来读取,等中断信号接入后可以直接中断方式读取
 
 
 ## 联系人信息
 ## 联系人信息

+ 0 - 0
bsp/nuclei/hbird_eval/SConscript → bsp/nuclei/nuclei_fpga_eval/SConscript


+ 0 - 0
bsp/nuclei/hbird_eval/SConstruct → bsp/nuclei/nuclei_fpga_eval/SConstruct


+ 0 - 0
bsp/nuclei/hbird_eval/applications/SConscript → bsp/nuclei/nuclei_fpga_eval/applications/SConscript


+ 0 - 0
bsp/nuclei/hbird_eval/applications/main.c → bsp/nuclei/nuclei_fpga_eval/applications/main.c


+ 0 - 0
bsp/nuclei/hbird_eval/board/Kconfig → bsp/nuclei/nuclei_fpga_eval/board/Kconfig


+ 0 - 0
bsp/nuclei/hbird_eval/board/SConscript → bsp/nuclei/nuclei_fpga_eval/board/SConscript


+ 0 - 0
bsp/nuclei/hbird_eval/board/board.c → bsp/nuclei/nuclei_fpga_eval/board/board.c


+ 0 - 0
bsp/nuclei/hbird_eval/board/board.h → bsp/nuclei/nuclei_fpga_eval/board/board.h


+ 1 - 1
bsp/nuclei/hbird_eval/rtconfig.h → bsp/nuclei/nuclei_fpga_eval/rtconfig.h

@@ -227,7 +227,7 @@
 
 
 /* Hardware Drivers Config */
 /* Hardware Drivers Config */
 
 
-#define SOC_HUMMINGBIRD
+#define SOC_DEMOSOC
 
 
 /* Onboard Peripheral Drivers */
 /* Onboard Peripheral Drivers */
 
 

+ 13 - 6
bsp/nuclei/hbird_eval/rtconfig.py → bsp/nuclei/nuclei_fpga_eval/rtconfig.py

@@ -1,4 +1,5 @@
 import os
 import os
+import platform
 
 
 # toolchains options
 # toolchains options
 ARCH='risc-v'
 ARCH='risc-v'
@@ -10,17 +11,23 @@ if os.getenv('RTT_CC'):
 
 
 if CROSS_TOOL == 'gcc':
 if CROSS_TOOL == 'gcc':
     PLATFORM 	= 'gcc'
     PLATFORM 	= 'gcc'
-    EXEC_PATH 	= 'D:/Software/Nuclei/gcc/bin'
+    if platform.system().lower() == "windows":
+        EXEC_PATH 	= 'D:/NucleiStudio/toolchain/gcc/bin'
+    else:
+        EXEC_PATH 	= '~/NucleiStudio/toolchain/gcc/bin'
+    if os.path.exists(EXEC_PATH) == False:
+        print("Warning: Toolchain path %s doesn't exist, assume it is already in PATH" % EXEC_PATH)
+        EXEC_PATH = '' # Don't set path if not exist
 else:
 else:
-    print("CROSS_TOOL = {} not yet supported" % CROSS_TOOL)
+    print("CROSS_TOOL = %s not yet supported" % CROSS_TOOL)
 
 
-# if os.getenv('RTT_EXEC_PATH'):
-# 	EXEC_PATH = os.getenv('RTT_EXEC_PATH')
+if os.getenv('RTT_EXEC_PATH'):
+	EXEC_PATH = os.getenv('RTT_EXEC_PATH')
 
 
 BUILD = 'debug'
 BUILD = 'debug'
 # Fixed configurations below
 # Fixed configurations below
-NUCLEI_SDK_SOC = "hbird"
-NUCLEI_SDK_BOARD = "hbird_eval"
+NUCLEI_SDK_SOC = "demosoc"
+NUCLEI_SDK_BOARD = "nuclei_fpga_eval"
 # Configurable options below
 # Configurable options below
 # DOWNLOAD: https://doc.nucleisys.com/nuclei_sdk/develop/buildsystem.html#download
 # DOWNLOAD: https://doc.nucleisys.com/nuclei_sdk/develop/buildsystem.html#download
 NUCLEI_SDK_DOWNLOAD = "ilm"
 NUCLEI_SDK_DOWNLOAD = "ilm"