天嵌 ARM开发社区

 找回密码
 注册
查看: 3810|回复: 17

system("")

[复制链接]
nono1860 发表于 2010-12-6 18:06:34 | 显示全部楼层 |阅读模式
請問撰寫驅動程式的時候可以利用system("") 这样的接口的Linux的bash 命令嗎?
 楼主| nono1860 发表于 2010-12-9 23:15:53 | 显示全部楼层
板大在嗎 請幫我解答謝
天嵌_support1 发表于 2010-12-10 11:08:07 | 显示全部楼层
1# nono1860


可以这样来调用的。
 楼主| nono1860 发表于 2010-12-12 21:50:16 | 显示全部楼层
版主,我不能調用system的指令!我編譯會出現 error:implicit declaration of function'system'
如下圖,(我此程式作用是中斷後執行system("")裡的執行檔),卻不能使用system讓我很困惱!請板大幫小弟解決,謝謝 !附上我的makefile及程式碼!謝

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| nono1860 发表于 2010-12-13 11:38:33 | 显示全部楼层
板大 請麻煩幫小弟解答 謝謝 感恩
天嵌_support1 发表于 2010-12-13 15:16:37 | 显示全部楼层
5# nono1860


stdlib.h  加这个头文件
 楼主| nono1860 发表于 2010-12-14 00:07:31 | 显示全部楼层
