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.

Galaxy Note 也升級 Android 4.0 了

某天早上打開 Kies 的視窗時, 赫然發現 Note 已經有新的韌體可以升級了. 點進去一看, 果然是Android 4.0. 我一時手癢, 就叫 Kies 幫我安裝. 結果這個安裝時間大概有 50 分鐘左右, 又不能拔線, 害我上班差點遲到.

新的手機長相和原來差不多, 倒是把我原來排好的 widget 全部改為預設值, 等於我先前白忙了一場. 完整的升級 “開箱文" 請參考這一篇: 三星Galaxy Note終於可以升上Android 4.0版了,趕快來升級吧!

升了 4.0 之後, 當然我最關心的是多了什麼好東西?最大的發現有兩個:

首先就是 “臉解鎖" 不太好用. 在燈光充足的狀況下, 辨識率還算 OK, 畢竟我一天之內也不會變太多. 不過到了光線暗的地方就不行了, 一句 “找不到臉孔" 或是 “抱歉!不認識你.",  就得 key in PIN 或是畫綠色矩陣上的圖形解鎖.

為了增加辨識率, Android 的設定 → 安全性裡面有一個改善臉辨識的選項, 每重新訓練一次, 就要再輸入一次 PIN, 其實真是有點煩. 難道就不能來個 “訓練 10 連拍", 讓我有機會把表情做足, 或每付眼鏡都換一次嗎?這裡還有很多改進空間, 目前只能算是噱頭.

第二個重點就是: 設定 / 儲存空間 / 裝置記憶體 / 總空間變成 1.97GB 了. 我記得它的規格就是 1GB, 以前看也是 1GB, 升級後竟然變成 2GB 了. 而這 2GB 已經用掉了 1.5GB, 也就是我還是只剩下 516 MB 可以用. 所以我猜這是 bug 吧!

2D/3D 繪圖程式庫整理

2D 和 3D 的程式庫相當地多, 每天聽到這些名詞, 不免又手癢想整理一下. 以下就是我的第一版.

 Library 名稱  2D 3D 硬體加速 keyboard
mouse
Note
DFB  V  V  V 主要支援 bitblit, stretch 等基本的繪圖.
GLUT (OpenGL Utility Toolkit)  V  V  V  V 它包含以下幾項
 – OPEN GL  V  V MS 版硬件不支援時用軟件
SGI 版使用純軟件
 – OPEN GL ES  V  V OPEN GL 的子集合
 – OPEN VG  V  V
 – EGL  初始化 2D/3D 方法
 ShivaVG  *  V  以 3D 實作 2D
 QT Modular Class  V  *  V  V 如下圖, Qt 廣泛地包含了許多其他規格,
期中也包括 3D 的插件, 所以用 * 號表示,
下面 GTK 亦同.
 CAIRO  V  V
 SKIA  V  V  Google 擁有
 GTK / GTK+  V  *  V  V 和 Qt 一樣都是 toolkit.
在 2D 的部分是 Cairo,
 GTK+ 2.0  V  *  V  V 和 GTK+ 不完全相容,
2D 部分仍然是 Cairo

[QT Modular Class Library]

Skype 付費陷阱

今天不小心在信箱的垃圾郵件裡面發現 Skype 昨天寄給我的通知, 它說我買的點數過兩天就要到期了, 害我大吃一驚.

當初買這個點數, 主要是為了和印度人做電話 interview (翻成面談就怪怪的, 因為沒有見到面.). 公司雖然有配給點數, 不過一下就用完了. 在假日也沒辦法找管理部補充, 想說幫公司省點錢, 就買下了不少點數, 以便和一大群的印度工程師周旋. 這次到期的就是這些點數. 

Your credit will become inactive in 3 days

You don't seem to have used any of your Skype Credit in a while. It becomes inactive if you haven't used it in 180 days. But don't worry – once it becomes inactive, you can reactivate it whenever you're ready to use it. Simply sign into your account online and follow the option to Reactivate credit.

Your account details:

Skype Name: XXX
Balance: TWD1,874.27

How do you keep your balance active?

It's simple. Do any of the following and your Skype Credit balance will be active for another 180 days:

– Call any phone (landline or mobile) – even if the call lasts for just one second.
– Send an SMS message direct from Skype.
– Purchase a personal Online Number, subscription or voicemail using your Skype Credit.

在這幾個解決方案之中, 我最先想到的是註冊一個大陸的電話號碼, 可惜 Skype 沒有提供這種服務. 於是我改變主意申請一個美國的電話, 說不定以後去 Amazon 買東西可以用得到. 不過點進去看了之後, 發現一個月要花 200 NTD 才能維持住一個美國的號碼. 這樣實在太不划算啦!

送一個簡訊? 嗯, 今天正好是我前長官的生日. 不過我已經在 Facebook 和他打過招呼了, 再送給簡訊似乎 "禮多人奇怪".   最後我就測試打電話這個選項啦. 打給誰呢? 上次銀行幫我開刷卡繳稅臨時額度的小姐曾經問過我公司電話, 我卻支支吾吾地講不出來. 誰沒事會打到自己公司找人呢? 當然不會放在 cache memory, 要到 external storage 找才會知道.

不過, 記不得公司的電話還是有點尷尬的. 我就拿公司的電話來練習一下吧! "擎展科技您好, .."  聽到回應我趕快掛掉, 通話 UI 上顯示我用了兩秒, 不過 Skype 的通話記錄算我 4 秒, 一共花掉 3.19 元. 這筆錢是白花的, 所以一定要抱怨一下.