ICE 和 Trace 的差異

一般 SOC IC 剛回來的時候, 如果 memory 有問題我們可以用 ECC, 如果 CPU 有問題, 我們可以用 JTAG 去 debug, 以免它一動也不動, 卻不知道原因. 

早期我們用的 ICE (In-Circuit Emulator) 長得非常巨大, 它有一個 socket 攔在單晶片 IC 和 PCB 板子中間, 光是 8051 的 ICE 就可以做成一大台, 彷彿是一台邏輯分析儀的規模. 剛剛 Google 了一下, 已經找不到那種圖片了. 基本上它可以單步執行, 設斷點, 攔截特定位址的讀寫等等.

後來的 ICE 又叫做 Probe, 只需要用 JTAG 介面和 SOC chip 溝通. 那些設斷點的工作跑到 PC 上用 debug 軟體做了. 有時候 probe 也支援幾組硬體位址或資料的比對, 以便快速撈到某個值的變化, 以便找出兇手是誰. 大部分的人用 probe  debug 就夠了.

至於 trace 的功能就是把執行的過程記錄起來, 它可以被保存在一塊特定的 memory 中,  或是直接傳回 PC 再用 tool 分析. 畢竟使用 Probe 的話, 只要有人工介入, 某些 timing 就改變了. 很容易造成平常一定當, 但用 probe 看就不會當的慘劇. 

Trace 容許 IC 用正常的執行環境跑, 不會因為 debug 而造成當機條件改變.  所以它是更強的 debug 工具. 好東西當然不便宜, 由網路上看到買一台 ICE (Probe) 加一台 trace 只要 USD 7,000, 不過買軟體卻要 USD 12,000. 畢竟沒有軟體的話, 錄下一堆 raw data 也是毫無幫助的. 請參考有錢公司的開箱文和官網.

ARM RealView ICE, RealView Trace 開箱文

RealView ICE 和 RealView Trace

[2012/6/27 補充]

1. ARM 的 debug 軟體, 以前是 RVSD 系列, 到了 RVSD 4.x 的下一代, 就改為 DS-5 系列. 最大的差異在於支援了 Linux 和 Android, 因此也可以用 ssh, telnet 等工具去偷看系統.

2. DS 是 DStream 的縮寫, 相對於 VStream. V 就是 Virtual, 實際上還沒有任何硬體的階段, 這個盒子就模擬了整個 ARM 的單晶片系統.

3. RealView 系列的 debug 硬體, 隨之進化到 DS-5 Debugger. 號稱對於 Linux SMP 可以有 seamless 的支援. 只是 RVSD 系列原來也號稱支援 Coretex A9 1~4 core, 其中的差異要比較過才知道.


Child Lock vs Parental Control

這幾天 review 規格的時候, 重新看到 child lock 和 parental control 這兩個名詞. 究竟這兩個字有多大的不同呢?

其實 child lock 可以算是 parental control 的一部分. Parental control 泛指家長在機器上的所有權限, Child lock 特別是指防止小孩子啟動特定的軟體, 例如股票買賣, 網路銀行, 付費的 VOD (video on demand)…等等. 只要把這些軟體統統登錄起來, 在使用前必須輸入密碼, 小朋友就不會莫名其妙地把家敗掉.

這樣的軟體 (APK) 在 Android 的系統中是現成的, 所以可以省去許多開發的時間. 下面這個例子只讓沒有密碼的 “小孩" 玩鬧鐘和計算機, 瀏覽器就被關掉了.

至於經過分級的影片或是遊戲, 這是通常大家認知的 Parental Control, 它也是靠密碼保護. 這些分級的內容通常在影片網站上已經預先分類完畢, 像是 Youtube, 網樂通都是如此. 下圖的分級資訊如紅色箭頭所示.

最後一種叫做 TV Guardian, 它能夠自動發揮 “新聞局" 的效果, 把一般會電視電影中會被消音的部分自動過濾掉. 它的原理是監測字幕, 和一個資料庫比對. 如果比對出 “不和諧" 的句子, 就讓整句沒聲音, 並且把那些特定的字眼用另外的說法代替.

這些侵犯人的字眼主要分為與宗教或是性兩大類, 以及 HxxL, DxxN,…等粗話. 使用時可以切換過濾的強度, 算是滿貼心的. 相關原文如下:

The TVGuardian automatically detects and filters profanity and other offensive phrases while you watch movies or television shows.

How It Works: The TVGuardian monitors the hidden closed-captioning signal and compares those words to it’s database of offensive words and phrases. When an offensive word is detected it mutes the sound for the sentence and displays a replacement text on the screen.

為何各國利率差異可以維持?

我一直在想, 為何有些國家的利息高, 有些國家的利息低, 很多金融機構也在套利, 為什麼就沒辦法達到均衡狀態呢? 在電路學裡面, 高電壓流向低電壓, 就會產生電流. 低利率流向高利率就會產生金流. 就算是金鼎電池也有枯竭的時候, 為何這個世界的金量 (電量) 可以撐這麼久?

在網路上查了一下, 得知賺取利差的金融機構還必須購買高利率貨幣的遠期外匯合約, 事先把利息兌換回來, 以避免匯兌損失吃掉利差. 如果明知道近期匯率和遠期匯率有利差, 又會有更進一步的衍生性金融商品來套利, 最後便會搞出一個恐怖平衡, 再也沒有人可以明確解讀.

這些衍生性金融商品相當於一個負回饋的 IIR 電路, 裡面有很多時變 (time-varying) 的元件. 一般人只看得懂局部 "電路圖" 的投資人, 會誤以為有利可圖, 但其實未必, 風險永遠存在.

百度上面有個國際套利的例子, 上面有點小錯誤, 我已經將它修正在此 (用紅色). 

