kernel和root我分别加载默认光盘里的images
root_default.img
- 缺省安装的文件系统映象文件, 采用基于arm-linux-gcc-3.4.1的函数库
zImage_s35
- 支持三星3.5寸屏的内核文件
但是系统启动后,我没有在/lib下发现librt动态库,后我自己从arm-linux-gcc 3.4.1中将librt-2.3.2.so拷入开发板中的/lib,并作了连接。
但我发现该系统,不支持POSIX IPC semphore函数。我写了一个测试程序,就发现无法支持sem_init
测试程序如下:
复制代码- #include <stdio.h>
- #include <stdlib.h>
- #include <fcntl.h>
- #include <sys/mman.h>
- #include <semaphore.h>
- int main(int argc,char **argv)
- {
- sem_t test1;
- if ( sem_init(&test1,1, 0 ) == -1 ) {
- printf("Semaphore init error\n");
- }
- else {
- sem_destroy(&test1);
- printf("Semaphore test OK\n");
- }
- }
|
我发现可以支持shm_open共享内存。但不支持匿名POSIX 信号灯。请高人看下到底是内核的问题,还是glib库,或者编译链的问题呢?
后续:后来我重新编译了内核,加上了POSIX message选项,但还是不行。运行上述程序后,显示Semaphore init error
有人知道是什么原因吗?或如何解决呢?