常见问题(FAQs)¶
Q1:为什么我的PC编译PAN1080 App程序的速度特别慢?¶
一般来说,App的编译速度与您的PC硬件配置有关,但如果相同PC配置条件下,您发现自己的PC编译速度仍然比其他PC慢许多(如10倍以上),那么可能是杀毒软件或带有主动防御功能的安全软件影响(如360安全卫士、360杀毒等),请关闭杀软后再尝试编译。
Q2:除了JLink以外,PAN1080 SDK是否支持其他调试工具?¶
Zephyr Project支持包括JLink、OpenOCD、PyOCD等多个调试工具和软件,但是,Panchip提供的PAN1080 Toolchain默认只包含了JLink,且SDK中提供的所有Board均被默认配置为使用JLink,因此,目前您只能使用JLink进行调试。
当然,PAN1080 SDK是开源的,如果您了解相关知识,也可以参考Zephyr官方文档,根据自己的需要将SDK配置为使用其他工具进行调试。
Q3:为什么我尝试复制编译工具链Toolchain目录到其他位置会报错?¶
这是已知问题,原因是编译工具链Toolchain
目录中一些文件路径比较深,导致Windows文件管理器无法正常复制这些文件。
目前有以下几个workaround方法供您参考:
重新从压缩包中解压
Toolchain
目录到您期待的位置;对
Toolchain
目录执行剪切操作,而不是复制操作;尝试使用命令行进行复制操作;
Q4:为什么我编译SDK中的某些默认例程会出现错误?¶
PAN1080 SDK中的例程本身都是经过测试后发布的,如果您在一个干净的SDK环境中编译某个例程,仍然出现编译错误,则可能是SDK目录名称长度过长导致的。
由于Windows的限制,一个文件完整路径的长度默认不可超过260字节;实际上,此规则会在编译时,由Zephyr CMake Build System检查:如果路径长度超过了250字节,则编译时会出现如下形式的CMake警告:
-- Configuring done
CMake Warning in D:/Panchip-Development-Kits/pan1080-dk-internal/01_SDK/zephyr/drivers/interrupt_controller/CMakeLists.txt:
The object file directory
D:/Panchip-Development-Kits/pan1080-dk-internal/01_SDK/build/bluetooth_peripheral_hr_low_power_xtl32768_pan108xxb5_evb/zephyr/drivers/interrupt_controller/CMakeFiles/drivers__interrupt_controller.dir/./
has 205 characters. The maximum full path to an object file is 250
characters (see CMAKE_OBJECT_PATH_MAX). Object file
D_/Panchip-Development-Kits/pan1080-dk-internal/01_SDK/zephyr/misc/empty_file.c.obj
cannot be safely placed under this directory. The build may not work
correctly.
并大概率随后会伴随编译错误:
D:/Panchip-Development-Kits/pan1080-dk-internal/01_SDK/modules/hal/panchip/panplat/pan1080/bsp/device/Source/system_PANSeries.c:106:1: fatal error: opening dependency file modules\panchip\panplat\pan1080\bsp\CMakeFiles\..__modules__hal__panchip__panplat__pan1080__bsp.dir\device\Source\system_PANSeries.c.obj.d: No such file or directory
106 | }
| ^
compilation terminated.
[98/149] Building C object zephyr/drivers/serial/CMakeFiles/drivers__serial.dir/uart_panchip.c.obj
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: 'D:\Panchip-Development-Kits\pan1080-dk-internal\05_TOOLS\Toolchain\cmake-3.22.0-rc1-windows-x86_64\bin\cmake.EXE' --build 'D:\Panchip-Development-Kits\pan1080-dk-internal\01_SDK\build\bluetooth_peripheral_hr_low_power_xtl32768_pan108xxb5_evb'
如果出现这种CMake警告,请务必缩短SDK路径长度,方法可以是缩短目录本身的名称长度,也可以是减小SDK所在的目录深度,直到此警告消除。
例如,修改前SDK的目录绝对路径为D:/Panchip-Development-Kits/pan1080-dk-v0.3.0/01_SDK/
,那么我们可以尝试将其缩短成这样:D:/PDK/pan1080dk-v0.3.0/01_SDK/
。
注意:有时候,上述的CMake警告出现了,但后续编译仍然可以成功;这给我们造成一种假象:似乎当前编译过程没有问题。但实际上,此次即使编译成功,其编译出来的Image也是存在隐患的,不一定可以正常运行。因此,我们在编译时应当时刻关注编译过程Log,确保无任何CMake警告后,再进行后续的烧录调试。