…用一個例子說明抵補套利的實際情況。設套利者的本金為$1000,英鎊利率=10%,美金利率=4%,英鎊即期匯率為$2.8/£,英鎊遠期匯率為$2.73/£。

套利者年初把美元換成英鎊存在英國銀行:   $1000÷$2.8/£=£357   

1 年後所得利息為:   £357×10%=£35.7   

根據當時簽定合同的遠期匯率,相當於$97(£35.7× $2.73/£),這是套利者的毛利潤,

從中減去套利的機會成本40 美元($1000×4%),套利者所得的淨利潤為57 美元($97—$40)。

這個例子說明,套利者在買即期英鎊的同時,以較高遠期英鎊匯率賣出英鎊,避免英鎊匯率大幅度下降產生的損失,

在1 年之後,即期英鎊匯率$2.4/£,套利者仍按$​​2.73/£賣出英鎊。

世界主要股市本益比

剛剛看到垃圾信的信箱裡面有封推薦大陸股市的廣告, 不由得回想起最近在每個地方看到的資訊都是一致的. 既然大家的想法都一樣, 可見得很難賺錢…

每個專家都說現在陸股的本益比偏低, 已經跌了好幾年了云云. 不過至少到 3 月底為止, 除了東京, 其他國家好像都比台灣慘. 台胞實在沒什麼可以抱怨的. 反倒是台股的本益比這麼高, 看起來有下修空間. 而講到中國股市, 這兩個證交所的本益比差異還頗大, 它們近年來根本很少同步, 深圳的股票就是比上海貴.

所以單純看到陸股的本益比低於台灣, 並不見得是獲利的保證. 倒是在台灣找不到投資標的的時候, 參考一下陸股也是無妨.

台灣證券交易所資料

關於薪資的統計數字

剛剛在 Facebook 上看到朋友轉貼的一篇 “人力銀行民調亂象肆虐 惡整上班族薪資!“. 忽然很好奇怎麼樣的薪資調查算是惡整呢? 隨意 Google 一下, 得到以下的結果. 大家看了就會有個概念.

基本上, 會到人力銀行找工作的人, 對於現在的工作多半不夠滿意. 所以由他們調查出來的數據一定偏低. 如果是 IEEE 調查他的會員, 或是 EE Times 調查他的訂戶, 得到的數字一定比較高. 如果這個數字是由政府提供的, 相信也是偏低. 因為企業主不想繳那麼多稅, 市民也不想引起稅務機關的注意, 往往寧可以多報少.

此外, 平均出來的薪水其實意義不大. 我把我過去 20 多年的薪水列出來, 標準差就很大了, 何必再去跟別人比? 在此只是驗證一下人力銀行倒底有沒有惡整大家的薪資? 看起來還算是可以理解.

1. 1111 人力銀行: 由登入1111人力銀行履歷的求職者填寫現職或前一份工作的薪資,共回收345,993份來自不同職務類別、不同背景求職者所填寫的完整資料。

2. YES123 – YES123 把所有工作項目分開, 所以我就挑一個在 1111 也算名列前茅, 而我又比較熟悉的 FW 工程師來當樣本. 以下都用這個方式來呈現, 以製造業, 碩士生, 軟體研發工作的薪資為參考基準.

3. 行政院勞委會

101年3月薪資與生產力統計結果
發佈單位:統計處第三科 發佈日期:2012-05-22
一、平均薪資:

101年3月工業及服務業受僱員工每人月平均經常性薪資為37,360元,較上月增加0.83%;若與上年同月比較亦增2.04%。3月平均薪資(含經常性與非經常性薪資)為41,298元,較上月減少2.02%,若與上年同月比較則增0.87%。  

1 至3月經常性薪資為37,160元,較上年同期增加1.87%,非經常性薪資(含年初發放之年終獎金、績效獎金及加班費等)為18,507元,較上年同期減少7.26%,兩者合計後之1至3月平均薪資為55,667元,較上年同期減少1.36%;扣除同期間消費者物價指數上升1.28%,實質平均薪資減少2.61%,實質經常性薪資則增0.58%。

各教育程度別無工作經驗者每月平均經常性薪資(專業人員)(100)(單位:元)
研究所及以上
平均薪資 女性薪資 男性薪資 女/男(%)
製造業 34982 34723 35220 98.59

4. 104 – 104 薪資情報

5. 付費資訊

(1) 104 企業會員

(2) 中華人事主管協會

(3) 仲悅企管顧問有限公司

6. 不要錢的資訊

(1) Mobile01 的民調 (現在有 61 頁, 雖然免費但是會看到頭暈)

7. 外國的資訊

(1) 2010 EE Times Global Salary & Option Survey

The average base salary among the North American engineers surveyed totaled just over $100,000; annual compensation, including bonuses and overtime pay, averaged $107,300, according to our findings. North American engineers also reported the highest job satisfaction (64 percent) among the respondents.

Bonus totals for European engineers were similar, the survey found, with more than 50 percent of the respondents having received bonuses in the past year that were bunched between $1,000 and $10,000.

如果不跟美國人比, 只和大陸人比的話. 每年的總收入 (包括獎金, 紅利) 除以 12 的平均值大約是 40,842 NTD (假設匯率 1:29). 老實說, 會訂閱 EE Times 的工程師, 應該比較少是菜鳥. 所以回覆 EE Times 調查的對象, 我想會高估一點. 

話說大陸人薪水還比印度低, 值得注意.

8. 大陸遊戲網站的調查 – 17173.com 

這是針對遊戲產業的工程師所做的數據, 中位數大約在 5000 人民幣左右, 也就是 23,000 NTD (匯率 1: 4.6). 不過遊戲業的獎金數字應該不錯, 它並沒有統計在內; 或許是因為這樣才比 EE Times 的數據少很多.