您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 技术讨论区 -> [求助]关于BF561 在uclinux下使用B核的问题... 
本帖共有493个阅读者
发表帖子 发表投票 回复主题
[求助]关于BF561 在uclinux下使用B核的问题
799104644(论坛新手)
799104644
头衔:社区公民
帮派:无帮无派
帖数:2
金钱:115
积分:3
注册时间:2014/10/3
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
[求助]关于BF561 在uclinux下使用B核的问题

最近在用bf561这款开发板,在板子上移植了uClinux系统,但是uClinux系统只用了bf561的一个A核,现在我想使用另外一个B核,在官网上找到的编译另外一个B核心的应用程序命令是:

1.bfin-elf-gcc –mcpu=bf561-0.3 –mmulticore
–mcoreb –c test_c.c –o test_c.o

2.bfin-elf-gcc –mcpu=bf561-0.3 –mmulticore
–mcoreb test_c.o –o test_c

在编译我写的程序时,在Ubuntu
10.10下用gcc命令编译通过,有警告。但是执行上述第一步命令时就报错。错误如下:

TestRead.c:3:20:
错误:sys/ipc.h:没有那个文件或目录

TestRead.c:4:20:
错误:sys/shm.h:没有那个文件或目录

TestRead.c:
在函数‘main’中:

TestRead.c:13:
错误:‘IPC_CREAT’未声明(在此函数内第一次使用)

TestRead.c:13:
错误:(即使在一个函数内多次出现,每个未声明的标识符在其

TestRead.c:13:
错误:所在的函数内也只报告一次。)

TestRead.c:16:
警告:隐式声明与内建函数‘exit’不兼容

TestRead.c:19:
警告:赋值时将整数赋给指针,未作类型转换

TestRead.c:22:
警告:隐式声明与内建函数‘exit’不兼容

TestRead.c:31:
警告:隐式声明与内建函数‘exit’不兼容

我的程序TestRead.c代码如下:

#include<stdio.h>

#include<sys/types.h>

#include<sys/ipc.h>

#include<sys/shm.h>

#define BUF_SIZE
1024

#define MYKEY
25

int
main()

{

int shmid;

char *shmptr;

if((shmid =
shmget(MYKEY,BUF_SIZE,IPC_CREAT))==-1)

{

     printf("shmget
error!\n");

     exit(1);

}

if((shmptr =
shmat(shmid,0,0))==(void*)-1)

{

     printf("shmat error!\n");

     exit(1);

}

while(1)

{  

    
printf("string:%s\n",shmptr);

     sleep(3);  

}

exit(0);

}

我的问题如下:

1.  请问一下上述的问题是怎么回事,是编译工具的问题还是我代码的问题呢?

2.  或者是另外一个B核心的应用程序代码是不能含有linux系统的头文件的?

3.  我可不可以用bfin-elf-gcc这个命令编译B核应用程序,在B核上运行,然后和A核上的uClinux系统上运行的别的程序之间采用共享内存方式进行数据交换呢?


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2014/10/3 15:15:55
799104644(论坛新手)
799104644
头衔:社区公民
帮派:无帮无派
帖数:2
金钱:115
积分:3
注册时间:2014/10/3
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
我的想法是用共享内存的方式在A核的应用程序和B核的应用程序之间传递数据

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2014/10/3 15:47:37
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154195 Call, 1 Queries, Processed in 0.016602 second(s),