請問板大我加了include<stdlib.h>,編後出現了下面的錯誤 請板大幫忙一下 謝謝 感恩
e -C  M=/drv/irq_driver
cd /opt/EmbedSky/linux-2.6.30.4; make SUBDIRS=/drv/irq_driver modules
make[1]: Entering directory `/opt/EmbedSky/linux-2.6.30.4'
  CC [M]  /drv/irq_driver/irqdrv.o
In file included from /drv/irq_driver/irqdrv.c:48:
include/stdlib.h:25:22: error: features.h: No such file or directory
In file included from /drv/irq_driver/irqdrv.c:48:
include/stdlib.h:96: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__BEGIN_NAMESPACE_STD'
include/stdlib.h:102: warning: data definition has no type or storage class
include/stdlib.h:102: warning: type defaults to 'int' in declaration of 'div_t'
include/stdlib.h:140: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
include/stdlib.h:145: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'extern'
include/stdlib.h: In function 'atoi':
include/stdlib.h:149: error: expected declaration specifiers before '__THROW'
include/stdlib.h:152: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__THROW'
include/stdlib.h:153: error: expected declaration specifiers before '__END_NAMESPACE_STD'
include/stdlib.h:168: error: expected declaration specifiers before '__END_NAMESPACE_STD'
include/stdlib.h:190: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__THROW'
include/stdlib.h:191: error: expected declaration specifiers before '__END_NAMESPACE_STD'
include/stdlib.h:382: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__THROW'
include/stdlib.h:383: error: expected declaration specifiers before '__END_NAMESPACE_STD'
include/stdlib.h:474: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__THROW'
include/stdlib.h:475: error: expected declaration specifiers before '__END_NAMESPACE_STD'
include/stdlib.h:488: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__THROW'
include/stdlib.h:489: error: expected declaration specifiers before '__END_NAMESPACE_STD'
include/stdlib.h:517: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__THROW'
include/stdlib.h:518: error: expected declaration specifiers before '__END_NAMESPACE_STD'
include/stdlib.h:532: error: expected declaration specifiers before '__END_NAMESPACE_STD'
include/stdlib.h:546: error: expected declaration specifiers before '__END_NAMESPACE_STD'
include/stdlib.h:640: error: expected declaration specifiers before '__BEGIN_NAMESPACE_STD'
include/stdlib.h:646: error: expected declaration specifiers before '__END_NAMESPACE_STD'
include/stdlib.h:680: error: expected declaration specifiers before '__BEGIN_NAMESPACE_STD'
include/stdlib.h:690: error: expected declaration specifiers or '...' before '__compar_fn_t'
include/stdlib.h:690: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__nonnull'
include/stdlib.h:699: error: expected identifier or '(' before '{' token
include/stdlib.h:700: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__THROW'
include/stdlib.h:701: error: expected declaration specifiers before '__END_NAMESPACE_STD'
include/stdlib.h:716: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__THROW'
include/stdlib.h:717: error: expected declaration specifiers before '__END_NAMESPACE_STD'
include/stdlib.h:791: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__THROW'
include/stdlib.h:794: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__THROW'
include/stdlib.h:799: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__THROW'
include/stdlib.h:803: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__THROW'
include/stdlib.h:804: error: expected declaration specifiers before '__END_NAMESPACE_STD'
include/stdlib.h:881:5: warning: "__USE_FORTIFY_LEVEL" is not defined
/drv/irq_driver/irqdrv.c:61: error: storage class specified for parameter 'button_dev'
/drv/irq_driver/irqdrv.c:63: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token
/drv/irq_driver/irqdrv.c:69: error: storage class specified for parameter 'led_table'
/drv/irq_driver/irqdrv.c:69: error: parameter 'led_table' is initialized
/drv/irq_driver/irqdrv.c:71: warning: braces around scalar initializer
/drv/irq_driver/irqdrv.c:71: warning: (near initialization for 'led_table')
/drv/irq_driver/irqdrv.c:71: warning: initialization makes pointer from integer without a cast
/drv/irq_driver/irqdrv.c:71: warning: excess elements in scalar initializer
/drv/irq_driver/irqdrv.c:71: warning: (near initialization for 'led_table')
/drv/irq_driver/irqdrv.c:72: warning: braces around scalar initializer
/drv/irq_driver/irqdrv.c:72: warning: (near initialization for 'led_table')
/drv/irq_driver/irqdrv.c:72: warning: initialization makes pointer from integer without a cast
/drv/irq_driver/irqdrv.c:72: warning: excess elements in scalar initializer
/drv/irq_driver/irqdrv.c:72: warning: (near initialization for 'led_table')
/drv/irq_driver/irqdrv.c:72: warning: excess elements in scalar initializer
/drv/irq_driver/irqdrv.c:72: warning: (near initialization for 'led_table')
/drv/irq_driver/irqdrv.c:73: warning: braces around scalar initializer
/drv/irq_driver/irqdrv.c:73: warning: (near initialization for 'led_table')
/
 楼主| nono1860 发表于 2010-12-14 01:38:24 | 显示全部楼层
drv/irq_driver/irqdrv.c:73: warning: initialization makes pointer from integer without a cast
/drv/irq_driver/irqdrv.c:73: warning: excess elements in scalar initializer
/drv/irq_driver/irqdrv.c:73: warning: (near initialization for 'led_table')
/drv/irq_driver/irqdrv.c:73: warning: excess elements in scalar initializer
/drv/irq_driver/irqdrv.c:73: warning: (near initialization for 'led_table')
/drv/irq_driver/irqdrv.c:74: warning: braces around scalar initializer
/drv/irq_driver/irqdrv.c:74: warning: (near initialization for 'led_table')
/drv/irq_driver/irqdrv.c:74: warning: initialization makes pointer from integer without a cast
/drv/irq_driver/irqdrv.c:74: warning: excess elements in scalar initializer
/drv/irq_driver/irqdrv.c:74: warning: (near initialization for 'led_table')
/drv/irq_driver/irqdrv.c:74: warning: excess elements in scalar initializer
/drv/irq_driver/irqdrv.c:74: warning: (near initialization for 'led_table')
/drv/irq_driver/irqdrv.c:82: error: storage class specified for parameter 'key_info_table'
/drv/irq_driver/irqdrv.c:82: error: parameter 'key_info_table' is initialized
/drv/irq_driver/irqdrv.c:84: warning: braces around scalar initializer
/drv/irq_driver/irqdrv.c:84: warning: (near initialization for 'key_info_table')
/drv/irq_driver/irqdrv.c:84: warning: initialization makes pointer from integer without a cast
/drv/irq_driver/irqdrv.c:84: warning: excess elements in scalar initializer
/drv/irq_driver/irqdrv.c:84: warning: (near initialization for 'key_info_table')
/drv/irq_driver/irqdrv.c:84: warning: excess elements in scalar initializer
/drv/irq_driver/irqdrv.c:84: warning: (near initialization for 'key_info_table')
/drv/irq_driver/irqdrv.c:85: warning: braces around scalar initializer
/drv/irq_driver/irqdrv.c:85: warning: (near initialization for 'key_info_table')
/drv/irq_driver/irqdrv.c:85: warning: initialization makes pointer from integer without a cast
/drv/irq_driver/irqdrv.c:85: warning: excess elements in scalar initializer
/drv/irq_driver/irqdrv.c:85: warning: (near initialization for 'key_info_table')
/drv/irq_driver/irqdrv.c:85: warning: excess elements in scalar initializer
/drv/irq_driver/irqdrv.c:85: warning: (near initialization for 'key_info_table')
/drv/irq_driver/irqdrv.c:85: warning: excess elements in scalar initializer
/drv/irq_driver/irqdrv.c:85: warning: (near initialization for 'key_info_table')
/drv/irq_driver/irqdrv.c:86: warning: braces around scalar initializer
/drv/irq_driver/irqdrv.c:86: warning: (near initialization for 'key_info_table')
/drv/irq_driver/irqdrv.c:86: warning: initialization makes pointer from integer without a cast
/drv/irq_driver/irqdrv.c:86: warning: excess elements in scalar initializer
/drv/irq_driver/irqdrv.c:86: warning: (near initialization for 'key_info_table')
/drv/irq_driver/irqdrv.c:86: warning: excess elements in scalar initializer
/drv/irq_driver/irqdrv.c:86: warning: (near initialization for 'key_info_table')
/drv/irq_driver/irqdrv.c:86: warning: excess elements in scalar initializer
/drv/irq_driver/irqdrv.c:86: warning: (near initialization for 'key_info_table')
/drv/irq_driver/irqdrv.c:87: warning: braces around scalar initializer
/drv/irq_driver/irqdrv.c:87: warning: (near initialization for 'key_info_table')
/drv/irq_driver/irqdrv.c:87: warning: initialization makes pointer from integer without a cast
/drv/irq_driver/irqdrv.c:87: warning: excess elements in scalar initializer
/drv/irq_driver/irqdrv.c:87: warning: (near initialization for 'key_info_table')
/drv/irq_driver/irqdrv.c:87: warning: excess elements in scalar initializer
/drv/irq_driver/irqdrv.c:87: warning: (near initialization for 'key_info_table')
/drv/irq_driver/irqdrv.c:87: warning: excess elements in scalar initializer
/drv/irq_driver/irqdrv.c:87: warning: (near initialization for 'key_info_table')
/drv/irq_driver/irqdrv.c:91: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
/drv/irq_driver/irqdrv.c:131: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
/drv/irq_driver/irqdrv.c:185: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
/drv/irq_driver/irqdrv.c:196: error: expected ')' before '*' token
/drv/irq_driver/irqdrv.c:209: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
/drv/irq_driver/irqdrv.c:306: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
/drv/irq_driver/irqdrv.c:317: error: storage class specified for parameter '__mod_author317'
/drv/irq_driver/irqdrv.c:317: error: parameter '__mod_author317' is initialized
/drv/irq_driver/irqdrv.c:317: warning: '__used__' attribute ignored
/drv/irq_driver/irqdrv.c:317: error: section attribute not allowed for '__mod_author317'
/drv/irq_driver/irqdrv.c:318: error: storage class specified for parameter '__mod_license318'
/drv/irq_driver/irqdrv.c:318: error: parameter '__mod_license318' is initialized
/drv/irq_driver/irqdrv.c:318: warning: '__used__' attribute ignored
/drv/irq_driver/irqdrv.c:318: error: section attribute not allowed for '__mod_license318'
/drv/irq_driver/irqdrv.c:320: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
/drv/irq_driver/irqdrv.c:320: error: expected declaration specifiers before ';' token
/drv/irq_driver/irqdrv.c:320: error: storage class specified for parameter '__param_perm_check_button_major'
/drv/irq_driver/irqdrv.c:320: error: parameter '__param_perm_check_button_major' is initialized
/drv/irq_driver/irqdrv.c:320: error: storage class specified for parameter '__param_str_button_major'
/drv/irq_driver/irqdrv.c:320: error: parameter '__param_str_button_major' is initialized
/drv/irq_driver/irqdrv.c:320: error: storage class specified for parameter '__param_button_major'
/drv/irq_driver/irqdrv.c:320: error: parameter '__param_button_major' is initialized
/drv/irq_driver/irqdrv.c:320: warning: '__used__' attribute ignored
/drv/irq_driver/irqdrv.c:320: error: section attribute not allowed for '__param_button_major'
/drv/irq_driver/irqdrv.c:320: error: alignment may not be specified for '__param_button_major'
/drv/irq_driver/irqdrv.c:320: error: 'button_major' undeclared (first use in this function)
/drv/irq_driver/irqdrv.c:320: error: (Each undeclared identifier is reported only once
/drv/irq_driver/irqdrv.c:320: error: for each function it appears in.)
/drv/irq_driver/irqdrv.c:320: error: storage class specified for parameter '__mod_button_majortype320'
/drv/irq_driver/irqdrv.c:320: error: parameter '__mod_button_majortype320' is initialized
/drv/irq_driver/irqdrv.c:320: warning: '__used__' attribute ignored
/drv/irq_driver/irqdrv.c:320: error: section attribute not allowed for '__mod_button_majortype320'
/drv/irq_driver/irqdrv.c:321: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
/drv/irq_driver/irqdrv.c:321: error: 'init_module' defined both normally and as an alias
/drv/irq_driver/irqdrv.c:321: error: expected declaration specifiers before ';' token
/drv/irq_driver/irqdrv.c:322: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
/drv/irq_driver/irqdrv.c:322: error: 'cleanup_module' defined both normally and as an alias
/drv/irq_driver/irqdrv.c:322: error: expected declaration specifiers before ';' token
/drv/irq_driver/irqdrv.c:323: error: old-style parameter declarations in prototyped function definition
/drv/irq_driver/irqdrv.c:322: error: expected '{' at end of input
make[2]: *** [/drv/irq_driver/irqdrv.o] Error 1
make[1]: *** [_module_/drv/irq_driver] Error 2
make[1]: Leaving directory `/opt/EmbedSky/linux-2.6.30.4'
天嵌_support1 发表于 2010-12-14 10:27:21 | 显示全部楼层
8# nono1860


