發表文章

在嵌入式linux系統中使用android adbd,PC可直接透過USB對console下指令

可以參考這一篇 http://www.cnblogs.com/zengjfgit/p/6289873.html /* ************************************************************************ * android-tools adb for ARM Linux * 说明: * 有时候还真是系统通过USB线直接连接到ARM主板,这样就不一定需要网络才 * 能传输文件,在做系统更新的时候,有时候也是不错的。 * * 2017-1-16 深圳 南山平山村 曾剑锋 *********************************************************************** */ 一、参考文档: 1 . [Buildroot] [PATCH v4] android-tools: add new package http: // lists.busybox.net/pipermail/buildroot/2015-November/145112.html 2 . Linux modules install http: // www.cnblogs.com/helloworldtoyou/p/6180404.html 二、内核配置: .config - Linux/arm 3.0 . 35 Kernel Configuration ────────────────────────────────────────────────────────────────────────────── ┌────────────────────────── USB Gadget Support ───────────────────────────┐ │ Arrow keys navigate the menu. <Enter> selects submenus ---> . │ │ Highlig...

bash:偵測程式pid消失後自動執行

測試小程式 當aplay pid消失後,程式會偵測到pid消失 然後再執行 pidof可以偵測程式的pid 無限while loop也可以這麼寫 #!/bin/sh aplay -D plughw:1 /mnt/shield/song.wav -v & arecord -D plughw:1 -r 48000 -c 2 -f s16_le  /mnt/shield/test.wav & while : do     pid1=$(pidof aplay)     pid2=$(pidof arecord)     echo aplay=$pid1 arecord=$pid2     if [ -z $pid1 ]; then           kill -9 $pid2         rm -fr /mnt/shield/test.wav         aplay -D plughw:1 /mnt/shield/song.wav -v &         arecord -D plughw:1 -r 48000 -c 2 -f s16_le  /mnt/shield/test.wav &     else         sleep 1     fi       done

lighttpd + fcgi + C language to do file upload & download

最近使用lighttpd當作http server 搭配fcgi來寫檔案上傳跟下載功能 比較討厭的是,html我完全不會寫啊~~~ 還有fcgi的範例也非常地缺乏 其他語言有很多相關API可以使用 C語言的話就得要自己寫 這邊就講一下是怎樣實現的 首先是下載的部分: 一開始得先要有個html給人下載 可以使用下面的範例             printf("Content-type: text/html\r\n"             printf("<hr />");             printf("<a href='/download/?message'>message</a>");             printf("<hr />"); 當有人點選"message"後會跳轉另一個網址 之後可以利用queryString = getenv("QUERY_STRING"); 去判別server跳轉進來的下載網址 此時需要提供另一個html告訴browser要下載東西             printf("Content-type:   application/octet-stream\r\n");                       printf("Content-Transfer-Encoding: Binary\r\n");             printf("Content-Length: %d\r\n", size);                     ...

在shell script執行某程式之後判斷是否成功

sh /etc/init.d/rcS if [ $? -ne 0 ]; then     /sbin/check 1; fi $?  is the exit status of the most recently-executed command; by convention, 0 means success and anything else indicates failure.

怎樣刪除文件的前N行?

在linux 下,删除文件file中的第1到第N行:  sed -i    '1,N d'    file PS: 上面是对原文件file做删除操作。 sed   '1,N d'    file  > newfile PS: 上面是保持原文件file不变,做删除操作后将结果另存为newfile。

buildroot可以先make想要的某些package

最近正在玩buildroot 打算用buildroot解決一些需要用到的pakcage 看看是否可以解決大部分相依性的問題 但發覺buildroot裡很多package會使用到libtool裡的aclocal.m4以及m4 folder 會出現version check error 原因是使用了舊的aclocal.m4及m4檔案夾內的script 解決方法是buildroot可以單獨編譯某個package 因此可以先make libtool後再執行make 這樣就可以將aclocal.m4等的檔案先編譯出來給其他package用

bash script 範例: 陣列中取字串

#!bin/bash modules=( "ipnc/release;ti814x" "osd/release;Venus" ) function test() {     for module in ${modules[@]}; do         mary=(${module//;/ })         echo ${mary[0]}         echo ${mary[1]}           done } test 執行結果: ipnc/release ti814x osd/release Venus 主要是在modules[@]的@是幹嘛的 以及mary=(${module//;/ })為何可以將字串分成兩個 目前還是有點不懂