2010年12月28日 星期二

這件事.... 我不知道怎麼看待....

話說這是我在公司裡面做的一個案子, 有關智慧型監控(以下稱 IVS) + 人體信號分析的案子, 一開始的計劃裡, 這些影像跟數據分析的東西, 是要給 DSP 專門去跑的, 在當時沒有做過演算法特化處理時, DSP 跑的動這些工作, 只是 loading 頗重, 當時上頭覺的可以跑, 就不管它後續發展了.

而我自己私底下卻在思考說這些負載很重的演算法的特化手法, 像 latency 要求要更低的 resize, smoothing (gaussian smoothing), gaussian background model, morphological 這些, 有些用軟體 SIMD 改寫 (因為那顆 DSP 是 VLIW 機器, 是沒有什麼 SIMD 可用的..), 為了 SIMD 還要做些資料結構上的改寫.. 有些算法做點簡化, 像 GMM 只做 3 組 sample, 不做 5 甚至 7 組. 這樣東湊西湊, turn 到原本將近四倍的 performance... 這樣 turn 原本的想法是要在 pc 上跑, 因為平臺是 atom 那種東西.. 後來覺的 pc 上跑的還不錯, 就嘗試移植到 ARM 上, 因為做監控用途的那隻 camera 是一顆 ARM 的 SoC...

其實, 原本這樣做只是打算做一個玩具, 但沒想到後來因為 DSP 卡難產, 這個玩具最後花了大約一個月時間 fine-turn 到可以對專案交差的程度...

平心而論, 這種研究原本不是我工作範圍內該做的, 變成今天這種結果, 這樣的工作是應該還是不應該, 我實在不知道....

2010年12月20日 星期一

USB 防寫設定軟體

在這裡看來的, 這是作者網站. 實驗了一下, 被 windows 認定為可移除式儲存媒體的, 都可以用這個軟體設定為唯讀, 而且因為它不是常駐程式, 砍掉它是沒用的.
我想有人看到這已經知道要怎麼利用隨身碟病毒的寫法破掉它了, 而且不難.

2010年12月12日 星期日

碎紙剪刀


這種剪刀其實在約半年前於微風廣場大安店看到時, 就想買了, 當時是因為昂貴所以沒入手. 這把短刀刃, 只有五連裝刀片的也要 380, 其它像九連裝刀刃跟長刀刃的隨便都要七八百.. =_= 不過個人使用的感想是, 不要買長刀刃的... 因為它剪不了太厚的紙, 頂多二次折程度就差不多了.
一些有印地址姓名那些的信封, 都可以用這種給它碎紙掉...

2010年12月9日 星期四

static lib (.so) 製作

心情不好來寫點筆記....

這個 .so 很類似 windows 下的 DLL, 不一樣的是, windows 下被 link 的要是 .lib (雖然有些工具可以從 DLL 裡拆出 lib 檔出來, 但不一定 100% work) 才行, .so 是可以直接被 link 使用.

製作方法參考這裡, 只有幾點要注意..
1. soname 要是 lib 開頭如 libtest, 也就是說不管取什麼名字, 前面都必須要是 lib 開頭..
2. gcc 在最後做 link 時, 加上 -l???? 才可以找的到該 .so 裡的東西, 如上例就是 -ltest.
3. 做出來的 .so 一般都要擺在 /lib 或 /usr/lib 或 /usr/local/lib 裡, 或是用 export 指令去改:
export LD_LIBRARY_PATH=./

這樣去聯結自己的 .so library 檔案使用.

後記: .so (static object ) 跟 .DLL 當然是不一樣的, DLL 會把一些不用的 function 砍砍掉, .so 會全部留著, 外面能不能 link 的到那是你家的事 =_=

2010年12月8日 星期三

鐵吱銀行寫的東西, 看看就好..

究竟留在原東家好,或是勇敢找尋新舞台?綜合《華爾街日報》與《金融時報》報導、人資顧問,當出現以下五項徵兆,你就該跟原東家說再見了。

一、遠離目標、難激熱情。諮詢公司施普斯帝表示,如果你想成為團隊領袖,但直屬主管與老闆都不想幫你,就該換工作。但前提是,若能力比你更強的同事獲提拔,你最好學習新技能,而非負氣離去。

二、原地踏步、挑戰不足。如果工作變成例行公事,技能與職位都無法提升,員工將難保工作動力。職業倦怠難免,若主管不願放手授權,不如另尋出路。