那个你是Linux下的驱动?
我可没你这么用过,你想做些什么呢?
 楼主| nono1860 发表于 2010-12-14 17:48:34 | 显示全部楼层
我想做中斷!
按下開發板按鈕馬上執行一執行檔或關掉設備黨的指令!
 楼主| nono1860 发表于 2010-12-14 17:53:49 | 显示全部楼层
我怕我說的不清楚 ,來補充
我A程序在執行某設備,想用中斷來關掉此設備,即上面分享的中斷程式,即按下開方板上的K1-K4按鍵,即關掉A程序的設備,原本想計畫用system("rmmod/xxx")關掉A程序的設備或者system("hello")執行其他的執行檔的,請問板大有好方法嗎?
天嵌_support1 发表于 2010-12-14 18:39:22 | 显示全部楼层
我没有你那样用过,应用归应用,驱动归驱动。
而且你要中止一个程序,并不是是卸载它的驱动模块
 楼主| nono1860 发表于 2010-12-14 21:20:35 | 显示全部楼层
那請問一下 利用中斷irq的驅動呢? 那要怎甚麼方法中止一個程序,小弟愚笨請大大教學 謝謝感激不盡
 楼主| nono1860 发表于 2010-12-15 13:21:53 | 显示全部楼层
乎~每天都很期待板大的回答 讓我學習 ︿︿
天嵌_support1 发表于 2010-12-15 14:31:14 | 显示全部楼层
13# nono1860


中止一个程序.......
要么kill 它的ID,
要么就是调用的它的实例,执行关闭再destroy 了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-10-6 07:14 , Processed in 1.038125 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表