2008年1月29日 星期二

悶悶的氣氛

最近的心情有點悶悶的。

似乎是期末時候忙得不可開交,現在悠閒起來,看了一齣韓劇「咖啡王子1號店」,看完後反而自省著自己的生活,似乎沒有真的很有朝氣地去完成一件事!大概是這個關係,開始悶悶的。

真是奇怪的心情啊,但說真的,我還滿喜歡這部戲,雖然一開始只是很好奇,在想咖啡的戲是如何蔓延,看到最後才知道是男女三角的故事,但我還是很欣賞劇中的恩燦,那麼有活力、自然。

希望自己也能夠如此地面對生活

2008年1月23日 星期三

錄音程式 Audacity

    http://audacity.sourceforge.net/

    The Free, Cross-Platform Sound Editor

    Audacity is free, open source software for recording and editing sounds.
    It is available for Mac OS X, Microsoft Windows, GNU/Linux, and other
    operating systems. Learn more about Audacity... Also check our Wiki and
    Forum for more information.

    The latest release of Audacity is 1.3.4 (beta). Because it is a work in
    progress and does not yet come with complete documentation or translations
    into foreign languages, it is recommended for more advanced users. See New
    Features in 1.3 for more information about the 1.3.x beta series.

    For all users, Audacity 1.2.6 is a stable release, complete and fully
    documented. You can have both Audacity 1.2.6 and 1.3.3 installed
    simultaneously.
--
    可下載相關 dll 檔  即可匯出成 mp3 啦

2008年1月16日 星期三

