主题中讨论的其他器件:CC2650、 CC2640、 SYSBIOS、 CC2640R2F、 CC2650MODA、BLE-STACK
如何在 CC2650 Launchpad 上为 CC2640F128制作和测试项目?
如果我编辑 ProjectZero 的属性以使用 CC2640F128变体、则不再编译它。
而且、如果我将变体放回 CC2650F128、它将不再清除和构建。
谢谢、
戴尔
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.
如何在 CC2650 Launchpad 上为 CC2640F128制作和测试项目?
如果我编辑 ProjectZero 的属性以使用 CC2640F128变体、则不再编译它。
而且、如果我将变体放回 CC2650F128、它将不再清除和构建。
谢谢、
戴尔
您好、Fredrik、
我之所以询问二进制兼容的答案、是因为我有一个在 LAUNCHXL-CC2650上运行良好的 ccs7.0.0.00042项目。
我刚刚为我们设计的在其 GT-tronics CC264BPA-S 预先认证子板上使用 CC2640F128的 PCB 通电。
我们的 PCB 上有一个10引脚 JTAG 连接器、我们还有一个 Blackhawk XDS100v2ARM 仿真器。
我在新的工作区中打开 LAUNCHXL-CC2650项目、并更改堆栈和应用程序 Generation>CCS Generation>Main>Connection to XDS100v2。
我清理并构建堆栈和应用程序。 我调试并运行代码。
代码经过 main.c、直到它到达 BIOS_start()、在这一点上、它单步进入汇编循环。
使用 ROV 时发现此错误:
错误行的全文为:
,ti.sysbios.nbl.semaphore, Basic,(0x20003210), pendElems, Error: Problem scanning pend Queue: JavaException: java.lang.exception: target memory read failed at address: 0xbebebebebe, length: 8根据应用程序的段映射,此读取位于无效地址。 应用程序可能未初始化或已损坏。
有人能帮我弄清楚如何运行我的代码吗?
谢谢、
戴尔
反叛分子,
我遇到以下指令:
然后、在具有签名的某个位置创建一个函数void (*Hwi_ExceptionHookFuncPtr)(Hwi_ExcContext*);、例如下面的函数:
#include
//...
volatile uintptr_t * excpc = 0;
volatile uintptr_t * excall主 叫= 0;
//...
void execHandlerHook (Hwi_ExcelContext * ctx)
{
EXPC = ctx->PC; //发生异常的程序计数器
当发生异常时,激发呼叫者= ctx->LR;//链接寄存器
while (2);
}
谢谢、
戴尔
黄
到目前为止、我在板级配置文件中所做的唯一工作是:
其余引脚与 LAUNCHXL-CC2650板相同。
我看到定义了7x7定义:
/*与7x7 EM 相同的射频配置*/
#define CC2650EM_7ID
我为5x5定义了什么?
是否有一个文档告诉我2640的板级配置文件有什么变化?
戴尔
附件是到目前为止的板级配置文件。
1: e2e.ti.com/.../0458.Board.h
黄
因此、干净的 ProjectZero 也会在 PCB 上的 BIOS_start 处挂起。
戴尔
Dale、
您是否验证是否未分配或尝试使用数值为 IOID_15或更高的任何引脚? 5x5具有15个 IO、尝试使用此封装中不可用的引脚可能会导致您遇到的硬件中止。 例如、CC2650_LAUNCHXL.h 具有:
#define Board_SPI_FLASH_CS IOID_20
必须在5x5 (或4x4) QFN 器件上重新映射到有效引脚。
如果仍有问题、我建议将所有引脚定义为 PIN_Unassigned、并仅使用配置为广播的 BLE 堆栈为器件供电(使用 simple_peripheral)。 BLE-Stack 不需要任何 IO 即可正常运行。 禁用所有外部 IO /外设访问、然后在板级配置文件和应用中逐个启用驱动程序、直到遇到故障。
祝你一切顺利
您好、JXS、
嗯、您的评论最终让我的大脑中的5x5含义变得像家一样。
将#define Board_SPI_FLASH_CS IOID_20更改为#define Board_SPI_FLASH_CS IOID_7 (是的!!!)后、我能够立即通过 BIOS_start 函数。
但是、我在这里的某个位置点击了 Task_exit:
//打开 LED 引脚
ledPinHandle = PIN_OPEN (&ledPinState、ledPinTable);
if (!ledPinHandle){
LOG_error0 ("初始化板 LED 引脚时出错");
Task_exit();
}
buttonPinHandle = PIN_OPEN (buttonPinState、buttonPinTable);
if (!buttonPinHandle){
LOG_error0 ("初始化按钮引脚时出错");
Task_exit();
}
//设置按钮引脚的回调
if (PIN_registerIntCb (buttonPinHandle、&buttonCallbackFxn)!= 0){
log_error0 ("注册按钮回调函数时出错");
Task_exit();
}
我无法将按钮引脚设置为未分配、因为我必须更改某些代码切换语句中的代码才能生成它。
最后、我刚刚重新编写了所有上述代码和构建代码。 然后我终于在广告了!!!!
我可以在 iOS 应用中进行连接!!
现在、我必须弄清楚如何设置板级配置文件和引脚手柄、以便能够使用中的上述代码。
我可以看到为什么我必须更改 IOID_14以不使用内部上拉电阻器、但不确定其他引脚。
除非您有更多的指导、否则我现在可能完全可以让自己完成工作。
谢谢、
戴尔
至于我原来的帖子的答案、我认为 CC2650和 CC2640的二进制文件是不同的、差异是由于电路板文件和引脚表的不同而产生的、这是正确的说法吗?