2009年12月7日 星期一

DLNA-回答上篇網友的問題

DLNA 是我在研究所的時候 所follow實作的一向數位家庭共通標準..
那時候guideline剛好在訂 教授也對這有興趣 所以就實作了一篇相關的論文

網友Alfrad問:
HC...你家裡有用過DLNA嗎?效果如何啊,是不是真如介紹所說的DLNA產品間不用什麼設定就可以相互傳輸資料。另外,我很好奇,要如何才能使電子產品具備DLNA功能呢?除了該產品本身一定要有網路連結功能外,是用寫程式的方式嗎?那是用哪種台平撰寫?可以解迷一下嗎?

我來一條一條回應一下好了 順便變成這篇文章
1. 我沒有買過任何相關dlna的產品, 不過現在好像越來越多廠商有出, ex: Sony的液晶電視,筆記型電腦 PSP, PS3; MS的Xbox360, 還有一些有貼上DLNA的NAS..接下來還有一堆PMP會支援這個標準

2. DLNA裡頭有規範auto-IP的測試項目, 基本上你拿到家裡的環境後,讓它自動取得IP address或是透過wireless的WPS(Wifi Protected Setup)功能來簡單按一個鈕讓裝置與WiFi AP配對來加入至家中的network環境上. 基本上只要能夠加到 Home LAN裡頭, 且遵照著DLNA的標準的device就能分享及互通這些多媒體格式.

3. 至於要怎麼具備DLNA的功能...這需要貴公司加入DLNA.org取得member或是買它的guideline(這應該不便宜). 遵照著裡頭要你去兜的function (如 UPnP 網路 protocol stack)
然後再拿去實驗室裡頭認證, 取得logo 就是一台具備dlna功能的device囉..詳細可能得到網路上google一下, reference超多的. http://www.dlna.org 協會的官網也有豐富的資料和他要達到的理念.

4. 至於用哪個平台...linux/win32 用 c/c++/java都有人implement. 有些很有名的open source 專案
http://elinux.org/DLNA_Open_Source_Projects 這個link你可以看到很多相關的內容..

5. 不曉得這樣子有沒有解謎了..

2009年12月1日 星期二

換新工作邁入第三週囉

來到新工作的環境已經第三週(其實是第10天)囉

已經慢慢適應跟以前不一樣的生活
工作要專心 晚上八點多走是正常 ..

新工作的任務是弄研究所論文所做的DLNA
我們要將device加入這個stack以及要驗證過logo

經過這10天的study, K spec. 以及看一些 open source的library
心裡應該是有底了~ 接下來就是要porting到我們的platform囉(看起來這是最大的effort)

加油..希望能夠如期完成 讓長官們拿出去demo..

2009年11月4日 星期三

[Android] 安裝開發環境

