Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wwsmg1
rt-thread
提交
a87e33db
R
rt-thread
项目概览
wwsmg1
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a87e33db
编写于
4月 26, 2021
作者:
X
xiaoxiaohuixxh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[bsp/juicevm] ADD README.md
上级
d64a11bb
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
164 addition
and
2 deletion
+164
-2
bsp/juicevm/README.md
bsp/juicevm/README.md
+162
-0
bsp/juicevm/rtconfig.py
bsp/juicevm/rtconfig.py
+2
-2
bsp/juicevm/static/juicevm_rtt.jpg
bsp/juicevm/static/juicevm_rtt.jpg
+0
-0
未找到文件。
bsp/juicevm/README.md
0 → 100644
浏览文件 @
a87e33db
# JuiceVm 虚拟机 BSP 说明
标签: Risc-V 64bit ima、JuiceVm
---
## 简介
本文档为 JuiceVm 开发团队为 JuiceVm 虚拟机提供的 BSP (板级支持包) 说明。
主要内容如下:
-
开发板资源介绍
-
BSP 快速上手
-
进阶使用方法
通过阅读快速上手章节开发者可以快速地上手该 BSP,将 RT-Thread 运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用 RT-Thread 驱动更多板载资源。
## 虚拟机介绍
JuiceVm 虚拟机是 juice 开发的一款 Risc-V 64bit ima 虚拟机,Risc-V 64bit 虚拟机界面如下图所示:
![
开发板外观
](
static/juicevm_rtt.jpg
)
该虚拟机常用
**资源**
如下:
-
MCU:Risc-V 64bit ima,300MB RAM,支持M-MODE,S-MODE,
-
常用外设
-
UART0
-
常用接口:UART
-
调试接口: 标准 GDB 【TODO】
更多详细信息请参考【Juice】
[
JuiceVm 虚拟机
](
https://whycan.com/t_5844.html
)
。
## 外设支持
本 BSP 目前对外设的支持情况如下:
|
**片上外设**
|
**支持情况**
|
**备注**
|
| :----------------- | :----------: | :-----------------------------------|
| GPIO | 暂不支持 | 即将支持 |
| MMU(SV39) | 暂不支持 | 即将支持 |
| UART | 支持 | UART0 |
| SDIO | 暂不支持 | 即将支持 |
| RTC | 暂不支持 | 即将支持 |
| PWM | 暂不支持 | 即将支持 |
| USB Device | 暂不支持 | 即将支持 |
| USB Host | 暂不支持 | 即将支持 |
## 使用说明
使用说明分为如下两个章节:
-
快速上手
本章节是为刚接触 RT-Thread 的新手准备的使用说明,遵循简单的步骤即可将 RT-Thread 操作系统运行在该开发板上,看到实验效果 。
-
进阶使用
本章节是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
### 快速上手
本 BSP 为开发者提供 GCC 开发环境。下面以 GCC 开发环境为例,介绍如何将系统运行起来。
#### 编译下载
##### toolchain 下载
-
到 xpack-dev-tools 下载
[
点击跳转
](
https://github.com/xpack-dev-tools/riscv-none-embed-gcc-xpack/releases/tag/v8.3.0-2.1
)
```
wget https://github.com/xpack-dev-tools/riscv-none-embed-gcc-xpack/releases/download/v8.3.0-2.1/xpack-riscv-none-embed-gcc-8.3.0-2.1-linux-x64.tar.gz
```
-
解压到/opt目录下
```
tar vxf xpack-riscv-none-embed-gcc-8.3.0-2.1-linux-x64.tar.gz -C /opt
```
-
到rt-thread/bsp/juicevm目录下执行
```
scons
```
-
下载 JuiceVm
浏览器打开:
https://whycan.com/files/members/1390/juice_vm_release_for_Linux_57ba985a.zip
-
运行固件
./juice_vm_for_Linux.out -a -g ./rtthread.bin
#### 运行结果
在console可以看到 RT-Thread 的输出信息:
```
c
global_vm_log_init
output_mode_sel
:
0
JUICE_VM_LOG_MAX_NUM
:
600
gg
,
ggg
,
gg
,
a8a
,
,
gggg
,
,
ggggggg
,
,
ggg
,
,
g
,
ggg
,
,
ggg
,
_
,
ggg
,
dP8dP
Y8a
88
,
8
8
,
,
88
Y8b
,
dP
Y8dP
Y8a
,
8
dP
Y8dP
Y88P
Y8b
dP
YYb
,
`
88
88
d8
8
b
d8
`
Yd8
'
a
YYb
,
`
88
d8Yb
,
`
88
'
`
88
'
`
88
,
8
`
8
`
88
88
88
88
d8
'
8
b
d88
Y8P
'`
88
88
`
88
88
88
I8
Yb
88
88
88
8
,
8
I
Y88P
`
8
baaaa
88
88
88
88
88
`
8
b
,
`
8
,
88
88
Y8
8
I8
'
,
d8P
I8
8
I
88
88
88
`
Y88888
88
88
`
8
,
,
8
d8
d8
`
8
,
,
8
'
88
88
88
Y8
88
888888
8
,
8
Y8
,
Y8
,
Y8
,
,
8
P
88
88
88
,
88
,
Y8b
,
____
,
d88
`
8
b
,
,
d8b
,
`
Yba
,,
_____
`
Yba
,,
_____
,
Yb
,
_
,
dP
88
88
Y8
,
,
ad88888
Y888888P
Y8
Y88P
Y8
`
Y8888888
`
Y8888888
Y8P
88
88
`
Y8
,
dP
'
Yb
,
8
'
I8
,
8
'
I8
I8
,
,
8
'
`
Y8
,
___
,
d8
'
Y888P
email
:
juicemail
@
163
.
com
version
:
57
ba985a
57
ba985a
Fri
,
23
Apr
2021
17
:
22
:
20
+
0800
xiaoxiaohuixxh
feat
(
Rt
-
thread
)
:
uart
port
pass
firm_addr
:
.
/
rtthread
.
bin
fd
=
3
file_size
=
44872
interrupt_vertor_register_mag_init
rv_csr_register_init
csr_addr_misa
8000000000040101
csr_addr_mvendorid
0000000000000000
csr_addr_marchid
0000000000000000
csr_addr_mimpid
0000000000000000
csr_addr_mhartid
0000000000000000
rv_peripheral_device_init
[
rv64_sim
][
dev
][
mmu
]
rv
.
c
(
5593
)
:
rv_peripheral_device_mmu_init
,
Sv39
mode
support
only
[
rv64_sim
][
dev
][
mtime
]
rv
.
c
(
5252
)
:
rv_peripheral_device_mtime_init
[
rv64_sim
][
dev
][
mtime
]
rv
.
c
(
5271
)
:
pdev_mtime_irq_info
0x7f334d2d0910
92
c00003
92
c00007
[
rv64_sim
][
dev
][
mtime
]
rv
.
c
(
5277
)
:
pdev_mtime_irq_info_smode
0x7f334d2d0900
92
c00003
92
c00007
[
rv64_sim
][
dev
][
uart0
]
rv
.
c
(
5061
)
:
rv_peripheral_device_uart0_init
[
rv64_sim
][
dev
][
uart0
]
rv
.
c
(
5077
)
:
pdev_uart0_irq_info
0x7f334d2d08f0
rv
sim
start
...
loading
cpu
run
...
heap
:
[
0x8000cb60
-
0x92c00000
]
\
|
/
-
RT
-
Thread
Operating
System
/
|
\
4
.
0
.
3
build
Apr
26
2021
2006
-
2021
Copyright
by
rt
-
thread
team
Hello
RT
-
Thread
!
msh
>
```
### 进阶使用
此 BSP 默认只开启了 UART0 的功能和直接运行功能
如果需使用更多功能,可以执行
```
./juice_vm_for_Linux.out
```
查看相关帮助信息开启调试和实时汇编输出功能
## 注意事项
编译参数请使用rv64ima,暂不支持Risc-V的c模块
## 维护人信息
-
[
Juice
](
https://github.com/xiaoxiaohuixxh
)
-
[
邮箱
](
juicemail@163.com
)
## 参考资料
*
[
RT-Thread 文档中心
](
https://www.rt-thread.org/document/site/
)
*
[
JuiceVm 虚拟机更新发布页
](
https://whycan.com/t_5844.html
)
bsp/juicevm/rtconfig.py
浏览文件 @
a87e33db
...
...
@@ -15,7 +15,7 @@ if os.getenv('RTT_CC'):
if
CROSS_TOOL
==
'gcc'
:
PLATFORM
=
'gcc'
EXEC_PATH
=
r
'/opt/
riscv64-unknown-elf-gcc-8.3.0-2020.04.0-x86_64-linux-ubuntu14
/bin'
EXEC_PATH
=
r
'/opt/
xpack-riscv-none-embed-gcc-8.3.0-2.1
/bin'
else
:
print
(
'Please make sure your toolchains is GNU GCC!'
)
exit
(
0
)
...
...
@@ -27,7 +27,7 @@ BUILD = 'debug'
if
PLATFORM
==
'gcc'
:
# toolchains
PREFIX
=
'riscv
64-unknown-elf
-'
PREFIX
=
'riscv
-none-embed
-'
CC
=
PREFIX
+
'gcc'
CXX
=
PREFIX
+
'g++'
AS
=
PREFIX
+
'gcc'
...
...
bsp/juicevm/static/juicevm_rtt.jpg
0 → 100644
浏览文件 @
a87e33db
155.0 KB
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录