RISC-V大赛开发套件详解(九):D1 Dock Pro开发板快速上手教程

简介: 通过上文介绍,相信各位开发者已经对D1 Dock Pro开发板各项硬件功能有了更清晰的认识。本期我们将在上期的基础上,着重为大家讲解D1 Dock Pro开发板的开发环境搭建,并基于Helloworld例程演示通过剑池CDK下载代码、编译和运行的过程。

开发板简介

请参考《【D1 Dock Pro开发板】Lichee D1 Dock 开发板用户指南》


02

硬件环境搭建

2.1 硬件连接

Dock开发板供电采用Type-C口进行供电, 见图下方连接。

image.png

  • Type-C接口供电,同时拥有JTAG和UART的功能。剑池CDK(以下简称CDK)烧写和命令行烧写时接这跟线就够了。
  • 扬声器,可以播放声音


2.2 串口配置

按照2.1章节的图连接好JTAG/UART这个线(Type-C)之后,进入我的电脑设备管理器查看,可以发现有串口设备显示出来了。

image.png


2.2.1 串口软件配置

可以使用各种串口客户端软件,选择波特率为115200,这里以SSCOM为例。

image.png

2.3 烧写工具安装

工具下载、安装及烧写请参考全志官方网站。


全志官网:

https://d1.docs.aw-ol.com/study/study_4compile/?spm=a2cl5.25411629.0.0.6a1a180fTvZ5FJ#phoenixsuit


烧写工具下载:

https://www.aw-ol.com/downloads/resources/13?spm=a2cl5.25411629.0.0.6a1a180fTvZ5FJ


打开PhoenixSuit工具可以看到以下工具界面:

image.png

试用全志工具烧写时的硬件连接图如下:

image.png


注意:
用全志工具烧写时,请先拔掉JTAG/UART的Type-C连线,待烧写完毕之后再插上。


03

软件环境搭建

3.1 CDK开发

3.1.1 CDK介绍

基于Lichee D1 dock开发板的应用是利用CDK集成开发环境进行开发的。


关于的CDK的介绍,可以直接前往平头哥芯片开发社区进行查看,网址:

https://occ.t-head.cn/development/series/Index?spm=a2cl5.25411629.0.0.3f5d180fm46vMC&id=3864775351511420928&type=kind&softPlatformType=4


3.1.2 CDK安装包获取

直接前往平头哥芯片开放社区资源下载中心进行下载,其版本>=2.14.0


CDK下载地址:

https://occ.t-head.cn/community/download?spm=a2cl5.25411629.0.0.3f5d180fm46vMC&id=575997419775328256


3.1.3 CDK安装

解压缩直接双击setup.exe进行安装,按照安装提示逐步点击完整即可。


3.2 命令行开发

3.2.1 yoctools介绍

yoctools是 YoC 软件开发平台的命令行编译系统,通过 YocTools 工具建立 YoC 开发环境,支持 YoC 组件管理、程序编译、烧录等功能。YocTools 支持 Git 来获取 YoC 组件的代码,只是为了让您在 YoC 环境中更轻松地使用 Git,每个组件都是一个独立的 Git仓库,仍然支持使用 Git 命令来维护代码的版本管理。


3.2.2 yoctools安装

执行以下命令安装yoctools, 其版本需要>=2.0.21

docker-ubuntu18:~$ sudo pip install yoctools -U
docker-ubuntu18:~$ yoc -V
2.0.21


3.2.3 toolchain安装

使用yoc命令进行安装

