- 论坛徽章:
- 0
|
#include <stdio.h>
#include <linux/unistd.h>
_syscall2(unsigned int,Buzzer,int,cmd,unsigned int,value)
int main(int argc,char *argv[])
{
unsigned int nRes;
if(argc==0)
{
nRes = Buzzer(0,0);
printf("Buzzer is %s\n", nRes == 1 ? "opened":"closed");
}
else
{
switch(*argv[1])
{
case 'o':
nRes = Buzzer(1,1);
printf("Buzzer is %s\n", nRes == 1 ? "opened":"closed");
break;
case 'c':
nRes = Buzzer(1,0);
printf("Buzzer is %s\n", nRes == 1 ? "opened":"closed");
break;
default:
printf("Usage: Buzzer [c|o]\n");
return 0;
}
}
return (int)nRes;
}
编译命令如下:
arm-linux-gcc -o Buzzer Buzzer.c
出现这个错误:
/tmp/ccwH0a1u.s: Assembler messages:
/tmp/ccwH0a1u.s:21: Error: Cannot represent SWI relocation in this object file format
这是什么原因哦? |
|