Demo的整体目标:支持基于COAP协议的通讯方案验证;
经过多种比对及现有资源的考虑,最终选定为如下方案,都已存在开源代码,只要做简单的适配应该就可以进行上板调试。
硬件方案:MSP430F5438A + 操作系统:ucos + 物联网套件:阿里IoT-SDK_V2.0 + IDE:IAR
由于阿里IoT-SDK_V2.0基于linux系统进行编程(尚未支持其他平台),编译器为GCC,所以在移植的过程中遇到了许多问题:
1、
配置头文件目录:IAR的环境中不使用makefile,因此头文件目录需要在IAR中进行单独配置,具体的配置方法如下:
a) 右键工程名称,选中Options...
b) 找到C/C++ compiler -> Preprocessor ;在Additional include directories:(one per line),其中$PROJ_DIR$为工程的根目录,基于该根目录配置相关的内容目录即可;
可以先单独compile每个文件,解决完编译问题后,再make进行符号表链接;
2、关键字冲突:IAR的编译器没有GCC的丰富,下面把我在编译的过程中遇到的几个问题记录如下:
a) typeof:尽管之前也做过几年C预言的嵌入式开发,但typeof的关键字还是头一次接触。由于阿里的Iot SDK中用到了linux的list库,用来支持链表操作
/*** list_for_each_entry_safe - iterate over list of given type safe against removal of list entry* @pos: the type * to use as a loop cursor.* @n: another type * to use as temporary storage* @head: the head for your list.* @member: the name of the list_struct within the struct.