lst@lst:~ > sudo yoc toolchain --riscv
Start to download toolchain: riscv64-unknown-elf 
 100.00% [##################################################] Speed: 5.069MB/S
Start install, wait half a minute please.
Congratulations!

工具链会安装到/usr/local/thead/riscv64-unknown-elf目录下。

lst@lst:~ > ls /usr/local/thead/riscv64-unknown-elf
bin  include  lib  lib64  libexec  riscv64-unknown-elf  share
lst@lst:~ > ls /usr/local/thead/riscv64-unknown-elf/bin
riscv64-unknown-elf-addr2line   riscv64-unknown-elf-gcc-ar         riscv64-unknown-elf-ld.bfd
riscv64-unknown-elf-ar          riscv64-unknown-elf-gcc-nm         riscv64-unknown-elf-lto-dump   
riscv64-unknown-elf-as          riscv64-unknown-elf-gcc-ranlib     riscv64-unknown-elf-nm
riscv64-unknown-elf-c++         riscv64-unknown-elf-gcov           riscv64-unknown-elf-objcopy    
riscv64-unknown-elf-c++filt     riscv64-unknown-elf-gcov-dump      riscv64-unknown-elf-objdump    
riscv64-unknown-elf-cpp         riscv64-unknown-elf-gcov-tool      riscv64-unknown-elf-ranlib     
riscv64-unknown-elf-elfedit     riscv64-unknown-elf-gdb            riscv64-unknown-elf-readelf    
riscv64-unknown-elf-g++         riscv64-unknown-elf-gdb-add-index  riscv64-unknown-elf-size       
riscv64-unknown-elf-gcc         riscv64-unknown-elf-gprof          riscv64-unknown-elf-strings    
riscv64-unknown-elf-gcc-10.2.0  riscv64-unknown-elf-ld             riscv64-unknown-elf-strip      
lst@lst:~ >

3.2.4 Debugger Server

当需要在命令行开发模式下通过JTAG烧写或者调试的时候需要先安装T-Head Debugger Server工具。工具的安装包和使用说明文档在平头哥芯片开放社区资源下载中心,请使用最新的版本。


工具下载网址:

https://occ.t-head.cn/community/download?spm=a2cl5.25411629.0.0.3f5d180fm46vMC&id=616215132330000384


04

Helloworld示例演示

4.1 CDK演示

4.1.1 示例获取

双击打开CDK,点击工具栏最右侧的平头哥图标。点击新建工程按钮。

image.png

在搜索栏里输入helloworld, 在结果里选择helloworld,点击右侧的创建工程,版本选择v7.5.1。

image.png

4.1.2 编译

右键点击helloworld工程,选择build,进行编译,直到结束。

image.png

编译完成后,可以在工程目录下out文件夹里找到yoc_rtos_8M.img文件。


注意:编译的速度依赖于WINDOWS下是否有安装杀毒软件或者监控软件,比如杀毒卫士360,卡巴斯基,赛门铁克等。通过尝试删除或停止该类软件运行,可以提高编译速度。


4.1.3 下载

  • 通过CDK烧写

先连接好硬件JTAG。然后点击红色框框处的按钮开始烧写。

640.png

640 (1).png

烧写完毕之后,按复位键即可启动。


  • 通过全志工具烧写

在没有JTAG的情况下,只能通过全志的PhoenixSuit工具进行烧写。将编译出来的yoc_rtos_8M.img文件选中。

image.png

  • 按住FEL按钮,重新上电后,重启后固件开始烧录,直到完成。
  • 如果当前镜像已经支持xfex模式烧写(通过命令行help命令查看是否支持xfex命令),直接在串口命令行执行“xfex"命令,再执行"reboot"命令进行重启,重启后固件自动开始烧录,直到完成。


4.2 命令行演示

4.2.1 示例获取

docker-ubuntu18:~$ mkdir test
docker-ubuntu18:~$ cd test
docker-ubuntu18:~$ yoc init
docker-ubuntu18:~$ yoc install sdk_app_d1 -b v7.5.1
Start to install components...
sdk_app_d1      (v7.5.1), clone https://gitee.com/yocop/sdk_app_d1.git ...
…… (省略) ……
d1_evb          (v7.5.1), clone https://gitee.com/yocop/d1_evb.git ...
chip_d1         (v7.5.1), clone https://gitee.com/yocop/chip_d1.git ...
Download components finish.
docker-ubuntu18:~/test$ ls
boards  components  solutions

4.2.2 编译

进入helloworld目录执行make进行编译,直到完成。

docker-ubuntu18:~/test/solutions$ cd helloworld
docker-ubuntu18:~/test/solutions/helloworld$ make
…… (省略) ……
LINK out/helloworld/yoc.elf
Generating yoc.bin
riscv64-unknown-elf-objdump -d out/helloworld/yoc.elf > yoc.asm
INSTALL yoc.elf
scons: done building targets.
YoC SDK Done
[INFO] Create bin files
[2022-02-23 16:05:31] Start to sign images with key:def_otp
[2022-02-23 16:05:31] Sign [prim] with [def_otp]
[2022-02-23 16:05:31] rsa verify ok....
[2022-02-23 16:05:31] Sign prim ok.
----------------------------------------------------------------
               boot0, 0, 0, 0x00000000, 0x0000c000, 0x0000c000, boot0
                 gpt, 0, 0, 0x0000c000, 0x00004000, 0x00010000, gpt
                boot, 0, 0, 0x00010000, 0x00025000, 0x00035000, boot
                imtb, 0, 0, 0x00035000, 0x00002000, 0x00037000, imtb
                prim, 1, 0, 0x00037000, 0x00360000, 0x00397000, prim
                 lfs, 0, 0, 0x00397000, 0x00452000, 0x007e9000
                misc, 0, 0, 0x007e9000, 0x00013000, 0x007fc000
                  kv, 0, 0, 0x007fc000, 0x00004000, 0x00800000
   boot0,    49152 bytes
     gpt,     8192 bytes
    boot,   143896 bytes
    prim,   131228 bytes
    imtb,     8192 bytes
----------------------------------------------------------------
Create yoc_rtos_8M.img in out directory Success!

4.2.3 烧写

可以通过4.1.3的下载方式进行烧录,也可以通过命令行进行烧录。


命令行烧录之前要先连接好T-HeadDebugServer。然后在终端输入make flashall命令:

lh@lh:~/.../solutions/helloworld > make flashall
[2022-02-15 17:52:00] I am RISC-V
Program partition: boot0        address: 0x0, size 49152 byte
erasing...
program 00x0000c000, 100%
Program partition: gpt          address: 0xc000, size 8192 byte
erasing...
program 00x0000e000, 100%
Program partition: boot         address: 0x10000, size 142980 byte
erasing...
program 0x00032000, 100%
Program partition: imtb         address: 0x35000, size 8192 byte
erasing...
program 00x00037000, 100%
Program partition: prim         address: 0x37000, size 131072 byte
erasing...
program 00x00057000, 100%
lh@lh:~/.../solutions/helloworld >


4.3 运行

重新上电或按下RST键,系统启动,串口会有以下打印信息,表示系统运行成功。


[ (cli-uart)#   0.180]<I>[app]<app_task>app start........
[   0.190]<I>[app]<app_task>hello world
[   3.190]<I>[app]<app_task>hello world
[   6.190]<I>[app]<app_task>hello world
[   9.190]<I>[app]<app_task>hello world
[  12.190]<I>[app]<app_task>hello world
[  15.190]<I>[app]<app_task>hello world
[  18.190]<I>[app]<app_task>hello world
[  21.190]<I>[app]<app_task>hello world


总结

本文介绍了DOCK开发板的开发环境及软硬件搭建,再通过一个helloworld示例演示了如下载代码, 编译,下载和运行。后续我们将为大家介绍D1 Dock Pro开发板的Button按键示例,讲解按键的简单触发机制。欢迎大家继续关注。

相关文章
|
算法 物联网 开发工具
开放下载!《平头哥剑池CDK快速上手指南》
自定义自己平台的 SDK,平头哥芯片开放社区第三本系列电子书《平头哥剑池CDK快速上手指南》现已开放下载,立即下载阅读吧!
29799 0
开放下载!《平头哥剑池CDK快速上手指南》
|
编译器 Linux
手把手教你从零开始搭建友善之臂ARM-tiny4412开发环境
手把手教你从零开始搭建友善之臂ARM-tiny4412开发环境
475 0
|
Ubuntu 物联网 Linux
手把手移植物联网项目到arm开发板笔记(上)
手把手移植物联网项目到arm开发板笔记
403 0
|
Ubuntu 物联网 编译器
手把手移植物联网项目到arm开发板笔记(下)
手把手移植物联网项目到arm开发板笔记(下)
239 0
|
开发工具 芯片 开发者
|
IDE Java 编译器
手把手教你搭建织女星开发板RISC-V开发环境
手把手教你搭建织女星开发板RISC-V开发环境
461 0
手把手教你搭建织女星开发板RISC-V开发环境
|
存储 人工智能 JavaScript
RISC-V大赛开发套件详解(五):D1哪吒开发板Haas-UI视频播放
RISC-V大赛开发套件详解(五):D1哪吒开发板Haas-UI视频播放
530 1
RISC-V大赛开发套件详解(五):D1哪吒开发板Haas-UI视频播放
|
存储 Linux 测试技术
RISC-V大赛开发套件详解(八):D1 Dock Pro开发板用户指南
通过上期介绍,相信各位开发者已经对D1 Dock Pro开发板有了初步的认识。本期我们将在此基础上,为大家带来D1 Dock Pro开发板用户指南,讲解说明开发板规格和各个接口,最后带大家上手搭建开发环境。
625 0
RISC-V大赛开发套件详解(八):D1 Dock Pro开发板用户指南
|
Linux 开发者 芯片
RISC-V大赛开发套件详解(七):D1 Dock Pro开发板介绍
Sipeed D1 Dock Pro开发板是2022“玄铁杯”RISC-V应用创新大赛为广大参赛者准备的另一RISC-V开发套件。目前,广大参赛者已经进入上手开发阶段。为了让选择这一开发套件的开发者能快速上手开发,本期内容开始我们将为大家分享D1 Dock Pro开发板的上手教程。本文主要介绍的是该开发板的性能特点,旨在带各位开发者初步了解该RISC-V开发套件。
716 0
RISC-V大赛开发套件详解(七):D1 Dock Pro开发板介绍
|
JavaScript 网络协议 Linux
RISC-V大赛开发套件详解(六):D1哪吒开发板HaaS-UI FOTA 升级
本期内容是HaaS-UI实战教学部分的最后一篇,同时也是D1 哪吒开发板上手教学的完结篇。我们将手把手教大家在D1 哪吒开发板上实现HaaS-UI的FOTA升级功能。
496 0
RISC-V大赛开发套件详解(六):D1哪吒开发板HaaS-UI FOTA 升级