首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在控制器和nrf52之间创建连接时,出现nrf52832 Zephyr h5 hci uart堆栈错误

在控制器和nrf52之间创建连接时,出现nrf52832 Zephyr h5 hci uart堆栈错误
EN

Stack Overflow用户
提问于 2020-11-24 01:14:05
回答 1查看 352关注 0票数 0

我们正尝试在nrf52832上设置Zephyr以运行HCI界面。由于硬件限制,我们不得不不使用流量控制,因此H:5 HCI (三线UART)和bluez 5.54一起使用。我们在DTS覆盖中禁用了流量控制。我们已经尝试在standaard uart zephyr示例中使用west build -t menuconfig来激活H5。但这是不起作用的,因为它在控制器端,而不是我们需要的客户端。

我们在网上找到了当前的HCI UART示例和@carlesc给我们的提示。你可以在这里找到源代码:code。我已经使用Bluez3wire支持编译了我的linux内核,并且我使用hciattach /dev/ttyUSB0 3wire 1000000 noflow nosleep连接。Linux识别适配器并连接它,但随后系统崩溃,并显示以下日志:

代码语言:javascript
复制
00> [00:00:44.900,909] <err> os: ***** MPU FAULT *****
00> [00:00:44.900,909] <err> os:   Stacking error (context area might be not valid)
00> [00:00:44.900,909] <err> os:   Data Access Violation
00> [00:00:44.900,939] <err> os:   MMFAR Address: 0x20006230
00> [00:00:44.900,939] <err> os: r0/a1:  0xedf4f9de  r1/a2:  0x48854818  r2/a3:  0xaaaaaaaa
00> [00:00:44.900,970] <err> os: r3/a4:  0xaaaaaaaa r12/ip:  0xffffffff r14/lr:  0x00000009
00> [00:00:44.900,970] <err> os:  xpsr:  0x61000000
00> [00:00:44.900,970] <err> os: Faulting instruction address (r15/pc): 0x00016bf0
00> [00:00:44.900,970] <err> os: >>> ZEPHYR FATAL ERROR 2: Stack overflow on CPU 0
00> [00:00:44.901,000] <err> os: Current thread: 0x20000890 (unknown)
00> [00:00:45.324,310] <err> os: Halting system

我已经尝试了arm-none-eabi-addr2line -e zephyr/build/zephyr/zephyr.elf 0x16bd0来确定错误发生的地方。我得到了这样的响应:zephyrproject/zephyr/kernel/queue.c e.c:280

我尝试在nrf52sdk_nrf52832.conf中更改CONFIG_BT_HCI_TX_STACK_SIZE大小、CONFIG_MAIN_STACK_SIZECONFIG_ASSERT=y,但这没有任何改变。

错误似乎发生在建立连接时。在建立连接之后,zephyr代码在net_buf_get函数上崩溃。

EN

回答 1

Stack Overflow用户

发布于 2021-01-29 00:50:56

我认为您尝试在prj.conf文件中增加CONFIG_MAIN_STACK_SIZE是正确的。我会进一步增加到512 (1024,2048,4096)的倍数,直到你不再得到堆栈溢出。

我在Zephyr RTOS上也遇到了同样的问题,还有一个在多个级别上使用嵌套函数的任务。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64973052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档