rt-thread-official/bsp/hifive1
Yaochenger de4f237482
[atomic]添加arm与risc-v下的常用原子操作函数 (#7053)
* Update Kconfig
* Update trap_gcc.S
* Update bsp/hifive1/drivers/SConscript

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
* Update SConscript
* [atomic]提交一份arm与risc-v架构下的常用原子操作函数
* 修改变量类型
* 更新rtatomic.h与atomic_port.c
* 更新rt-thread\libcpu\arm\common\atomic_port.c
* 更新include/rtatomic.h与libcpu/arm/common/SConscript
* 更新include/rtatomic.h
* 修正格式与Kconfig
* 修正格式与文件结构

* 规范文件格式与文件重命名
* 添加测试用例与CI
* 添加函数声明
* 修改virt64/SConscript 添加atomic_riscv.c
  * 1.规范代码风格
  * 2.添加RISC-V64原子指令支持 解决在RV64下编译器将32-bit运算结果扩展为64-bit 导致判断错误
* 添加C11标准库原子操作测试

---------

Co-authored-by: Man, Jianting (Meco) <920369182@qq.com>
2023-03-23 20:06:50 +08:00
..
applications [bsp][applications][sconscript] 整理统一sconscript格式 (#6481) 2022-10-03 10:43:08 -04:00
drivers [libcpu/risc-v]迁移libcpu/risc-v/e310与rv32m1文件中内容至bsp (#7015) 2023-03-05 19:43:58 -05:00
figures [bsp][hifive1]更新 README,添加编译及下载运行方法 2018-09-30 18:07:57 +08:00
freedom-e-sdk [libcpu][riscv]整合libcpu/riscv中的移植文件 提供一份公共代码于common (#6941) 2023-03-01 01:32:43 -05:00
.config modify RT_ALIGN_SIZE as 8 by default 2023-01-12 22:47:23 -05:00
Kconfig [atomic]添加arm与risc-v下的常用原子操作函数 (#7053) 2023-03-23 20:06:50 +08:00
Makefile [bsp][hifive1] add Makefile file 2018-09-30 10:33:34 +08:00
README.md [bsp][readme] 增加scons --exec-path=xxx 命令的使用说明 2022-10-10 09:42:44 +08:00
SConscript [bsp] add new bsp: hifive1 2018-05-31 14:58:59 +08:00
SConstruct format Kconfig and sconscript 2023-01-08 22:52:13 -05:00
openocd.cfg [bsp] add new bsp: hifive1 2018-05-31 14:58:59 +08:00
openocd.sh [bsp] add new bsp: hifive1 2018-05-31 14:58:59 +08:00
rtconfig.h modify RT_ALIGN_SIZE as 8 by default 2023-01-12 22:47:23 -05:00
rtconfig.py [BSP] Update Hifive1 BSP with unified RV porting. 2018-12-08 10:42:40 +08:00

README.md

HIFIVE1

简介

HIFIVE1 是由 SiFive 公司推出的全球首款基于开源指令集 RISC-V 架构的商用 SoC Freedom E310 的开发板。

1538284005769

板载资源:

硬件 描述
Soc SiFive Freedom E310 (FE310)
内核 SiFive E31 RISC-V Core
架构 32-bit RV32IMAC
主频 320+ MHz
性能 1.61 DMIPs/MHz, 2.73 Coremark/MHz
SRAM 16KB
Flash 16MB QSPI + 16KB 指令Cache

编译说明

下载 Freedom Studio

Freedom Studio 是 SiFive 公司推出的一个集成开发环境,用来编写和调试基于 SiFive 处理器的软件。内嵌了编译好的 RISC-V GCC 工具链、OpenOCD、以及一些示例和文档。

下载地址:官网下载

1538295358180

下载成功之后,解压到和 rt-thread 源码同一目录下

1538295750998

配置工具链

工具链就在解压开的 IDE F:\FreedomStudio\SiFive\riscv64-unknown-elf-gcc-20171231-x86_64-w64-mingw32\bin 目录下。

在源码 rt-thread/bsp/hifive1/ 目录下,运行 env 工具,输入下面的命令设置 gcc 工具链路径

set RTT_EXEC_PATH=F:\FreedomStudio\SiFive\riscv64-unknown-elf-gcc-20171231-x86_64-w64-mingw32\bin

或者通过scons --exec-path="GCC工具链路径"命令,在指定工具链位置的同时直接编译。

添加环境变量

工具链编译工具的路径 添加到环境变量里,输入命令如下

set path=%path%;工具链的路径;编译工具的路径;

例如:

set path=%path%;F:\FreedomStudio\SiFive\riscv64-unknown-elf-gcc-20171231-x86_64-w64-mingw32\bin;F:\FreedomStudio\build-tools\bin

1538296570129

从 env 工具打开 IDE

利用 cd 命令,切换到解压开的 IDE 目录

1538296766437

输入 Freedom Studio 按 Tab 键 自动补全,然后按回车运行 IDE。

1538296878924

在弹出的窗口输入 workspace 创建工作空间,然后点击启动打开 IDE。

1538296978929

导入工程

在菜单栏点击 File->Import

1538297215062

按照下面的图片导入工程

1538297303505

1538297553367

编译

1538297679868

然后等待编译完成

1538297922206

烧写及执行

安装驱动

  1. 使用 Micro USB 线连接电脑和开发板。

  2. 然后双击安装 IDE 目录 F:\FreedomStudio\SiFive\Drivers 下的驱动文件

添加字符串定义

点击菜单栏 Window->preferences 按下图的步骤将 字符串 cross_prefix 定义为 riscv64-unknown-elf-

1538298633528

配置 Debug 参数

选中生成的 rtthread.elf 文件,右键配置 Debug 参数,如下图所示

1538298914673

按下图新建一个 Debug 选项

1538299063801

打开 Debugger 选项卡 添加如下参数

-f openocd.cfg

set mem inaccessible-by-default off
set arch riscv:rv32
set remotetimeout 250

如下图所示:

1538299273874

打开 startup 选项卡,去掉主机模式复位命令

1538299521246

然后待程序停止在 main 函数处,然后点击继续运行程序就运行起来了。

1538299736730

运行结果

下载程序之后,连接串口(115200-N-8-1)可以看到RT-Thread的输出信息

 \ | /
- RT -     Thread Operating System
 / | \     3.0.4 build May 30 2018
 2006 - 2018 Copyright by rt-thread team
msh >

4. 驱动支持情况及计划

驱动 支持情况 备注
UART 支持 UART0_RX/TXGPIO 16/17

4.1 IO在板级支持包中的映射情况

IO号 板级包中的定义
GPIO19 LED_GREEN
GPIO21 LED_BLUE
GPIO22 LED_RED

5. 联系人信息

维护人:

6. 参考