将我自己的库添加到 Contiki OS
Adding my own library to Contiki OS
我想向Contiki 添加一些第三方库,但目前我不能。
所以我只想用一个简单的库进行测试。
我写了两个文件 hello.c hello.h,在 hello.c 我有:
printf(" Hello everbody, library call\n");
在hello.h我有:
extern void print_hello();
我使用以下命令创建了 hello.o:
msp430-gcc -mmcu=msp430f1611 hello.c -o hello.o
我创建了一个归档文件:
ar -cvq libhello.a hello.o
我转向 contiki,我编写了一个简单的程序调用 hello.h 来执行 function.I 尝试在 makefile 中使用 PROJECT LIBRARIES 变量包含 hello.a,当我编译我得到这个:
Hello_lib.sky section .vectors' will not fit in region'vectors'
...
region vectors overflowed by 32 Bytes
有人可以解释一下问题是什么吗(我是这个领域的新手)?
如果可能如何更正? (我应该为 msp430-gcc 指定什么选项)
谢谢。
确保为构建程序的架构构建库。
例如,如果您想为 sky
微尘(MSP430F1611 MCU)构建可执行文件,请使用以下内容构建库:
msp430-gcc -mmcu=msp430f1611 -c hello.c -o hello.o
msp430-ar -cvq libhello.a hello.o
然后将库的路径及其名称添加到应用程序的 Makefile 中:
TARGET_LIBFILES += -L./hellolib -lhello
然后照常构建应用程序:
make TARGET=sky
此视频展示了如何将您自己的库添加到 Contiki OS
https://www.youtube.com/watch?v=csa9D1U5R_8
详情:
- 我创建的库是:libhello.a
- 库只打印消息 "Hello everbody, library call"
- 我将库包含到 Contiki 示例中 "example-broadcast.c"
视频步骤:
创建文件夹示例:
复制例子-broadcast.c
复制 Makefile
创建库:
创建目标文件:
msp430-gcc -mmcu=msp430f1611 -c hello.c -o hello.o
创建库文件:
msp430-ar -cvq libhello.a hello.o
告诉 Contiki 库的路径:
TARGET_LIBFILES += -L. -lhello
将库添加到您的 .c 代码并打印问候消息:
#include "hello.h"
Print_Function();
编译您的 .c 代码:
make example-broadcast TARGET=sky
我想向Contiki 添加一些第三方库,但目前我不能。 所以我只想用一个简单的库进行测试。
我写了两个文件 hello.c hello.h,在 hello.c 我有:
printf(" Hello everbody, library call\n");
在hello.h我有:
extern void print_hello();
我使用以下命令创建了 hello.o:
msp430-gcc -mmcu=msp430f1611 hello.c -o hello.o
我创建了一个归档文件:
ar -cvq libhello.a hello.o
我转向 contiki,我编写了一个简单的程序调用 hello.h 来执行 function.I 尝试在 makefile 中使用 PROJECT LIBRARIES 变量包含 hello.a,当我编译我得到这个:
Hello_lib.sky section .vectors' will not fit in region'vectors'
...
region vectors overflowed by 32 Bytes
有人可以解释一下问题是什么吗(我是这个领域的新手)?
如果可能如何更正? (我应该为 msp430-gcc 指定什么选项) 谢谢。
确保为构建程序的架构构建库。
例如,如果您想为 sky
微尘(MSP430F1611 MCU)构建可执行文件,请使用以下内容构建库:
msp430-gcc -mmcu=msp430f1611 -c hello.c -o hello.o
msp430-ar -cvq libhello.a hello.o
然后将库的路径及其名称添加到应用程序的 Makefile 中:
TARGET_LIBFILES += -L./hellolib -lhello
然后照常构建应用程序:
make TARGET=sky
此视频展示了如何将您自己的库添加到 Contiki OS
https://www.youtube.com/watch?v=csa9D1U5R_8
详情:
- 我创建的库是:libhello.a
- 库只打印消息 "Hello everbody, library call"
- 我将库包含到 Contiki 示例中 "example-broadcast.c"
视频步骤:
创建文件夹示例:
复制例子-broadcast.c
复制 Makefile
创建库:
创建目标文件:
msp430-gcc -mmcu=msp430f1611 -c hello.c -o hello.o
创建库文件:
msp430-ar -cvq libhello.a hello.o
告诉 Contiki 库的路径:
TARGET_LIBFILES += -L. -lhello
将库添加到您的 .c 代码并打印问候消息:
#include "hello.h" Print_Function();
编译您的 .c 代码:
make example-broadcast TARGET=sky