Thread 中讨论的其他器件:SysConfig、 CC2640
此致、
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
subdir_rules.mk:9: recipe for target 'CC2640R2_LAUNCHXL.obj' failed "../CC2640R2_LAUNCHXL.c", line 874: error #137: struct "TRNGCC26XX_HWAttrs" has no field "powerMngrId" "../CC2640R2_LAUNCHXL.c", line 879: error #20: identifier "TRNGCC26XX_Config" is undefined 2 errors detected in the compilation of "../CC2640R2_LAUNCHXL.c". gmake: *** [CC2640R2_LAUNCHXL.obj] Error 1 gmake: Target 'all' not remade because of errors.

此致、
我会告诉大家我做过的一些工作。
1.使用 SysConfig 生成板级配置文件并添加定制硬件代码、可以实现"empty"项目完美运行。
2.我 希望通过智能手机控制自定义硬件、但 SysConfig 不支持 BLE 配置、我生成"simple_periphera"工程并根据自定义硬件进行修改:"board.h "、"CC2640R2_LAUNCHXL.c"、"CC2640R2_LAUNCHXL.h"。"simple_periphera"工程未正常工作。
为了验证修改后的板级配置文件是否正确、我将修改后的"board.h"、"CC2640R2_LAUNCHXL.c"、"CC2640R2_LAUNCHXL.h"替换成了"CC2640R2_LAUNCHXL.h"。 将"empty"中的"board.h"和"board.h"替换为 project.it 无法通过编译
"empty"项目代码
e2e.ti.com/.../4214.empty_5F00_CC2640R2_5F00_LAUNCHXL_5F00_tirtos_5F00_ccs.zip
您好!
您是对的、空项目不支持 BLE。
如果要连接智能手机、则必须使用 simple peripheral 项目。 此项目上的错误与空项目上的错误是否相同?
我查看了您的代码、您的 TRNGCC26XX_HWAttrs 结构的某些参数在 TRNGCC26XX.h 文件中不存在、而且您的 TRNGCC26XX_Config 结构在同一个文件中未定义。 自您第一次尝试空项目以来,您是否更改了此文件?
谢谢。此致、
您好!
您能否详细说明一下简单外设示例中"工作不正常"的含义。
当空项目首次正常工作时、您是否添加了自定义文件?
您需要在您的文件 CC2640R2_LAUNCHXL.c (见下文)中添加正确的 include。
/*
*=================================== TRNG BEGIN===========================================
*/
//#include //在这里您需要添加#include
#include
/* TRNG 对象*/
TRNGCC26XX_Object trngCC26XX 对象[CC2640R2_LAUNCHXL_TRNGCOUNT ];
/* TRNG 配置结构、说明要使用的引脚*/
CONST TRNGCC26XX_HWAttrs TRNGCC26XHWAttrs [CC2640R2_LAUNCHXL_TRNGCOUNT ={
{
.powerMngrId = PowerCC26XX_Periph_TRNG、
}
};
/* TRNG 配置结构*/
CONST TRNGCC26XX_Config TRNGCC26XX_CONFIG[]={
{
.object =&trngCC26XXObjects[0],
.hwAttrs =&TRNGCC26XHWAttrs[0]
}、
{NULL、NULL}
};
===================================================
此外、结构也是如此 TRNGCC26XX_HWAttrs trngCC26X2HWAttrs 因为您没有正确的参数、需要进行初始化
这三个参数
.intPriority =~0、
.swiPriority = 0、
.samplesPerCycle = 240000、
而不是
.powerMngrId = PowerCC26XX_Periph_TRNG、
此致、
纪尧姆、您好
这是"简单外设" 代码。
e2e.ti.com/.../2816.simple_5F00_peripheral.zip
1."简单外设"的问题 如下:
我想运行单步调试。

但是、当达到此处的执行时、某些代码未被执行

接下来、将无法执行 步越。

代码将跳转至函数内部

2. 第一次空项目正常工作时,我添加了 自定义文件,但板级配置文件 是由 SysConfig 生成的。
您好!
我考虑了您有关 CC2640的反馈、我就此展开了讨论。
关于 simple peripheral project:
该错误仅在调试模式下出现、或者在您刷写时代码未运行?
在调试模式下、由于 delay 函数、它可能会影响工作过程(调试中的时间不一定与实时延迟匹配)。
您可以尝试在没有 delay()函数的情况下运行代码吗?
关于空项目:
空项目中使用 TRNG.h 文件。 如果您将其删除、该项目将无法正常工作。
此致、
纪尧姆、您好
以下"empty"项目代码可在我的定制硬件上完美地工作。该板级配置文件由 SysConfig 生成。 通过修改板级配置文件、它也会在 LAUNCHXL-CC2640上运行。
e2e.ti.com/.../3731.empty_5F00_CC2640R2_5F00_LAUNCHXL_5F00_tirtos_5F00_ccs.zip
开发板文件中没有"TRNG"代码,但项目代码可以运行。它也使用 delay ()函数。
我使用逻辑分析仪观察"简单外设"工程的 SPI 总线、代码执行不正确、但我无法找到错误的地方、因为我在调试期间无法在许多位置设置断点。
我想知道为什么我不能 单步执行和设置断点?
4、我想问题可能来自哪里、 "empty"和 "simple peripheral" 的区别在于、"empty"板级配置文件由 SysConfig 生成、必须正确、而"simple peripheral"板级配置文件由我修改、无法确认其正确性。
而 "清空"只有一个主线 程正在运行,"简单外设"是几个正在运行的线程。它们会影响我线程的执行吗?

我期待收到您的来信,谢谢!
此致、
TDY
您好!
对于调试问题、由于时序和优化、断点并不总是很容易设置:我建议您查看 SDK 的调试指南: docs>ble5stack>ble_user_guide>ble5stack-debuging ,关于断点的部分。
你也可以使用 UART 在串行终端上打印它、这对于调试非常有用:或者只使用 GPIO 来了解代码的特定部分 是否已运行。
您是否尝试通过 SysConfig 在 simple peripheral 示例中生成电路板?
有些任务可能具有比其他任务更高的优先级、请确保 BLEstack 始终具有更高的优先级。
您能否确保所有任务都正常运行? (您可以在调试模式期间使用 CCS 上的 ROV 工具来执行此操作)
此致、
您好!
我曾尝试 在简单外设示例上使用 SysConfig 生成的板级配置文件。
步骤如下:
新建一个简单的外设项目
2.复制启动 文件夹中的 board.c 和 board.h
3.在 board.c.中添加"Crypto"的代码
但我不知道如何为"TRNG"添加正确的代码。
无论我如何更改它,编译将是错误的

以下是修改后的项目文件:
e2e.ti.com/.../7510.empty_5F00_CC2640R2_5F00_LAUNCHXL_5F00_tirtos_5F00_ccs.zip
非常感谢您的帮助!
此致、
TDY
您好!
我将您的反馈考虑在内、确保为您将遇到的每个问题打开一个新的话题。
关于此线程上提到的内容、我将建议您使用我修改过的这个 empty.c (在下方下载)项目重试、以便使用您的功能传递编译。
e2e.ti.com/.../8883.empty_5F00_CC2640R2_5F00_LAUNCHXL_5F00_tirtos_5F00_ccs.zip
此致、