原创 利用objcopy將文件附加到程序中

       當我們編制的程序需要調用圖片或者mp3等媒體文件時, 通常是將相應的文件預先存放在指定的目錄位置,程序運行時纔可以被找到.其實還有一種更方便的辦法,那就是將音樂或者圖像文件直接插入到程序文件的某個段中. 程序啓動時,先將這些

原创 EGI的第一個程序: Hello World.

EGI是設計運行在OpenWRT環境下的一款開源mini GUI, 簡單好玩。用它可以來開發一些簡單圖形小界面,同時支持加入聲效背景,GIF動畫等。EGI是在WidoraNEO硬件環境下開發的,它非常適合開源軟件教育,嵌入式愛好者們也可以

原创 Openwrt: 爲giflib編制一個Makefile

爲了在widora_Openwrt環境下安裝最新的giflib-5.2.1庫,自己編制了對應的feeds Makefile. 由於giflib本身的Makefile沒有configure配置, 在Openwrt環境下安裝目錄參數也需要調整

原创 Openwrt: 爲mplayer編制一個可以播放電影的Makefile

MPlayer是一款開源的多媒體播放軟件,可以在Openwrt上來播放mp3和wav等音頻文件。另外,mplayer還可以在slave模式下運行,這也是它的一大特色。爲了讓mplayer能在openwrt上順利運行,需要進行合理的配置,剪

原创 Openwrt_Widora: 一種定點FFT計算方法的實現

爲了在自編的一個播放器上顯示頻譜效果,學習了一下快速傅里葉變換,做了一個定點的FFT程序。定點FFT程序主要應用到了浮點數的定點處理和複數的運算,爲此自編了一個fft_math模塊。 FFT具體原理參考了《數字信號處理 第2版》(Rich

原创 Openwrt ubox應用例子: 實現C/S網絡通信

ubox是Openwrt的一個幫助工具包, 包含了MD5,鏈表,平衡樹,blob標籤式二進制數據包的生成和解釋......等等基礎API, 以及uloop,usock,ustream,ulog等應用。 通過學習ubox可以更好地理解和融入

原创 Openwrt ubus: 進程間通信的例子

ubus是Openwrt實現進程間通信的一種總線機制,  由三部分協作完成通信過程:ubusd守護進程,ubus服務端,ubus客戶端。 1. ubusd守護進程: 管理ubus服務端和客戶端的註冊,並作爲服務端和客戶端的中間人, 進行消

原创 用C語言構建了一個簡單的神經網絡

用C語言構建了一個非常簡單的神經網絡,用來理解NN工作的基本原理。 1. 模塊說明:     NVCELL:   單個神經元結構,包含輸入向量和權重向量,並指定了對應的傳遞/激活函數。     NVLAYER:  單層神經網絡,包含若干個

原创 Openwrt MT7688: 彙編實現hello world

在openwrt-widora環境下用匯編實現hello world, 用syscall來調用print和exit,其特點就是編譯出來的可執行文件比用C編譯出的小了很多。 1. 代碼:  asmhello.S #include <asm

原创 在Ubuntu上測試用live555推送攝像頭H264數據流

1.  USB攝像頭: RERVISION  型號USB100W04H, 最大分辨率1280x720,支持H264,MJPEG,YUY2三種編碼方式,支持UVC協議。 插入USB攝像頭後會在/dev目錄中出現video0和video1兩個

原创 C語言: 指針應用練習

        //----  1. 字符指針可以在定義時直接賦值         //----  2. 指針在使用前必須先初始化         //----  3. 通過分配內存給指針賦值,此時指針指向所分配的內存的首地址。     

原创 一個簡單的字符設備模塊

一個簡單的字符設備模塊,包括設備文件的讀寫等基本操作,可以作爲模板來使用。 hello.c /*-------------------------------------------------- Derived from Linux

原创 在NanoPi-NEO上用 ffserver+ffmpeg 實現USB攝像頭視頻監控

    關於ffmpeg+ffserver搭建流媒體服務器的文章網上有很多,視頻編碼基本上都是軟編碼來實現的。NanoPi-NEO的SoC裏集成了Cedrus 視頻硬件編碼器,利用Cedrus對USB攝像

原创 在Widora_NEO上應用卡爾曼濾波來獲得可靠傾角

     在widora openwrt中應用卡爾曼濾波,目的是從加速度計ADXL345和陀螺儀L3G4200D採集的數據中提煉出相對真實可靠的傾角和角速度,通常這些原始數據裏面包含有大量的噪音和毛刺,卡爾曼濾波可以有效濾除這些噪音,得到

原创 在NanoPi-NEO上試驗dts和平臺總線機制

   學習了linux的dts和platform總線機制,自己畫圖概括了一下dts文件,設備,總線和驅動之間的相互關係.    爲了證實一下,在NanoPi-NEO上進行了如下試驗, NanoPi-NEO上已經預裝了Ubuntu-Co