你好,
对于现有项目的轻微重新设计,我们希望从DA14680切换到DA14682。首先,我尝试使用sdk1.0.10从现有的SmartSnippets Studio(v1.6.3.981)编程硬件。由于在尝试编程时收到错误,我下载了较新的SDK(1.0.14)并导入了相应的脚本。我第一次尝试编程时,它显示了设备选择,在选择了正确的处理器之后,我就可以对设备进行编程了。但是,在调试项目时,我总是陷入重置处理程序中。
当试图编程和调试旧设备(DA14680)时,我无法选择设备。脚本“program\u qspi”_配置.bat'可以在脚本项目下找到,但它不会出现在外部工具下。
我还尝试使用更新版本的SmartSnippets Studio(v2.0.14.1748),但无法在此处编译项目。
我的问题是:
-我是否需要更新的SDK来编程和调试DA14682?
-如何获得编程脚本的设备选择?
-我是否需要更新版本的SmartSnippets才能与DA14682一起使用?
谢谢您,
冈瑟施瓦布
设备:
嗨,格施瓦布,
对于DA1468x产品系列DA1468x SDK1.0.14.1081型和适用于Windows操作系统的SmartSnippets Studio V1.6.3建议使用。
您是否在工作区中导入了python脚本?有没有可能分享一些截图,这样我就可以了解你的配置?
你也可以跟着UM-B-047:DA1468x开发工具包入门.
谢谢,下午好
你好,
谢谢你的回答!
我附上截图显示IDE版本和SDK。
我只导入了“脚本”,而不是“python脚本”。现在确实出现了必要的脚本。但是,在尝试对处理器进行编程时,我收到一条消息:JLink路径中的文件找不到。我在那里什么都没变。如何设置JLink路径?
谢谢,
冈瑟
嗨,格施瓦布,
您有定制板吗,或者您正在使用我们的DK?
你能重新安装这个工具并在一个干净的SDK目录下试用吗?请同时删除.metadata文件夹。
谢谢,下午好
你好,
谢谢你的回复。
与此同时,我重新安装了一切,从头开始。我可以导入这个项目,现在可以编译了。
我也可以对设备进行编程,但在尝试调试时,它挂在文件“startup\u AMRCM0.S”中的重置处理程序中。我们有定制板。
你有什么建议我可以试试吗?
该软件在DA14680以前版本的主板上运行良好。除了在编程时选择正确的芯片外,是否还有其他步骤需要切换到DA14682?
谢谢您,
冈瑟
嗨,格施瓦布,
如果运行项目时没有附加调试器,它是否正常运行?您是否使用了任何SDK示例?
有没有可能分享一张截图?
谢谢,下午好
你好,
它似乎运行不完全正确,因为我看不到蓝牙设备的广告。
在DA14680之前的硬件上,它工作正常。
我没有使用SDK示例,因为这是我们的自定义硬件,并且我们的软件在以前的硬件上运行良好。
切换到DA14682还需要其他步骤吗?
我附上了调试器的截图。
谢谢,
冈瑟
嗨,格施瓦布,
在开发原理图/PCB时,是否遵循了硬件设计指南文档(链接如下所示),因为这听起来像是硬件相关的问题?
另外,您是否为DA14682配置构建了项目?
//www.xmece.com/sites/default/files/an-b-061\u da1468x\u application\u hardware\u design\u guidelines\u v1.9.pdf
谢谢,下午好
你好,
我将再次检查硬件指南,但我假设它们已被遵循,因为在以前的硬件上一切都正常工作。
我检查了DA14680和DA14682的一个示例项目(peripherals\u demo)的构建配置,但没有发现区别。你能告诉我DA14682需要做哪些调整吗?
谢谢,
冈瑟
你好,
我们也再次阅读了硬件指南,我们确信我们遵循了所有的原则。我附上一份电路图的节选,你能检查一下有没有什么问题吗?
谢谢,
冈瑟
嗨,格施瓦布,
让我查一下示意图,很快给你回电。
谢谢,下午好
你好,
我有最新消息。我遇到了DA14681到DA14683的移植指南,并按照步骤进行了操作。另外,我能够验证相同的问题出现在标准子板上,因此它与硬件无关。
我可以按照移植指南中的描述进行更改,但是现在项目无法构建。以下是错误:
建设目标:比亚维+_设备.elf
调用:交叉臂C连接器
C: \Dialog\u SDKS\DA1468x\u DA15xxx\u SDK\u 1.0.14.1081\DA1468x\u DA15xxx\u SDK\u 1.0.14.1081\SDK\interfaces\ble\u stack\DA14683-00-Debug\lible\u stack\u DA14683\u 00.a(rom\u patch.o):在函数“patched\u hci\u command\u handler”中:
/home/build/workspace/SDK680/Release\u build\u MANUAL/Artifacts/tmp/ble\u stack/sdk/interfaces/ble\u stack/DA14683-00-Release/。/src/rom\u patch/rom\u patch.c:1721:未定义对“hci\u command\u handler”的引用
./sdk/ble/src/stack/plf/black\u orca/src/arch/main/ble/arch\u main.o:在函数“ble\u platform\u initialization”中:
C: /Dialog\u SDKS/DA1468x\u DA15xxx\u SDK\u 1.0.14.1081/DA1468x\u DA15xxx\u SDK\u 1.0.14.1081/SDK/interfaces/ble/src/stack/plf/black\u orca/src/arch/main/ble/arch\u main.C:931:未定义对“ble\u TX\u DESC\u DATA\u USER”的引用
C: /Dialog\u SDKS/DA1468x\u DA15xxx\u SDK\u 1.0.14.1081/DA1468x\u DA15xxx\u SDK\u 1.0.14.1081/SDK/interfaces/ble/src/stack/plf/black\u orca/src/arch/main/ble/arch\u main.C:931:未定义对“ble\u TX\u DESC\u CNTL USER”的引用
C: /Dialog\u SDKS/DA1468x\u DA15xxx\u SDK\u 1.0.14.1081/DA1468x\u DA15xxx\u SDK\u 1.0.14.1081/SDK/interfaces/ble/src/stack/plf/black\u orca/src/arch/main/ble/arch\u main.C:931:未定义对“LLM\u LE\u ADV\u DUMMY\u IDX”的引用
C: /Dialog\u SDKS/DA1468x\u DA15xxx\u SDK\u 1.0.14.1081/DA1468x\u DA15xxx\u SDK\u 1.0.14.1081/SDK/interfaces/ble/src/stack/plf/black\u orca/src/arch/main/ble/arch\u main.C:931:未定义对“LLM\u LE\u SCAN\u CON\u REQ\u ADV\u DIR\u IDX”的引用
C: /Dialog\u SDKS/DA1468x\u DA15xxx\u SDK\u 1.0.14.1081/DA1468x\u DA15xxx\u SDK\u 1.0.14.1081/SDK/interfaces/ble/src/stack/plf/black\u orca/src/arch/main/ble/arch\u main.C:931:未定义对“LLM\u LE\u SCAN\u RSP\u IDX”的引用
C: /Dialog_SDKS/DA1468x_DA15xxx_SDK_1.0.14.1081/DA1468x_DA15xxx_SDK_1.0.14.1081/SDK/interfaces/ble/src/stack/plf/black_orca/src/arch/main/ble/arch_main.C:931:未定义对“LLM_LE_ADV_IDX”的引用
C: /Dialog\u SDKS/DA1468x\u DA15xxx\u SDK\u 1.0.14.1081/DA1468x\u DA15xxx\u SDK\u 1.0.14.1081/SDK/interfaces/ble/src/stack/plf/black\u orca/src/arch/main/ble/arch\u main.C:931:未定义对“rom\u hci\u cmd\u desc\u root\u tab”的引用
./sdk/ble/src/stack/plf/black\orca/src/arch/main/ble/jump\u table.o:(。rodata.rom函数地址表变量+0x10c):未定义对“llc\le\u length\u conn\u init\u func”的引用
./sdk/ble/src/stack/plf/black\orca/src/arch/main/ble/jump\u table.o:(。rodata.rom函数地址表变量+0x128):未定义对“smpc\u public\u key\u exchange\u start\u func”的引用
./sdk/ble/src/stack/plf/black\orca/src/arch/main/ble/jump\u table.o:(。rodata.rom函数地址表变量+0x12c):未定义对“smpc\u dhkey\u calc\u ind\u func”的引用
./sdk/ble/src/stack/plf/black\orca/src/arch/main/ble/jump\u table.o:(。rodata.rom函数地址表变量+0x130):未定义对“smpm\u ecdh\u key\u create\u func”的引用
collect2.exe:错误:ld返回1退出状态
品牌:***[BIAvi+_设备.elf]错误1
我能怎么办?
谢谢,
冈瑟
你好,
另一个更新:
选择正确的只读存储器符号文件(指南中没有描述),项目现在编译。
但是,它仍然显示与开始时完全相同的行为,它在重置处理程序中停止,无论是在我们的自定义硬件上还是在子板上。必须仍缺少配置步骤。
嗨,格施瓦布,
谢谢你的更新。这听起来像是一个软件相关的问题。你能试一下SDK1的一个例子吗?你能复制这个吗?另外,你能分享一个屏幕截图,显示在错误模式下代码冻结的地方吗?
谢谢,下午好
你好,
我能够得到外设演示运行在对话子板和我们的硬件。但是,pxp\u reporter演示程序并没有编译(见附图)。
错误消息是:
建设目标:pxp_记者.elf
调用:交叉臂C连接器
c: /diasemi/smartsnippetsstudio/gcc/4\u 9-2015q1/bin/。/lib/gcc/arm none eabi/4.9.3/。/../../../../arm none eabi/bin/ld.exe文件:无法打开链接器脚本文件C:\Users\GHSchwab.GFT公司\workspace\ SmartSnippets\ SDK1.0.14\pxp\ reporter/DA14683-00-Debug\ QSPI/成员ID:无效参数
每次的行为都是一样的,外设演示正常,pxp报告器不编译,我们自己的软件会编译但不能正确运行。
我附上一个屏幕截图,我们的应用程序被困在调试器。
我很乐意给你寄一份这个项目的副本,但它太小了。有没有别的办法寄给你?
谢谢,
冈瑟
嗨,格施瓦布,
此错误最可能的原因是安装程序没有生成链接器脚本以完成项目生成。在实际生成之前,SmartSnippets Studio(SST)应该从成员ID.h文件并构造成员ID生成文件夹中的文件。在您的例子中,前面提到的文件从未生成,因此工具无法找到成员ID文件。这可能是由于两个原因,比如makefile.targets文件文件不在项目目录中,或者缺少配置等。可能是SSS的安装有问题,或者您没有正确导入项目。请注意,SDK和SSS应该在没有任何附加配置的情况下开箱操作。既然已经正确安装了该工具,所有项目都应该开箱即用地编译。此外,您看到的这种错误可能与您的工作区有关。我建议您遵循以下步骤:
谢谢,下午好