启用CFG_TRNG错误

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.wsdof.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
10个帖子/ 0个新帖子
最后发表
DLO.
离线
最后看到:2周1日前
加入:2017-05-26 16:21
启用CFG_TRNG错误

我想让真实随机数生成器创建广告间隔,以防止几个单位之间的冲突。

我正在编辑DA1458x_beacon_v_5.40.2项目文件。

在DA1458x_config_advanced.h中定义:

#定义CFG_TRNG

使用Keil uVision v5.27.1.0,我单击重建所有目标文件。然后我以这个错误结束:

。\ out_580 \ dialog_beacon_580.axf:错误:l6218e:未定义的符号trng_acquire(由Arch_System.O引用)。

一开始,trng.h文件给了我一个错误:错误:未知类型名称'uint8_t'

为了修复这个错误,我在trng.h中添加了这个:

#include //标准整数定义
#include“compiler.h”//内联函数
# include“stdbool.h”

错误消失了,但我仍然有L6218E链接错误。

还有其他人遇到过这个问题吗?

谢谢您的宝贵时间。

关键词:
设备:
PM_Dialog
离线
最后看到:4天1小时前
工作人员
加入:2018-02-08 11:03
嗨dlo,

嗨dlo,

目前不支持DA14580产品的灯塔,因为我们已雷电竞官网登录搬入DA15585 / 56产品系列和新SDK6。请在我们的支持网站上查看DA14585 / 6:

//www.wsdof.com/雷电竞官网登录products/connectivity/bluetooth-low-energy/smartbond-da14585-and-da14586

有一个名为Multi-Sensor Kit的参考设计,支持信标实现。请注意,建议使用DA14585 IOT Multi传感器开发套件进行新设计。

https://www.dialog-seminile.com/produ雷电竞官网登录cts/da14585-iot-multi-sensor-development-kit.

如果您对DA14585/6不感兴趣,请使用SDK5.0.4的一个例子,它是DA14580/1/3产品的验证SDK。雷电竞官网登录

关于你的问题真随机数生成器(TRNG),它不存在作为一个硬件块,但我们有一个可用的API的这种使用,所以我强烈建议看看SDK,并遵循USE_TRNG的定义。你可以通过调用trng.h/c库中的trng_acquire()函数来获得一个128位的随机数。要启用真随机数生成器,您需要定义CFG_TRNG标志。在系统初始化时生成一个随机数,并用于C标准库随机数生成器的种子。为了从580获得随机数,SDK使用无线电模块,通过改变无线电寄存器的值,它获得随机数。请检查trng_acquire()函数的源代码。

谢谢,PM_Dialog

DLO.
离线
最后看到:2周1日前
加入:2017-05-26 16:21
你好pm_dialog,

你好pm_dialog,

我们已经在生产环境中,因此我们无法切换到DA14585 / 6。

我遵循SDK示例并启用了CFG_TRNG标志,就像之前在原来的问题中发布的那样。在代码之后,当定义CFG_TRNG时,我可以看到USE_TRNG被设置为1,然而,正如您在我之前的注释中看到的,当我尝试构建时。我得到这个链接器错误,这似乎没有任何意义,因为我可以看到包含trngh和.c文件的包含文件,但不知怎的,它不能链接到trng_acquire()函数。

这是相当紧迫的在这一点上,我们需要释放这个固件的量产。

PM_Dialog
离线
最后看到:4天1小时前
工作人员
加入:2018-02-08 11:03
dlo,

dlo,

L6218E链接器错误通常与变量声明有关。你能发个截图给我吗?

谢谢,PM_DIalog

DLO.
离线
最后看到:2周1日前
加入:2017-05-26 16:21
这是构建日志:

这是构建日志:

重建启动:项目:Dialog_BeAcon
***使用Compiler'V5.06更新6(Build 750)',文件夹:'C:\ Keil_v5 \ ARM \ ARMCC \ Bin'
重建目标'beaccon_580'
组装boot_vectors.s……
编译system_ARMCM0.c……
编译arch_console.c……
编译nvds.c……
编译hardfault_handler.c.
编译nmi_handler.c.
编译syscntl.c ...
编译uart_ext_wkup.c……
编译arch_sleep.c……
编译jump_table.c……
编译arch_main.c……
compling Arch_patch.c ...
编译adc.c……
编译spi.c……
编译gpio.c……
编译spi_flash.c……
编译ARCH_SYSTEM.C ...
编译prf_utils.c……
编译gapm.c……
编译Bass.c.
编译rf_580.c……
编译rwip.c……
编译rwble.c.
编译bass_task.c……
compling spotar_task.c.
compling spotar.c.
编译diss.c……
compling dist_task.c ...
编译app_default_handlers.c……
编译app_security_task.c……
编译app_msg_utils.c……
编译app_security.c.
编译app.c……
编译app_task.c ...
编译app_entry_point.c……
compling app_easy_msg_utils.c ...
编译app_bass.c……
编译app_bass_task.c……
编译app_diss.c……
compling app_diss_task.c.
编译app_easy_timer.c……
编译app_easy_security.c……
编译app_spotar_task.c……
compling app_spotar.c ...
编译adc_notify.c……
编译adc_notify_task.c ...
compling device_config.c.
compling device_config_task.c ...
compling user_periph_setup.c.
compling user_adc_notify.c.
编译user_device_config.c……
编译user_device_config_task.c……
编译user_adc_notify_task.c……
编译crc32.c……
编译user_config_storage.c……
编译user_dialog_beacon.c……
编译battery.c……
compling user_beacon_utilities.cn ...
链接......
。\ out_580 \ dialog_beacon_580.axf:错误:l6218e:未定义的符号trng_acquire(由Arch_System.O引用)。
没有足够的信息来生成一个SYMDEFs文件。
没有足够的信息来生成反馈文件。
没有足够的信息列出图像符号。
没有足够的信息来列出图像映射中的加载地址。
完成:4个信息,0警告和1个错误消息。
“。\ out_580 \ dialog_beacon_580.axf” - 1错误(s),0警告。
目标未创建。
建造时间过去:00:00:08

PM_Dialog
离线
最后看到:4天1小时前
工作人员
加入:2018-02-08 11:03
嗨dlo,

嗨dlo,

你在arch_system文件中包含了trng库吗?我无法复制你的问题。您在这个文件中使用trng_acquire吗?

谢谢,PM_DIalog

DLO.
离线
最后看到:2周1日前
加入:2017-05-26 16:21
我没有编辑arch_system

我没有编辑arch_system文件。我确实在文件中看到了以下内容,我假设它已经经过测试并工作:

#如果(USE_TRNG)
#include "trng.h" // True随机数生成器API
# endif

DLO.
离线
最后看到:2周1日前
加入:2017-05-26 16:21
在包括路径中

在构建的包含路径中,我看到包含了文件夹trng。

PM_Dialog
离线
最后看到:4天1小时前
工作人员
加入:2018-02-08 11:03
嗨dlo,

嗨dlo,

我打开了项目,正如您在附加快照的IMG1中看到的,TRNG,UART2和SYSTICK驱动程序未被正确包含。按照附件中找到的步骤操作,以便再次删除并添加它们。驱动程序位于DA1458X_BEACON \ v_5.40.2 \ SDK_580 \ SDK \ Platflick \ Driver文件夹路径下。之后,我能够编译项目。

谢谢,PM_Dialog

附件:
DLO.
离线
最后看到:2周1日前
加入:2017-05-26 16:21
非常感谢你的帮忙!

非常感谢你的帮忙!