【參考】
【ATA】Advanced Host Controller Interface
- SATA: Serial ATA
- normal mode
- AHCI(Advanced Host Controller Interface,Enhance) mode
- PATA: Parallel ATA(ex.IDE)
【名詞】
- HBA(host bus adapters), 1~32 ports
- ATAPI(ATA Packet Interface)
- EIDE(Enhanced IDE)
- FPDMA Queued Command protocol
【參考】
- AHCI Specification http://www.intel.com/technology/serialata/ahci.htm
- Seagate Momentus XT 500GB,Hybrid硬碟大爆發 (HDD+SDD)
http://www.techbang.com.tw/posts/3137-seagate-momentus-xt-500gb-a-large-outbreak-of-a-new-generation-of-hybrid-hdd-liao-bisheng - 兩千元的SSD能幹嘛?(上)
http://www.techbang.com.tw/posts/2766-two-thousand-dollars-of-the-ssd-can-be-doing-a-liao-bisheng - USB 3與SATA 6G主機板,出來單挑(3)
http://www.techbang.com.tw/posts/2114
【Meego】SDK with Xephyr
【目的】
- 建立本機 meego sdk chroot。
【環境】
- Ubuntu 10.04
【安裝】
- 下載 sdk
$ wget http://download3.meego.com/meego-netbook-ia32-1.0.80.12.20100727.1-sdk-pre0729.tar.bz2 - 解壓縮 sdk
$ tar xvjf meego-netbook-ia32-1.0.80.12.20100727.1-sdk-pre0729.tar.bz2 - 下載 meego chroot
$ wget http://download3.meego.com/meego-sdk-chroot - 解壓縮 chroot script
$ tar zxvf meego-sdk-chroot - 設成可執行
$ chmod +x meego-sdk-chroot - 掛載 Meego Image
$ mkdir /tmp/meego
$ mount -o loop,offset=512 ./meego-netbook-ia32-1.0.80.12.20100727.1-sdk-pre0729/meego-netbook-ia32-1.0.80.12.20100727.1-sdk-pre0729.raw /tmp/meego/
$ ./meego-sdk-chroot /tmp/meego - 由Xephyr啟動 Meego
$ xhost +SI:localuser:ed
$ export DISPLAY=:0
$ /usr/bin/startmeego& - 如果要 debug 的話,最後一行命令改為
$ /usr/bin/startmeego-debug& - 結束 Meego
$ exit
【除錯】
- (TBD)
【Qt 應用程式開發】
- 有許多方法,以 Host/Target 為例。
- Host 端,以上面環境為主( meego sdk chroot)
- 啟動 Qt Creator。
- Target端,準備一台機去可以用 Meego Usb dongle 開機。
- 啟動 sshd support。
- Host 端,以上面環境為主( meego sdk chroot)
- (tbd)
【問題】
- 如何產生 vmware 用 image。
參考 Image Creation http://wiki.meego.com/Image_Creation
【參考】
- MeeGo SDK with Xephyr
http://wiki.meego.com/MeeGo_SDK_with_Xephyr - Getting started with the MeeGo SDK for Linux
http://wiki.meego.com/Getting_started_with_the_MeeGo_SDK_for_Linux - MeeGo SDK for Linux 模擬器的安裝
http://blog.jangmt.com/2010/06/meego-sdk-for-linux.html - 在 Linux 上使用 MeeGo SDK
http://blog.csdn.net/vip_dog/archive/2010/06/01/5639132.aspx
【Google】Google command line
【目的】
- 透過 Googlecl 更新資料。
- Ubuntu 9.10
- 首先安裝相關套件 python-gdata
$ apt-get install python-gdata - 下載 googlecl
$ wget http://googlecl.googlecode.com/files/googlecl_0.9.9-1_all.deb - 安裝 googlecl
$ dpkg -i googlecl_0.9.9-1_all.deb
- Usage Helper
- $man google
- Contacts
- add example
$ google contacts add "test1,test1@kimo.com"
- add example
- (tbd,其它還有很多功能)
- 可以跳過認證視窗嗎? 直接由命令列帶參數傳送帳號與密碼。
- googlecl (Google 命令列工具) , 這實在太威了....
http://blog.jangmt.com/2010/06/googlecl-google.html - 怕了吧,我用命令列玩Google
http://www.techbang.com.tw/posts/2904-googlecl - ExampleScripts
http://code.google.com/p/googlecl/wiki/ExampleScripts
【AVR】Linux
手邊還沒有機器,先寄一下筆記。
【目的】
- 建立 Linux 下的編譯環境。
【環境】
- Ubuntu 10.04
【步驟】
- 安裝 toolchain/tools
$ apt-get install gcc-avr binutils-avr avr-libc - 安裝燒錄軟體
$ apt-get install avrdude - 範例程式 (hello.c)
#define F_CPU 1000000UL #include <util/delay.h> #include <avr/io.h> #include <stdio.h> int main (void) { printf("Hello AVR\n"); return (0); } -
編譯
$ avr-gcc -mmcu=atmega48 -Wall -Os -o hello.o hello.c
- 輸出成用來燒錄的 hex 檔
$ avr-objcopy -j .text -O ihex hello.o hello.hex - 燒錄驗證 (無機器,尚未驗證)
$ avrdude -p m48 -c usbasp -e -U flash:w:hello.hex
【補充】
- Toolchain
- GCC
- /usr/bin/avr-gcc
- Include
- /usr/lib/avr/include
- avr/io.h
利用 ifdef 來決定要帶入的 include file,如 ATmega48 為 iom48.h。#ifndef _AVR_IO_H_ #define _AVR_IO_H_ #include <avr/sfr_defs.h> #if defined (__AVR_AT94K__) #elif defined (__AVR_ATmega48__) # include <avr/iom48.h> ... #endif
- util/delay.h
提供現成的 _delay_us()/_delay_ms() 函數,
F_CPU 值是 1000000UL。void _delay_ms(double __ms) { uint16_t __ticks; double __tmp = ((F_CPU) / 4e3) * __ms; if (__tmp < 1.0) __ticks = 1; else if (__tmp > 65535) { //__ticks = requested delay in 1/10 ms __ticks = (uint16_t) (__ms * 10.0); while(__ticks) { // wait 1/10 ms _delay_loop_2(((F_CPU) / 4e3) / 10); __ticks --; } return; } else __ticks = (uint16_t)__tmp; _delay_loop_2(__ticks); } void _delay_us(double __us) { uint8_t __ticks; double __tmp = ((F_CPU) / 3e6) * __us; if (__tmp < 1.0) __ticks = 1; else if (__tmp > 255) { _delay_ms(__us / 1000.0); return; } else __ticks = (uint8_t)__tmp; _delay_loop_1(__ticks); }
- avr/io.h
- /usr/lib/avr/include
- Library
- /usr/lib/gcc/avr/4.3.4/
- GCC
- (TBD)
【參考】
- 初尝Linux下的AVR单片机开发
http://www.lerich.com/viewthread.php?tid=367&extra=page%3D1 - Linux AVR GCC 編譯器歷險記
http://zylix666.blogspot.com/search/label/AVR開發工具 - 实验2-5-4:AVR串口 getchar(),getchar(),printf()等函数的使用
http://bbs.avrvi.com/read-htm-tid-2587.html - How to program the Pololu 3pi Robot using C language - "Motor Control"
http://seeyababy.blogspot.com/2010_03_01_archive.html
【Android】NDK
【目的】
- NDK 的使用。
- Ubuntu
- 下載 Android NDK
http://developer.android.com/sdk/ndk/index.html
- 官方範例的程式位於 <ndk>/samples/<name>/jni/ (i.e. ${android-ndk}\samples\hello-gl2\jni )
【說明】
(tbd)
【Review point】
- 何謂 Activity/Task/Process。
- Traceview
- oha/non-oha
【參考】
- Google Group adroid-ndk
http://groups.google.com/group/android-ndk - Learn about Android Internals and NDK
http://www.youtube.com/watch?v=byFTAhXVF7k - GoogleDevelopersZHTW 的頻道
http://www.youtube.com/user/GoogleDevelopersZHTW - Android 簡介 -- Google 2008 台北程式開發日
http://www.youtube.com/watch?v=IiMjX2nVVGw&feature=channel - Android: Dalvik VM Internals -- Google 2008 台北程式開發日
http://www.youtube.com/watch?v=FsNKIo4bIro&feature=related
【Qt】Mouse and Key Event
【目的】
- 取得滑鼠位置。
- 取得使用者按下按鍵。
【程式】
擷取片段重點。
- mainwindow.h ( 主要是要重載 event )
class MainWindow : public QMainWindow { ... private: Ui::MainWindow *ui; void keyPressEvent(QKeyEvent *); void mouseMoveEvent(QMouseEvent *); void MousePressEvent(QMouseEvent *); ... }; - mainwindow.cpp ( 實作重載的 event)
#include <QKeyEvent> #include <QtDebug> #include <Qt> ... void MainWindow::keyPressEvent(QKeyEvent *ke) { qDebug()<< "nativeScanCode: " << ke->nativeScanCode() <<endl; qDebug()<< "key: "<< ke->key() <<endl; } void MainWindow::mouseMoveEvent(QMouseEvent *me) { setMouseTracking(true); if (me->buttons() == Qt::RightButton) { qDebug() << "RightButtom"; } else if (me->buttons() == Qt::LeftButton) { qDebug() << "LeftButton"; } else if (me->buttons() == Qt::MidButton) { qDebug() << "MidButton"; } qDebug() << "Mouse(x,y):" << me->x() << me->y(); } void MainWindow::MousePressEvent(QMouseEvent *me) { qDebug() << "Mouse(x,y):" << me->x() << me->y(); }
- Press Key "A"
nativeScanCode: 30 key: 65
- Drag-and-drop Mouse and hold mouse’s left button
LeftButton Mouse(x,y): 257 164
- setMouseTracking 動作結果和想像中不同。
- MousePressEvent 動作結果和想像中不同。
- 如何在沒有鍵盤/滑鼠的手機(i.e. Nokia 5800)得到使用者的輸入(手勢;Gesture)。
【參考】
- Qt4 Gossip: 拖放的執行與接受
http://caterpillar.onlyfun.net/Gossip/Qt4Gossip/DragExecAccept.html - ASCII Chart
http://www.jimprice.com/jim-asc.shtml#keycodes - Linux Keycode Table
http://www.comptechdoc.org/os/linux/howlinuxworks/linux_hlkeycodes.html - 九、Qt Creator中鼠标键盘事件的处理实现自定义鼠标指针
http://www.yafeilinux.com/?p=43 - 使用Toolbar API - S60 Touch UI
http://wiki.forum.nokia.com/index.php/使用Toolbar_API_-_S60_Touch_UI
【札記】七月底釣小管
【20100701】想用我五萬公哩的哩程來換一張來回機票,不過一直都只能訂到候補機位,只好先訂了再說。然後再請老婆去華航票務組問看看何時候補的到。剛好在查華航在台北的票務組的時候突然看到華航在 LAX的票務組( 200 N. Continental Blvd. EL Segundo, CA 90245, U.S.A.)只記得那時在美國出差的時候超過預計回來的日期,還千哩迢迢的和同事從 Irvin 跑來這邊改機票日期。只記的斜對面有一大片停車場,不過停的車子卻很少,一片空曠的感覺,好懷念。
【20100702】老婆趁下班的時候,跑去換她和我的換國際駕照,不過卻發現我的駕照過期了,且我的照片她只帶一張,只能先換駕照,之後再幫我換國際駕照了。駕駛人公會 台北市內湖區舊宗路2段181巷10號1樓。
【20100703】台北市室外溫度38.x度。下午我家西曬,室內溫度高達34.x度,不過我的耐熱功力越來越厲害了,還是不用開冷氣。
【20100704】早上陪老婆去二重國中考試,七點多出門,七點半就到了。今天還是一樣非常熱,不過幸好學校開放式視聽室給陪考人員。老婆考完試就直接搭高鐵回她家了。
【20100706】老婆今天回台北了。
【20100709】請假一天,和老婆開車去朱銘美術館。順便練一下開車技術。
【20100712】放三天假,回公司上班第一天。
【20100714】和老婆至北醫看醫生。回到家已經11點多了。
【20100716】老婆去看中醫,中醫說之前北醫的檢查結果有點還需探討的地方。
中醫生建議我們再多找一家西醫確定一下。
【20100717】由於最近左眼度數不太穩定,剛遍的眼鏡過沒多久,員工健檢時發現只剩0.5。
到書田看眼科,醫生說我可能有提早老花眼的現象。
【20100718】晨泳第二天。
【20100719】晨泳第三天。多加跑操場三天。
老婆早上去看婦產科。順便載我去上班。
【20100720】昨晚預購游泳年票,由於剛好這個月生日,所以省了2000元加入會員的部分。
【20100724】預計活動
陳老師帶家人上台北。
- 北美館 http://www.tfam.museum/03_Exhibitions/Default.aspx?PKID=350 (有教師證門票只需150)
- 年代售票 http://www.ticket.com.tw/dm.asp?P1=7000002160
- 家樂福大直店 生活便利站 台北市樂群三路218號 (02)8509-5577
http://www.ticket.com.tw/points/north04.asp
- 家樂福大直店 生活便利站 台北市樂群三路218號 (02)8509-5577
- 交通
- 停車 7/17起花博期間道路封閉,停車場停止開放
http://www.tfam.museum/20_News/News_List.aspx?MessageID=303 - 公車
直接搭接駁車即可。
- 停車 7/17起花博期間道路封閉,停車場停止開放
- 年代售票 http://www.ticket.com.tw/dm.asp?P1=7000002160
- 士林夜市,臭豆腐和藥燉排骨。
- 美麗華摩天輪,假日門票 200。
- 美麗華IMAX http://www.miramarcinemas.com.tw/imax/show.htm
全面啟動 - 動物園 http://www.zoo.gov.tw/ 上午9:00至下午5:00 (沒去)
- 貓空纜車 http://gondola.trtc.com.tw/ (沒去)
可直接由動物園內站搭乘,人較少。
【20100731】預計活動
- 碧砂漁港釣小管
- 收穫
當天只有一隻白帶,一隻章魚,一隻河豚。
- 收穫
【Notes】
- RedEye mini把你的iPad/iPhone變成紅外線遙控器
http://chinese.engadget.com/2010/07/11/ir-beaming-redeye-mini-ipad-iphone-remote-dongle-gets-real-it/ - 數位信號與光電量測應用於機電整合
http://cslin.auto.fcu.edu.tw/scteach/interest.htm
【Qt 】Piano Keyboard
Virtual MIDI Piano Keyboard
http://qt-apps.org/content/show.php/Virtual+MIDI+Piano+Keyboard?content=88233
類似電子琴的軟體。
【參考】
- C++ > Games sample source codes
http://www.cplusplus.happycodings.com/Games/code16.html - C# Remote Control using the Audio Port
http://www.codeproject.com/KB/windows/PocketBeamer.aspx