Steps:
  1. 到 eclipse官方網站下載 eclipse IDE tool (http://www.eclipse.org/downloads/) 找Eclipse Classic 3.5.1 (162 MB) 這個就對了 developer.android網站建議 3.5以上 選classic版本
  2. http://developer.android.com/intl/zh-TW/sdk/installing.html 下載sdk 目前我下載最新的 android 2.0 sdk, 裡頭有個 sdk download tool 用這個來下載sdk offline. 對了 如果遇到error, 記得把 https://dl-ssl.google.com/android/repository/repository.xml 這段網址裡頭的 https改成http喔 這樣子就能成功retrieve sdk了
  3. 將解開來的sdk/tools 的路徑加到系統變數的PATH中
  4. 打開eclipse 照著這篇安裝ADT(http://developer.android.com/intl/zh-TW/sdk/eclipse-adt.html)
  5. 大致上到這裡就可以開始寫code了

[課程重點] Linux 基礎指令班-2

上一篇介紹一些重要且常用的指令之後 這篇來討論一些小細節

(1) kill 指令-其實他只是送個signal給process 讓process作他需要做的事情.以下是常用的訊號
  • HUP/1: #> kill -HUP [ProcessID] or kill -1 [ProcessID] 將連線中的process 使其斷線
  • INT/2: 送出ctrl+C 中斷訊號
  • KILL/9: 若寫出一個無法正常結束的程式就用 #>kill -9 [ProcessID] 吧.強制終止
  • TERM/15: 這是送出一個正常結束的訊號. #default.
(2) mount/unmount指令-掛載檔案系統的指令, 掛載隨身碟/網路磁碟/光碟機/檔案系統檔案..
  • mount [options] device directory
  • 詳細檔案系統參數就 #> man mount 吧
(3) ln檔案連結指令, 用 #> ls -li來看他是否有作soft/hard link
  • #>ln [options] file link/directory
  • ex: #>ln -s test.c test_ln.c 建立一個類似捷徑的soft link, i-node#不會一樣.類似指標的意義
  • ex: #>ln -i test.c test_hln.c 產生出一個檔案大小一樣且i-node#一樣的檔案(ls -li第三個欄位有紀錄這個檔案有幾個hard link)
(4) du/df 檔案使用檢視指令
  • ex: #>du -m 當前目錄所有檔案使用空間情況(-m means 以MB為單位顯示)
  • ex: #>df -m 觀察硬碟空間使用情形(-m means 以MB為單位顯示)

[課程重點] Linux 基礎指令班-1

在2009/06/27-28 上的這門課 現在把重點精要寫在這邊

如果需要體驗的話 以下兩個方式可以在windows system下很迅速的體驗linux作業系統
1. 安裝 cygwin: 這個東西就是run在windows下的一套unix like環境.當然也可以很正常的利用這裡頭的tool來compile 程式碼, 作一些在linux的事情,詳情請見 http://www.cygwin.com/ 這個網址

2. 安裝virtual box虛擬機器環境並且在裡頭安裝一套linux OS, virtual box(http://www.virtualbox.org/) Ubuntu Linux OS (http://www.ubuntu-tw.org/)

安裝完上述的環境之後 就可以開始測試以下這些command囉, 節錄比較重要和常用的
1. 指令說明: man, info 這兩隻可以查指令的說明. 當然有時候也可以鍵入 #>指令 -help 或是 ?

2. 系統管理員指令: su/sudo, 通常建議不要用root login來做事.如果想要變身為root(超級使用者)用su指令

3. 系統訊息: dmesg 用這個指令可以看到目前driver是否有install以及一些系統訊息

4. 程序相關指令: ps(列出使用者所run的process), pstree(檢視父子process關係), kill(送訊號給process, 殺掉他也是送個訊號), fg/bg/job(將process切換至背景/前景模式), top(檢視目前系統process runnig資訊以及cpu/memory使用率)

5. 網路相關命令:ifconfig (跟windows的ipconfig相關且更強大), netstat/ping/route(檢視網路狀況)

6. 壓縮指令:壓縮 (tar -zcvf) 解壓縮(tar -zxvf)

7. 文字尋找,檔案搜尋: ls, find, grep 等等...

TI Wl1271 告一段落

Porting 這顆 wifi device driver 要注意幾件事情:

1. 底層的sdio要通 送 CMD0,5,3,7 要能成功之後作CMD52/53 大致上 fireware download就okey了
2. 中斷問題:這東西比較depends on platform. 這讓我們改了一些中斷在kernel的函式.用 customization 的中斷pin..就成功了 (本來偷用 Ethernet chip的中斷pin, 後來自行仿造一個來用 就成功了)

大致上 wifi device driver就起來了, 也能順利的與chip firmware 作溝通.. 接下來要調 RF參數讓wlan connect到AP了..

以上是上星期以前的事情..現在上面又要我們survey CSR的 wlan chip..上週開會回來..
CSR的 BT+WLAN 好像可以省掉我們porting device driver的痛苦..看來 我們又只要打電話給FAE就好了..

終於上完Embedded Linux BSP的課程

在這整個學程當中 只有pick幾個比較有興趣課程

接下來在上班前 把這些東西整理一下
作成筆記 好讓未來上班工作的時候 比較好查詢

在上班之餘 放假的時間 偶而拿來充實自己 充電一下
是很不錯的 當然看到外面高手那麼多 也可以避免自己太自侍能力和經驗..