问题标签 [contiki]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - Contiki OS 中是否有适用于 Atmega128 平台的两线接口/I2C 读写库?
我希望通过两线接口从与 Atmega128rfa1 MCU 接口的 AT24MAC602 内存芯片读取 EUI64 地址。我尝试修改可用于其他平台的 I2C 主驱动程序以满足我的需要。但是,我无法成功执行这些修改,因为一旦从地址被写入设置了写入标志的 twi 总线,程序就会停止响应。我没有发现同样的根本原因。由于 Contiki OS 非常流行,我想有人可能已经想出了 contiki 特定的库,用于通过 Atmega128rfa1 MCU 的 TWI 接口读取写入。如果是这样,请提供指向 twi 驱动程序的指针或相同的文档,或建议开发此类驱动程序应考虑的因素。谢谢你。
external - 如何读取外部传感器
我是Contiki World的初学者。我正在使用 TmoteSky 微尘。我可以读取内部传感器,但我没有找到任何关于如何读取 ADC 端口(引脚扩展)以使用外部传感器的信息或示例。(光、温度和湿度)。
我找不到任何相关信息。
c - contiki-z1-main.c:“未定义的对‘autostart_processes’的引用”
当我尝试使用 Cooja、Contiki 编译 .c 文件时,出现以下错误:
有谁知道这个问题?
c - Contiki 错误 contiki-z1-main.c:“未定义对 'autostart_processes' 的引用”
因此,在 contiki 上工作并尝试构建这个应用程序,即 rest-coap。
我的 Makefile 是这样的:
运行make target=z1 coap-common
总是会导致这个:
你能帮我吗?
makefile - 使用 MIB520 将 Contiki 程序上传到 Micaz
最近我在上传一个 Contiki 程序到我的 Micaz mote 时遇到了一些问题。我已经使用 MIB520 来做到这一点,但它不起作用。在 Contiki 配置文件中进行一些搜索后,我发现唯一提供的 Micaz Makefile 是 MIB510 的:Makefile.mib510
可以在~/Contiki/platform/micaz/buildscripts
.
在Makefile.mib510
里面只有uisp
命令。
我想知道是否为 MIB520 提供了另一种。
谢谢你。
sensors - How to read temperature, humidity and light measures with contiki-OS?
I would like to know how to measure temperature, light and humidity with a contiki program.
I'm using a TelosB mote (sky mote), so these three sensors are integrated in the mote itself.
PS: I'm working on Contiki-OS 2.7
contiki - Contiki 的 On the Air 编程
我是 contiki 上的新 Sky Motes,我正在尝试在运行时重新编程节点。我已经尝试过 Deluge,它是 test-deluge.c 中的示例,该示例位于 examples/sky/test-deluge.c 下,但我不知道在将代码上传到节点后该怎么做。所以请帮忙!我的主要目标是在空中重新编程节点
提前致谢
struct - STM32F105,arm-none-eabi-gcc,Contiki:在结构中存储浮点数并在 C 中打印浮点数失败
我有两个typedef struct
,如下所示:
我接下来尝试的是为一个my_type
结构分配内存,一个tlv_t
从创建的对象指向的结构my_type
和一个从对象指向的浮点数tlv_t
。
如果我在没有下面最后一行代码的情况下执行代码,它运行良好。我可以存储该值并且可以访问它。
但是,一旦我第二次尝试访问它,上传的代码就根本不再在基于 STM32F105 Contiki 的板上运行。奇怪的是,只有在使用浮点数时才会出现这种情况。其他数据类型(如int
. 不幸的是,我真的需要使用float
......我做错了什么?
另一个问题是printf
不支持某些标志,例如%f
or%ul
. 有人知道如何在 Contiki 上添加对它的支持吗?
编辑:
我忘了添加这些类型定义:
EDIT2: 这是完整的代码:
编辑3:
我正在使用最新的 arm-none-eabi-gcc(版本 4_8-2013q4-20131204)。在处理结构、浮点数或内存管理时是否存在任何已知问题?
arm - 什么时候使用 .ARM.exidx
我正在使用 mbxxx 目标开发 Contiki 2.7。在构建我的代码时,链接器抱怨.ARM.exidx 和 .data 部分重叠。在修改了链接器脚本 contiki-2.7/cpu/stm32w108/gnu-stm32w108.ld 后,我通过替换解决了这个问题:
和:
后来,当我尝试使用 objdump -h 查看其他一些示例应用程序的标题列表时,我没有找到这个特定的 .ARM.exidx 部分,而它存在于我的应用程序中。谷歌搜索 .ARM.exidx 让我发现它用于一些 c++ 异常处理。既然我的代码是纯 C 代码,为什么这部分会出现在我的代码中?.ARM.exidx 通常何时出现在代码中,它的用途是什么?
==================================================== =================================
不,我没有任何这样的编译器选项。我实际上正在使用 AxTLS api 并撕下证书处理代码并将其移植到 contiki。在进一步的挖掘中,我发现了 bigint 实现中的可疑行为。简而言之……这是 bigint.c 文件中的函数主体:
如果注释掉的部分(r 变量赋值)未注释,则 .ARM.exidx 会出现,否则不会出现!现在可以解释了吗???
==================================================== =================================
我没有发现在alloc()
. 在代码的某个单独区域中使用了2 个引用alloca()
,我将其替换为malloc()
and free()
,但这也没有解决问题。alloc()
实现只调用malloc()
,realloc()
和free()
security - PANA 认证代理
我正在 contiki 上实施 zigbee ip 规范,因此我正在尝试通过 pana 和 eap-tls 工作。我已经开始使用 panatiki 和 openpana 等已经可用的软件,但是与 uip 应用程序数据缓冲区相比,openpana 中的 UDP 有效负载相当大。我尝试减少openpana的缓冲区大小,但只要将任何内容保持在2048以下,它总是会出现段错误(我没有检查所有内容,但我确实检查了1024但它没有工作)。关于将使用 freeradius 作为后端身份验证服务器运行的替代 pana 身份验证代理的任何建议?