当前文档版本为 v0.4.0,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

SDK 快速入门

1 概述

本文是 PAN1080 SoC 开发的快速入门指引,旨在帮助使用者快速入门PAN1080 SDK的开发,搭建软硬件环境,并编译、运行、调试一个例程。

2 PAN1080 EVB硬件资源介绍

请参考:PAN1080 EVB硬件资源介绍

3 PAN1080 SDK开发环境确认

3.1 PC环境检查

目前PAN1080提供的编译工具链只支持Windows 7及以上版本的64位操作系统,请确保您的开发环境满足此要求。

您可以按照如下操作快速确认您的PC是否满足要求:

  1. 按快捷键Win + R,在弹出的运行对话框中输入dxdiag并回车:

    image

    运行dxdiag

  2. 稍等片刻,在弹出的DirectX诊断工具对话框中,可以看到当前PC的系统信息:

    image

    DirectX诊断工具对话框

3.2 获取并配置SDK及编译工具链环境

  1. 请确认您已经获取到如下2个必要的压缩包:

    • pan1080-dk-v<x>.<y>.<z>.zip:PAN1080 Development Kit 开发套件

      最新版本开发套件可以从这里下载:PAN1080 Development Kit

    • SDK-Toolchain-v<a>.<b>.<c>.7z:PAN1080 SDK 编译工具链

      最新版本编译工具链可以从这里下载:PAN1080 SDK Toolchian

    注意:鉴于编译工具链的Size很大,我们使用了压缩率更高的7z格式对其进行压缩,因此为确保万无一失,我们建议您使用免费开源的7-Zip软件对其进行解压缩(使用其他解压工具可能会失败)。您可以直接从7-Zip官网下载7-Zip软件。

  2. 请确保PC上已经正常解压缩了PAN1080 Development Kit开发包:

    image

    PAN1080 DK 开发包主目录结构

  3. 请确认PAN1080 Development Kit开发包中,05_TOOLS目录下正常解压缩了编译工具链,即存在Toolchain目录:

    image

    确认Toolchain目录

  4. 进入01_SDK目录,双击 PAN1080 SDK CLI 图标,如果弹出如下所示的信息,则说明环境配置成功:

    image

    SDK开发环境确认OK

注意:开发环境搭建过程中,请一定确保以下2个压缩包都已经下载解压并按照上述步骤配置完成!其中,

  1. PAN1080 Development Kit压缩包中含有PAN1080 SDK的核心文件,包括OS内核、蓝牙协议、示例程序等等;

  2. Toolchain压缩包中含有编译调试PAN1080 SDK所需的所有工具,包括GCC-ARM、CMake、Ninja、Python、JLink、VS Code等等。

3.3 快速编译运行一个简单的例程

  1. 硬件接线准备,请确认已经将PAN1080 EVB板的:

    1. SWD(P46:SWD_CLK,P47:SWD_DAT,GND:SWD_GND)接口通过JLink连接至PC

    2. UART1(P06:Tx,P07:Rx)接口通过USB转串口模块连接至PC

  2. 进入01_SDK/quick_build_samples子目录,这里列出了PAN1080 SDK中提供的所有例程的快速编译运行脚本:

    image

    例程快速编译脚本目录

  3. 这里以编译运行一个多线程打印消息例程为例,进入basic子目录,双击synchronization.bat脚本,开始build:

    image

    快速编译 Synchronization 例程

  4. 稍等片刻,看到如下等待用户后续输入的界面,即表示build成功:

    image

    Synchronization 例程编译成功

    Build成功后,可以看到01_SDK目录下生成了build/synchronization_pan1080a_afld_evb子目录,进入build/synchronization_pan1080a_afld_evb/zephyr子目录下,可以看到一些关键的编译输出文件:

    • zephyr.bin:编译输出的二进制格式Image

    • zephyr.dts:DeviceTree配置

    • zephyr.elf:编译输出的带调试信息的Image

    • zephyr.hex:编译输出的十六进制文本格式Image

    • zephyr.lst:反汇编文件

    • zephyr.map:Map文件

  5. 在上一步骤等待界面,输入f并回车,即开始执行JLink烧录过程:

    image

    使用快速编译脚本烧录 Synchronization 例程

  6. 烧录完成后,打开串口工具(如SecureCRT),将波特率设置为921600,看到两个线程交替打印的Log,即表示程序烧录执行成功:

    image

    成功运行 Synchronization 例程

