SDK 快速入门¶
1 概述¶
本文是 PAN108x SoC 开发的快速入门指引,旨在帮助使用者快速入门 PAN1080 SDK 的开发,搭建软硬件环境,并编译、运行、调试一个例程。
2 PAN108x EVB 硬件资源介绍¶
在开始使用 PAN1080 SDK 之前,我们建议您先阅读 PAN108x EVB 硬件资源介绍 文档,熟悉 EVB 开发板的基本使用方法。
3 PAN1080 SDK 开发环境确认¶
3.1 PC 环境检查¶
目前 PAN1080 提供的编译工具链只支持 Windows 7 及以上版本的 64 位操作系统,请确保您的开发环境满足此要求。
您可以按照如下操作快速确认您的 PC 是否满足要求:
按快捷键
Win + R
,在弹出的运行对话框中输入dxdiag
并回车:稍等片刻,在弹出的 DirectX 诊断工具对话框中,可以看到当前 PC 的系统信息:
3.2 获取并配置 SDK 及编译工具链环境¶
请确认您已经获取到如下 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
软件。请确保 PC 上已经正常解压缩了
PAN1080 Development Kit
开发包:请确认 PAN1080 Development Kit 开发包中,05_TOOLS 目录下正常解压缩了编译工具链,即存在
Toolchain
目录:进入 01_SDK 目录,双击 PAN1080 SDK CLI 图标,如果弹出如下所示的信息,则说明环境配置成功:
注意:开发环境搭建过程中,请一定确保以下 2 个压缩包都已经下载解压并按照上述步骤配置完成!其中:
PAN1080 Development Kit
压缩包中含有 PAN1080 SDK 的核心文件,包括 OS 内核、蓝牙协议、示例程序等等
Toolchain
压缩包中含有编译调试 PAN1080 SDK 所需的所有工具,包括 GCC-ARM、CMake、Ninja、Python、JLink、VS Code 等等
3.3 Zephyr App Luancher 工具¶
PAN1080-DK 提供了一个名为 Zephyr App Launcher(以下简称为 ZAL)的 Windows GUI 工具,可以用来快速编译烧录 SDK 中的演示例程、或用作打开 IDE(VS Code)的入口工具。
ZAL 工具可执行文件可在 <PAN1080-DK>/05_TOOLS/ZAL-win32-64-vx.y.z
目录中找到:
双击打开,其主界面如下所示:
第一次打开 ZAL 工具,可以看到 Toolchain Path
和 PAN108x-DK Path
两栏背景色被标记成了浅红色,表示路径错误;这里需要分别为它们指定正确的路径,其中 Toolchain Path
即为上一小节中介绍的编译工具链 Toolchain 目录,PAN108x-DK Path
即为 PAN1080 Development Kit (pan1080-dk-vx.y.z) 目录的路径。
正确配置路径后:
路径文本框的背景会由浅红色变为白色
Board / Project / Config 三个下拉菜单会分别列出当前 SDK 中支持的所有 Board、Sample Project 以及 Project 对应的 Config 文件
所有的按钮会变为使能状态
关于 ZAL 工具的详细介绍请参考:Zephyr APP Launcher 工具介绍。
3.4 快速编译运行一个简单的例程¶
硬件接线准备,请确认您已经将 PAN108x EVB 板的:
SWD(P46:SWD_CLK,P47:SWD_DAT,GND:SWD_GND)接口通过 JLink 连接至 PC
UART0(P00:Tx,P01:Rx)接口通过 USB 转串口模块连接至 PC
下面我们以多线程打印消息例程为例,演示如何编译运行一个 Sample App 工程
打开前面已经配置好的 ZAL 工具:
在
Board
下拉菜单中,选择与您当前使用的 EVB 硬件对应的 Board 配置,例如您的 EVB 硬件子板型号为 PAN1080LB5A(64-Pin,1MB Flash),则此处 Board 应选择pan108xxb5_evb
在
Project
下拉菜单中,选择samples_panchip\basic\synchronization
(多线程打印消息例程)在
Config
下拉菜单中,选择默认的prj.conf
即可
点击
Build
按钮,开始编译当前选择的例程,成功后如下所示:点击
Open Output Folder
按钮,即可打开当前例程的编译输出目录:Build 成功后,可以看到 01_SDK 目录下生成了 build/synchronization_prj_pan108xxb5_evb/zephyr 子目录,进入此目录下,可以看到一些关键的编译输出文件:
zephyr.bin
:编译输出的二进制格式 Imagezephyr.dts
:DeviceTree 最终配置zephyr.elf
:编译输出的带调试信息的 Imagezephyr.hex
:编译输出的十六进制文本格式 Imagezephyr.lst
:反汇编文件zephyr.map
:Map 文件
点击
Flash
按钮,开始执行 JLink 烧录:烧录完成后,打开串口工具(如 SecureCRT),将波特率设置为 921600,看到两个线程交替打印的Log,即表示程序烧录执行成功:
3.5 使用 VS Code 修改、编译、烧录程序¶
使用 ZAL 编译成功 Sample 例程后,再点击
Open IDE
按钮,即可打开基于 VS Code 的 IDE 开发环境:VS Code 在第一次打开时会自动做一些初始化配置工作,耐心等待片刻,即可看到 VS Code 主界面;第一次打开某个工程文件,会弹出信任对话框,点击 “Yest, I trust the authors” 按钮,进入主界面:
在左侧 PROJECT 侧边栏中,找到并打开
zephyr/samples_panchip/basic/synchronization/src/main.c
文件,修改第 61 行的打印消息(例如将 Hello World from… 修改为Hello PAN1080 World from…):修改完成后,点击
Terminal
菜单,选择Run Build Task...
(或直接快捷键Ctrl + Shift + B
):各指令含义如下:
Build
:编译/增量编译Rebuild
:重新编译,效果相当于先执行Pristine
,再执行Build
Flash
:烧录 ImageErase
:擦除整块 Flash(Jlink方式)Menu Config
:在新的 CMD 窗口下打开 Zephyr menuconfig 配置菜单ROM Report
:生成 ROM (Flash) 使用情况报告RAM Report
:生成 RAM 使用情况报告Primitive Debug
:在新的 CMD 窗口下打开原始的 JLink-GDB 调试界面
在弹出的
Build Task
菜单中,执行 Build 指令,增量编译修改后的程序;从 VS Code 底部的 TERMINAL 界面中可以看到当前的编译状态:编译成功后,再次点击
Terminal
菜单,选择Run Build Task...
(或直接快捷键Ctrl + Shift + B
),在弹出的Build Task
菜单中,执行 Flash 指令,将修改后的程序烧录至开发板:烧录成功后,查看串口输出,可以看到刚才的修改已经生效:
3.6 使用 VS Code 调试程序¶
PAN1080 SDK 支持直接在 VS Code 中调试程序
在 VS Code 中可以使用一个名为
Cortex-Debug
的插件调试基于 ARM Cortex-M 的 SoC,PAN1080 的 CPU 为 ARM Cortex-M0,因此我们可以实现在 VS Code 中调试 PAN1080 程序Cortex-Debug
插件已经默认集成到 PAN1080 SDK Toolchain 自带的 VS Code 中,无需另外安装
打开 VS Code 左侧的 Debug 侧边栏,可以看到左上角已经有配置好的 Debug 选项:
点击绿色箭头(或按快捷键
F5
),即可进入 Debug 界面: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 插件文档。
打开
main.c
,单击第 61 行行号左边的空白处(鼠标指针变为手型),即可在此处加入断点(红色实心圆点):点击 Debug 功能按钮区的 Continue 按钮(或按快捷键
F5
),程序将执行到断点处并停止:程序暂停后,可以在左侧侧边栏中,查看变量(
VARIABLES
栏)、增加监视变量(WATCH
栏)、查看调用堆栈(CALL STACK
栏)、查看断点信息(BREAKPOINTS
栏)、查看外设寄存器信息(CORTEX PERIPHERALS
栏)或CPU寄存器信息(CORTEX REGISTERS
栏)等。
5 更多相关文档¶
下面这些文档有助于您进一步了解 PAN1080 SoC 开发的相关知识:
Zephyr 简介:简要介绍Zephyr,以及基于Zephyr的PAN1080 SDK有哪些特性和优势
PAN1080 SDK 架构介绍:介绍PAN1080 SDK整体软件框架
SDK 开发环境介绍:介绍PAN1080 SDK的基本开发环境
常见问题(FAQs):介绍PAN1080 SDK使用过程中的常见问题及解答