三、主管刁難、傷害員工。蓋洛普蒐集兩萬名剛離職人員意見,75%是想離開老闆;獲慰留員工隔年仍有九成因「受不了上司」求去。《金融時報》建議,每個人都該先尋找共事方法,但若主管一再傷害員工信心,那就該另擇良木。

四、辦公室政治問題複雜。香港城市大學曾訪問逾六百名全職雇員的工作滿意度,發現打擊員工的頭號兇手竟是辦公室政治。《華爾街日報》說,辦公室政治難免,但當複雜的人際關係抵消專業能力的優勢,對員工弊大於利。

五、公司出現道德危機。當企業挑戰道德極限,如品質低劣、交期跳票、從事不法商業競爭,從上到下卻無動於衷,該趕快閃人;為敗德公司賣命,對個人職涯資產表百害無益。

ps. 不過, 104的新聞稿可信度一向非常的低, 我只是挑中間看起來梢微可信的東西貼上來..

2010年12月3日 星期五

一種感覺..

工作重不重要, 在於用什麼心態去做它. 而且, "自己" 就是一個招牌, 一個口碑, 而且做垮很簡單, 做好很難..

沒有足夠的時間驗證我這樣的想法對不對, 最少就現在所看到的, 有正面有負面, 負面就必需要有個挺自己的上司補足一些問題..

我是不知道, 我去重視做好自己的案子, 跟後來 embedded 的案子都轉到我這來有沒有關係就是.. ~_~

2010年11月30日 星期二

[sheeva plug] compiler..

其實 sheevaplug 上 SD 卡在 uboot 下讀不出來的問題, 困擾了我很久, 有篇文章之前看過卻沒有看到文章裡的重點...
"Are you refer loading kernel give you crc error or compile give you crc error?
my gcc is armv5tel-softfloat-linux-gnueabi-gcc (Gentoo 4.3.3-r2 p1.2, pie-10.1.5) 4.3.3 I am not familiar the one you refer to. (I know nothing about compiler to be honest) what I did notice is that the code seems to be very sensitive what compile is used or toolchain. for example the one posted in this fourms does not work for me, I always get error during loading kernel in both FAT and EXT2 case, however I use the source compile myself it begin work for FAT (as EXT2 have bug in code so it does not work for me)"
我簡單翻譯一下. 如果 u-boot 是用 SDK 內的 arm-mv5sft-linux-gnueabi-??? 編譯的話, SDcard 讀取動作不管是 fat 還是 ext2 通通都會 fail, 但如果換成 armv5tel-softfloat-linux-gnueabi-gcc 的話, 以上的問題就解決了.

這還是後來客戶 email 給我一封信裡提醒了我這點, 但我去找 armv5tel-softfloat-linux-gnueabi-gcc 這個東西, 發現它好像是給 ARMv5 平臺專用的, 沒有看到可以在 x86 上跑的版本. 幾經搜尋我才發現到有這個社群專門在為 ARM 做跨平臺編譯套件, 包括 ARM 版的 fedora. 而使用它們做的 ARM compiler 後, 問題真的解掉了.

於是我講一下我在 CentOS 5.4 上用的做法, 其實很簡單, 比去 google 找那些問題簡單很多..
1.Marvell sdk 裡的 nativefs 跟 devfs 還是最好先編過一遍, 這時可以用 arm-mv5sft-linux-gnueabi- 的編譯器無所謂.
2.照網頁所寫的, 給 yum 安裝的參考網頁路徑.
3.直接 yum -y install armv5tel-redhat-linux-gnueabi-gcc 順路裝一大票亂七八糟相關套件.
4.Marvell 版 u-boot 3.4.27 (原本是 u-boot 1.1.4) 內 Makefile 裡, 搜尋 "arm-mv5sft-linux-gnueabi-" 找第二個前面 label 是 CSL 的 (在 2034 行付近, 不是前面那個) 改成:

CSL = armv5tel-redhat-linux-gnueabi-

這樣就好, 就可以回 u-boot 裡編譯整個 u-boot image. 但原本的 sdk 要留, 因為編譯過程中會 link 到那個 sdk 裡面的東西.

然後其它的套件可以依舊延用原本的 arm-mv5sft-linux-gnueabi-, 只有 u-boot 這個因為 code 的關係要改 compiler...

我還會再追蹤看看 u-boot 中是哪段 source 有問題, 畢竟裝好幾個 compiler 很不胡蘇...