3.4 使用VS Code修改、编译、烧录程序

  1. 前一阶段执行synchronization.bat脚本的 F (Flash) 命令并烧录成功后,会返回操作菜单,这时候再输入o (Open) 命令,即可打开IDE环境VS Code:

    image

    从快速编译脚本中打开 VS Code 开发环境

  2. VS Code在第一次打开时会自动做一些初始化配置工作,打开速度会慢一些;稍等片刻,即可看到VS Code界面;第一次打开某个工程文件,会弹出信任对话框,点击 “Yest, I trust the authors” 按钮,进入主界面:

    image

    成功打开 VS Code

  3. 在左侧PROJECT侧边栏中,找到并打开zephyr/samples_panchip/basic/synchronization/src/main.c文件,修改第61行的打印消息(例如将Hello World from… 修改为Hello PAN1080 World from…):

    image

    使用 VS Code 修改例程代码

  4. 修改完成后,点击Terminal菜单,选择Run Build Task...(或直接快捷键Ctrl + Shift + B):

    image

    VS Code “Run Build Task” 菜单

    各指令含义如下:

    1. Build:编译/增量编译

    2. Rebuild:重新编译,效果相当于先执行Pristine,再执行Build

    3. Clean:删除Build Phase下生成的文件(如.obj/.elf/.hex等),但保留Configuration Phase下生成的文件(如.config文件等)

      注:关于Configuration PhaseBuild Phase的概念,请参考Zephyr官方文档:Build Overview

    4. Pristine:删除所有Zephyr Build System生成的文件

    5. Flash:烧录Image

    6. Erase:擦除整块Flash(Jlink方式)

    7. Menu Config:在新的CMD窗口下打开Zephyr menuconfig配置菜单

    8. ROM Report:生成ROM使用情况报告

    9. RAM Report:生成RAM使用情况报告

    10. Primitive Debug:在新的CMD窗口下打开原始的JLink-GDB调试界面

  5. 在弹出的Build Task菜单中,执行Build,增量编译修改后的程序;从VS Code的底部的TERMINAL界面中可以看到当前的编译状态:

    image

    VS Code “Build” 指令

  6. 编译成功后,再次点击Terminal菜单,选择Run Build Task...(或直接快捷键Ctrl + Shift + B),在弹出的Build Task菜单中,执行Flash,将修改后的程序烧录至开发板:

    image

    VS Code “Flash” 指令

  7. 烧录成功后,查看串口输出,可以看到刚才的修改已经生效:

    image

    成功运行修改后的 Synchronization 例程

3.5 使用VS Code调试程序

  1. PAN1080 SDK支持直接在VS Code中调试程序

    1. 在VS Code中可以使用一个名为Cortex-Debug的插件调试基于ARM Cortex-M的SoC,PAN1080基于ARM Cortex-M0设计,因此我们可以很方便地使用VS Code调试PAN1080的程序;

    2. Cortex-Debug插件已经默认集成到PAN1080 SDK Toolchain中,无需另外安装;

  2. 打开VS Code左侧的Debug侧边栏,即可看到左上角已经有配置好的Debug选项:

    image

    VS Code 调试界面

  3. 点击绿色箭头(或按快捷键F5),即可进入Debug界面:

    image

    使用 VS Code 调试程序

    基于Cortex-Debug插件的Debug功能包括:

    • 单步调试

    • 添加断点

    • 查看变量

    • 查看函数调用关系

    • 查看Core Register

    • 查看某函数的反汇编代码:先按快捷键Ctrl + Shift + P,然后输入指令Cortex-Debug: View Disassembly (Function)

    • 查看某段RAM的内容:先按快捷键Ctrl + Shift + P,然后输入指令Cortex-Debug: View Memory

    更多Debug功能介绍可以参考VS Code Debug官方文档,以及Cortex Debug插件文档。

  4. 打开main.c,单击第61行行号左边的空白处(鼠标指针变为手型),即可在此处加入断点(红色实心圆点):

    image

    VS Code 新增断点

  5. 点击Debug功能按钮区的Continue按钮(或按快捷键F5),程序将执行到断点处并停止:

    image

    VS Code 调试中…

    程序暂停后,可以在左侧侧边栏中,查看变量(VARIABLES栏)、增加监视变量(WATCH栏)、查看调用堆栈(CALL STACK栏)、查看断点信息(BREAKPOINTS栏)、查看外设寄存器信息(CORTEX PERIPHERALS栏)或CPU寄存器信息(CORTEX REGISTERS栏)等。

3.6 Zephyr App Luancher工具

前面介绍了第一次编译App时,使用快速编译脚本进行编译、烧录、打开VS Code等操作;实际上,PAN1080-DK还提供了一个名为Zephyr App Launcher的Windows GUI工具,可以代替上述这些操作:

image

ZAL工具使用演示界面

使用方法请参考:Zephyr APP Launcher工具介绍

4 创建自己的App工程

请参考:

  1. 快速上手SoC App开发

  2. BLE App开发指南

5 更多相关文档

下面这些文档有助于您进一步了解PAN1080 SoC开发的相关知识:

  1. Zephyr简介:简要介绍Zephyr,以及基于Zephyr的PAN1080 SDK有哪些特性和优势

  2. PAN1080 SDK架构介绍:介绍PAN1080 SDK整体软件框架

  3. SDK开发环境介绍:介绍PAN1080 SDK的基本开发环境

  4. 常见问题(FAQs):介绍PAN1080 SDK使用过程中的常见问题及解答