SDK 快速入门¶
1 概述¶
本文是 PAN1080 SoC开发的快速入门指引,旨在帮助使用者快速入门PAN1080 SDK的开发,搭建软硬件环境,并编译、运行、调试一个例程。
2 PAN1080 EVB硬件资源介绍¶
3 PAN1080 SDK开发环境确认¶
3.1 PC环境检查¶
目前PAN1080提供的编译工具链只支持Windows 7及以上版本的64位操作系统,请确保您的开发环境满足此要求。
您可以按照如下操作快速确认您的PC是否满足要求:
按快捷键
Win + R
,在弹出的运行对话框中输入dxdiag
并回车:稍等片刻,在弹出的DirectX诊断工具对话框中,可以看到当前PC的系统信息:
3.2 SDK编译工具链环境确认¶
请确保PC上已经正常解压缩了
PAN1080 Development Kit
开发包:PAN1080 Development Kit
最新版本开发包可以从Panchip Wiki下载,地址:https://wiki.panchip.com/ble/pan1080_series/请确认PAN1080 Development Kit开发包中,05_TOOLS目录下正常解压缩了编译工具链,即存在
Toolchain
目录:编译工具链
Toolchain
可以从Panchip官方论坛下载,地址:http://bbs.panchip.com/forum.php?mod=viewthread&tid=7518&page=1&extra=#pid7827进入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 快速编译运行一个简单的例程¶
硬件接线准备,请确认已经将PAN1080 EVB板的:
SWD(P46:SWD_CLK,P47:SWD_DAT,GND:SWD_GND)接口通过JLink连接至PC
UART1(P06:Tx,P07:Rx)接口通过USB转串口模块连接至PC
进入01_SDK/quick_build_samples子目录,这里列出了PAN1080 SDK中提供的所有例程的快速编译运行脚本:
这里以编译运行一个多线程打印消息例程为例,进入
basic
子目录,双击synchronization.bat
脚本,开始build:稍等片刻,看到如下等待用户后续输入的界面,即表示build成功:
Build成功后,可以看到01_SDK目录下生成了build/synchronization_pan1080a_afld_evb子目录,进入build/synchronization_pan1080a_afld_evb/zephyr子目录下,可以看到一些关键的编译输出文件:
zephyr.bin
:编译输出的二进制格式Imagezephyr.dts
:DeviceTree配置zephyr.elf
:编译输出的带调试信息的Imagezephyr.hex
:编译输出的十六进制文本格式Imagezephyr.lst
:反汇编文件zephyr.map
:Map文件
在上一步骤等待界面,输入f并回车,即开始执行JLink烧录过程:
烧录完成后,打开串口工具(如SecureCRT),将波特率设置为921600,看到两个线程交替打印的Log,即表示程序烧录执行成功:
3.4 使用VS Code修改、编译、烧录程序¶
前一阶段执行
synchronization.bat
脚本的 F (Flash) 命令并烧录成功后,会返回操作菜单,这时候再输入o (Open) 命令,即可打开IDE环境VS Code: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
Clean
:删除Build Phase下生成的文件(如.obj/.elf/.hex等),但保留Configuration Phase下生成的文件(如.config文件等)注:关于Configuration Phase和Build Phase的概念,请参考Zephyr官方文档:Build Overview
Pristine
:删除所有Zephyr Build System生成的文件Flash
:烧录ImageErase
:擦除整块Flash(Jlink方式)Menu Config
:在新的CMD窗口下打开Zephyr menuconfig配置菜单ROM Report
:生成ROM使用情况报告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.5 使用VS Code调试程序¶
PAN1080 SDK支持直接在VS Code中调试程序
在VS Code中可以使用一个名为
Cortex-Debug
的插件调试基于ARM Cortex-M的SoC,PAN1080基于ARM Cortex-M0设计,因此我们可以很方便地使用VS Code调试PAN1080的程序;Cortex-Debug
插件已经默认集成到PAN1080 SDK Toolchain中,无需另外安装;
打开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
栏)等。
3.6 Zephyr App Luancher工具¶
前面介绍了第一次编译App时,使用快速编译脚本进行编译、烧录、打开VS Code等操作;实际上,PAN1080-DK还提供了一个名为Zephyr App Launcher的Windows GUI工具,可以代替上述这些操作:
使用方法请参考:Zephyr APP Launcher工具介绍。
5 更多相关文档¶
下面这些文档有助于您进一步了解PAN1080 SoC开发的相关知识:
Zephyr简介:简要介绍Zephyr,以及基于Zephyr的PAN1080 SDK有哪些特性和优势
PAN1080 SDK架构介绍:介绍PAN1080 SDK整体软件框架
SDK开发环境介绍:介绍PAN1080 SDK的基本开发环境
常见问题(FAQs):介绍PAN1080 SDK使用过程中的常见问题及解答