开发环境搭建
根据开发用户群不同,YoC开发支持Linux命令行开发和Windows CDK集成开发环境开发。
Windows开发环境搭建
Windows下的开发环境搭建只需要从CDK下载路径安装CDK即可,推荐使用最新的版本。
Linux开发环境搭建
在Linux开发环境下使用yoctools进行芯片开发移植,需要安装yoctools开发工具,利用yoctools可以方便的进行项目组件化管理。
yoctools版本说明
YoC版本 | yoctools版本 | 备注 |
---|---|---|
7.3 | 1.xx.xx | - |
7.4 | 2.0.0 | Manifest管理组件清单 |
之后版本 | >=2.0.0 | Manifest管理组件清单 |
yoctools命令快速上手
本章节介绍如何在Linux开发环境下使用yoc命令创键并且编译一个工程。
安装Linux基础环境
以ubuntu 16.04 版本为基础。
如果用户还没有 Linux 环境,可以在 windows 下安装一个virtualbox ubuntu虚拟机,也可以安装 WSL。
安装 YocTools
通过 pip 命令来安装 yoctools 到你的系统中,建议使用 python2 作为默认 python。
sudo pip install yoctools
YocTools具体使用说明请见YocTools
创建工作空间
通过 init
命令来初始YoC 的开发环境:
mkdir yoc_workspace
cd yoc_workspace
yoc init
注意:”yoc init“命令默认使用master分支,如需要拉取其他分支可以使用"yoc init -b v7.4.0"
执行完毕之后,如果在yoc_workspace
目录生成一个隐藏的.yoc
文件,说明初始化成功了。
创建示例工程
使用install
命令下载helloworld
solution,命令如下
yoc install helloworld
注意:”yoc install helloworld“命令默认使用master分支,如需要拉取其他分支可以使用"yoc install helloworld -b v7.4.0"
下载 helloworld
示例工程,以及该所依赖的组件,每一个组件都对应一个 git 仓库,通过 git clone
命令将远程代码库中代码复制到本地目录。下载完组件后,当前的工作目录结构如下:
├── boards
├── components
└── solutions/helloworld/
工程编译
在工程里执行make
命令,实现工程的编译:
cd solutions/helloworld
make
默认开发板为盘古C2,如需更换开发板,则在make
后增加BOARD
,比如更改为cb5654
,
make BOARD=cb5654
如果您是第一次使用 yoctools , make
命令会自动下载对应的编译工具链,并安装到系统中,您将看以下信息:
scons: Reading SConscript files ...
100.00% [##################################################] Speed: 6.787MB/S
scons: done reading SConscript files.
scons: Building targets ...
编译完成之后目录结构如下:
ls
app generated Makefile out package.yaml README.md SConstruct yoc.elf yoc_sdk
固件烧写
生成的固件为generated/data/prim
,固件包为generated/images.zip
,可以在当前目录通过以下命令烧写固件包到开发板中:
make flashall
注意:固件烧写需要有Flash算法文件支持,如何制作Flash算法文件请参考Flash算法适配
调试
概述
GDB 是 GNU 开源组织发布的一个强大的程序调试工具,一般来说,主要包含下面四个方面的功能:
- 启动程序,可以按照用户自定义的要求随心所欲的运行程序。
- 可让被调试的程序在所指定的断点处停住。
- 当程序被停住时,可以检查此时程序中所发生的事。
- 动态的改变程序的执行环境。
下载并运行debug_server
从平头哥官网下载并安装debug server
安装成功后,保证开发板与PC正确连接,成功连接如下图所示
常用命令
命令 | 介绍 | 示例 |
---|---|---|
file | 读取文件 | file yoc.elf |
target | 连接目标调试系统 | target remote 192.168.56.1:1025 |
break | 设置断点 | b voice_cp.c:461 |
step | 单步执行 | si |
list | 查看源代码 | list 或 l |
查看数据 | p g_tick_count |
详细介绍GDB
如遇问题,详见FAQ