1.在vendor/rockchip目錄下建立工程目錄loopread2.目錄結構如下:
|--loopread.mk
|--sepolicy/
|--file_contexts
|--loopread.te
|--src/
|--android.mk
|--etc/
|--init.loopread.rc
|--loopread.c
3.下面逐步解讀工程檔案(mk,te,rc,file_contex檔案不做介紹,這裡專注與loopread.c,但每個檔案內容全部列出,雖然有的只有一行**,如下:)include $(build_executable)3.5.loopread.c 此main函式接收兩個引數,乙個是檔案路徑,乙個是delay時間,單位us
3.6.init.loopread.rc#
include
#include
#include
#include
intmain
(int argc,
char
* ar**)
//迴圈讀取
do//這裡有length限制,最大好像是4096,請注意不要超過,如果超過會執行報錯
fread
(buf,
sizeof
(int32_t
), rx * tx, f)
;fclose
(f);
for(i =
0; i <
48; i++
)printf
("\n");
}printf
("\n");
//ar**[2]:接收的第乙個引數
usleep
(atoi
(ar**[2]
));}
while
(flag)
;return0;
}
4.編譯命令:make loopread# for touch
service loopread/vendor/bin/loopread
class main
seclabel u:r:dm:s0
group system diag oem_2901 usb root shell bluetooth wifi sdcard_rw sdcard_r media
5.進入到out/target/product/rk3288_box/symbols/system/bin/目錄可以看到有loopread生成編譯過程中有看到把loopread裡面的android.mk link進來
including ./vendor/rockchip/loopread/src/android.mk ...
編譯完成後log:
target executable: loopread(out/target/product/rk3288_box/obj/executables/loopread_intermediates/linked/loopread)
target symbolic: loopread(out/target/product/rk3288_box/symbols/system/bin/loopread)
6.執行
a).將此push到裝置中的/data/目錄下以上記錄之b).修改許可權:chmod 777 /data/loopread
c).執行命令:./data/loopread /proc/meminfo 1000000,此條命令會每隔1s讀取一次meminfo檔案
Linux 呼叫可執行程式
3.使用execl 常用方法 二 system函式 在c c 程式中,經常需要呼叫其它的程式來先成某項任務,例如其它的c c 程式 作業系統命令或shell指令碼,c c 提供了exec函式族和system函式來實現這個功能。exec函式族提供了乙個在程序中啟動另乙個程式執行的方法。它可以根據指定的...
gdb除錯linux可執行程式
gdb除錯程式例子 root localhost cswapserver dist gdb cswapserver gnu gdb gdb red hat enterprise linux 7.2 83.el6 license gplv3 gnu gpl version 3 or later thi...
python 執行可執行程式
python do exe.pyw coding utf 8 import os exe dir c program files q dir exe file q dir.exe def do cmd dir,file if os.access dir,os.f ok os.chdir dir if...