[Embedded System] Cross-compile: vsftpd

昨天在Lab繼續我的Cross-compile工作時 因為需要將compile過後的程式放到板子上去跑看看 所以不斷地插拔USB隨身碟 很麻煩啊! 在linux下要用隨身碟 又要先mount 不用時,又要再umount 忽然想起,那就在上面放個FTP server不就ok了 這樣就可以直接登入到板子上的FTP serv

有效率的迴圈 Efficient C Loop Structure

有時候小小的習慣可以造就好的程式效率,做到基本的Optimization。 一般我們在寫迴圈時,總是採用以下的寫作方式 for (int i = 0; i < bound; i++) 但其實從assembly level來看,運用指令集的幫助,我們如果讓 i 直接做是否為零的判斷,這樣就可以少掉多一個CMP (c

[Android] SurfaceFlinger (2)

這裡整理了一份從java層surface到surfaceflinger的source code trace route,雖然只列出Surface init及Surface destroy,不過看起來基本的流程就是這樣了,其他的surface operations應該也可以依循這樣的路徑去看。 相關的檔案位置如下: fr

[Android] SurfaceFlinger (1)

Binder這裡面提供了inter-process及cross-process的溝通機制,而他接收的Container是Parcel Object,幫助programmer方便使用這樣的介面去處理訊息傳遞的問題。在SurfaceFlinger部份,因為由Surface與SurfaceFlinger之間牽涉到不同層的溝通

[Linux] SA_INTERRUPT

因為最近在看控制PMU(Performance Monitoring Unit)的程式,編譯過程中發現有中斷旗標未被宣告,所以莫名其妙看到中斷的flag定義。 從Linux kernel 2.6.19開始,有些中斷處理介面改掉了,而SA_INTERRUPT的名稱定義也被改掉了。 遇到問題時,當然首先是弄清楚這個東西是什

[C/C++] fixed-point library

找了非常久的fixed-point library,都找不到可以用的。最近把libmad的source code抓出來用,雖然可以成功編譯,但是因為整數部份的精確度太小,在我的應用下總是會overflow,所以只好找找其他solution,後來發現了allergo這個專為撰寫遊戲程式的library,剛好裡面也有部份的