[C#] 跨執行緒作業無效: 存取控制項 'xxx' 時所使用的執行緒與建立控制項的執行緒不同

    .NET 2005 的 Thread 比較嚴格  不能隨意存取其他 Thread 的資料
    看網路上找到的資料聽說 .NET 2003 是 ok 的


      其錯誤訊息:


        跨執行緒作業無效: 存取控制項 'xxx' 時所使用的執行緒與建立
        控制項的執行緒不同。


    至於用來解決的方式有  BackgroundWorker  等相關技術
    但由於我的目的是要變動 winform 裡頭的東西  不太ok
    最後摸到一個方法:


        http://www.purecs.net/thread/topic736_1.aspx


    簡敘:

        Step 1:


          在 form 中請多添加以下這個 member
          private delegate void InvokeUpdateState(string state); // 依需求


        Step 2:


          要透過 Thread 做動作的東西
          如 event handler 會 call 到的那支 function
          對那支 function 做一些調整


          ex:


          private void show( string k ){
             if( this.form元件.InvokeRequired ){
               this.Invoke(
                 new InvokeUpdateState(this.show) , new object[]{k}
               );
             }else{  // 原先寫好動作的部分


             }
          }
          這樣就沒啥問題了


2008年1月7日 星期一

六招 gdb

    我到現在還只會用 printf  真弱啊  XD  但這招陪伴我解決了大大小小的作業
    雖然 OS 作業有做過 gdb kernel  但其實我不太會去改 kernel  就又忘光了
    今天看 Kudo 稍微操作  還不賴
    亦回想起嵌入式課程的介紹  有些呼應  越來越懂 gdb 的精神了

    記一些簡單的指令就夠用一輩子了

        1.# gcc -g test.c   這應該是加入 debug 資訊
        2.# gdb a.out       出錯時就可以用了
        3.(gdb) run         就給它 run 到出錯處
        4.(gdb) br linenum  就是設中斷點
        5.(gdb) display xx  顯示 xx 變數之值
        6.(gdb) n           往下執行

    這六招就很夠用了哩!!
    以前都沒用過 -g   而修課時又很恍神  今天看大神用才終於融會貫通啊
    簡單地說  就是先按 run 會跑到出錯的地方  因為有 debug 資訊
    所以會顯示在第幾行出錯  此時就可以設中斷點  除此之外還可以設定要顯示的變數
    接下來再 run 一次  就是重跑囉  就會停在中斷點  就可以看到資訊啦

[ESD] Cygwin & SkyEye 安裝紀錄

    原由簡介:
        1.原先課堂上所給的範例都是用 ARM Developer Suite (ADS) 來編譯環境
          但不知為啥  想編 interrupt 都是失敗的
          隨後問了修課的同學  他跑光碟的範例時
          因為 ADS 出現錯誤訊息所以遲遲沒用  那個訊息如下
                            Missing END directive at end of file
            解決方式(二選一):
                a.其實只要點那個錯誤訊息  就會開啟指定的檔案
                  然後共有三個檔會顯示這個錯誤  當三個檔皆被打開就可以編過了
                b.修改 2410init.s 將
                        GET option.a        =>  GET option.o
                        GET memcfg.a        =>  GET memcfg.o
                        GET 2410addr.a      =>  GET 2410addr.o
                  並記得將檔案也改成 *.o 囉
          而他也告訴我其他 lab 有人也用 ADS 但其 interrupt 效果一樣沒有
          所以我打算使用 cygwin 了

        2.使用 SkyEye 是很特別的理由  最主要的原因是沒有板子  orz
          然後他可以模擬一些東西  我還在嘗試中  :P

    Step 1: 安裝 cygwin http://www.cygwin.com/
            http://www.cygwin.com/setup.exe
            然後擔心會少裝東西的話  請全選
            結果我發現灌完共 3.34 GB (有含 skyeye & arm-elf-gcc )

    Step 2: 安裝 arm-elf-gcc
            由於光碟有附  就直接擺到恰當的位置
            將 arm-elf-tools-cygwin.tar.gz 擺至 X:\cygwin\usr\local 下
            # cd /usr/local
            # tar –zxvf arm-elf-tools-cygwin.tar.gz
            即安裝完成

    Step 3: 安裝 SkyEye http://www.skyeye.org/
            下載位置 http://gro.clinux.org/projects/skyeye/ 請選 skyeye 類別
            接著把下載到的東西擺到恰當的位置
            將 skyeye_1_2_3_Rel.tar.bz2 擺至 x:\cygwin\home\user\
            # tar -xvf skyeye_1_2_3_Rel.tar.bz2
            # cd skyeye_1_2_3_Rel
            # make
            這樣應該就搞定了
            記得 skyeye 擺在 ~\skyeye_1_2_3_Rel\binary\skyeye.exe

    這樣要的工具都有了

2008年1月6日 星期日

生活的角度

陽光很自然地灑落在寢室一角,望望窗,風淡雲輕。

人,很容易因當下的壓力而縮小了自我的眼光,人,一定需要曬曬太陽!看看那光彩的世界,儘管政局散亂,但總會有那一角,默默成長。這是我搭車返家數次的心得,無論發生什麼困難事,每當我看到慢慢成長的街景、車站,便振奮自己,告訴自己,世界一直變好,幹嘛也不把自己的心情變好呢!

持正向的心,面對生活,自己的生活也會越變越好的。

2008年1月5日 星期六

[Windows] Office 2003 整合 SP3

  Step 1:


    將 Office 2003 正版光碟之映像檔擺在 F: 槽


  Step 2:


    cmd 0:


        F:setup.exe /a


    此時會問你序號  我就順便給了他
    並且安裝在 D:\Office_2003_mix\ 中


  Step 3:


    下載 Office 2003 SP3 並使用解壓縮軟體將之打開
    解縮縮到 D:\Office_2003_mix\sp3


  Step 4:


    開始進行整合


    cmd 1:

        msiexec /p d:\Office_2003_mix\sp3\MAINSP3.msp /a
        d:\Office_2003_mix\PRO11.MSI shortfilenames=true /qb
        (上兩列要和成一列使用)


    cmd 2:


        msiexec /p d:\Office_2003_mix\sp3\OWC11SP3.msp /a
        d:\Office_2003_mix\OWC11.MSI shortfilenames=true /qb
        (上兩列要和成一列使用)


    經過上述即完成整合
    可以將 D:\Office_2003_mix\sp3 此目錄刪除


  Step 5:


    此時 D:\Office_2003_mix 即為 Office 2003 with SP3
    目錄大小約 720 MB
    所以  我就只是簡單地壓縮起來  用7z的zip壓縮為 388 MB
    未來要再製成 DVD 安裝片再說吧  :P


 


2008年1月2日 星期三

[ESD] arm-elf-tools with Cygwin


    #### arm-elf-tools-cygwin.tar.gz @ Creator_V1.18 光碟中
    #### 上網下載 cygwin @ http://www.cygwin.com/

    Step 1 : 安裝 cygwin , 簡單的灌法就是全選  XD

    Step 2 : 將 arm-elf-tools-cygwin.tar.gz 擺至 X:\cygwin\usr\local 下

    Step 3 :
             # cd /usr/local
             # tar –zxvf arm-elf-tools-cygwin.tar.gz
             即安裝完成