2005年11月25日

Allway Sync同步軟體與ERAM的邂逅

又好陣子沒發貼文章了~~~

這次要介紹的是Allway Sync這套同步軟體~~~

話說上次開始用ERAM之後,發現實在滿好用的,差就差在關機後所有資料都沒了,我也提到過另一套要錢的商業版就有這個好功能,在關機前會先備份,開機後複製回去,達到資料不遺失的好處。

這樣的功能其實不難做,自己寫都是可以的,無奈實在沒時間,只能找找看有沒有符合需求的免費軟體。

同一時間,我有另一個需求,我希望我筆記型電腦上的某幾個資料夾能夠和家裡的桌上型電腦同步,主要是MSN的聊天紀錄和學校工作的文件夾,不知道有沒有備份、同步軟體可以做到我這兩項需求。

經過努力的搜尋,幾套軟體的測試後,Allway Sync算是最符合我需求的軟體,儘管它仍有一點小缺點,但已經是目前功能最貼近我需求的軟體了。

Allway Sync和Good Sync似乎是同一套軟體,好像也是同一家公司,鬧雙胞的原因我並不了解,感覺有點詭異。
而Allway Sync其實限制頗多,它雖然號稱是freeware,可是只有personal use是免費的,除此外都要求你購買Pro版,而Pro版又沒有列出Pro版的特色,我個人是懷疑,根本是一模一樣的,只差在有沒有註冊碼罷了~~
最可惡的是,它的personal use雖然是免費的,可是授權上有個『但是』,它被限制30天內只能同步20,000個檔案,超過了就不讓你同步,它認為30天內同步超過20,000個檔案,已經不算是personal use了,而是Professional use...........
我對這點.......是非常有意見的,聊天紀錄通常檔案很小,但是非常多...........
加上又是剛開始玩,多少會比較愛碰它,就給我爆了~~~
雖然如此,改日期後還是可以使用,這讓我不會太火大~~~
此外,它雖然支援網芳的同步,卻不支援網芳的認證,以至於直接同步都會error,要先連線後才能按同步,這讓我比較不舒服~~~
再者,它不支援系統服務,也不能夠隱藏右下角的系統圖示,這真的是很讓人討厭的一件事情~~~

上面這五點(授權、20,000檔案限制、不支援網芳認證、不支援系統服務、不能隱藏系統圖示)是它的缺點,下面要說說它的優點......

第一點很重要,它是全中文的,這點就幹掉很多同步、備份軟體了。
第二點,它的介面夠簡單,操作起來非常直覺,我試用過幾套網路上風評很強大的備份軟體,操作起來都非常麻煩,還很醜~~
第三點,它支援雙向同步,這點是非常重要的,很多備份軟體都提供備份功能,卻沒有雙向同步功能,這在一般來說可能沒什麼,但是對於RAM Disk差別就很大了,我不可能把『來源』設到RAM Disk的磁碟,『目的』設到某個目錄,因為開機後來源空了,它會很聰明的把目的內容也通通砍了,同樣的,我也不能把『來源』設到某個目錄,『目的』設到RAM Disk磁碟,這樣根本不會備份,還會幫我把RAM Disk的檔案殺掉,愚蠢至極~~因此這個雙向同步的功能非常重要~~
第四點,雙向同步支援刪除檔案的功能,也就是說在其中一個目錄中有個檔案或資料夾刪除了,它在備份時會自動把另一邊的也殺掉,但在重新開機後的同步時,又夠聰明,不過笨到把另一邊的都砍光,而是把另一邊的通通copy過來~~這點非常成功,對於很多套備份、同步軟體來說,是做不到這樣的功能的~~

基於這四個理由,我認為它還是非常好用的,而且經過了半個月的試用,對於RAM Disk的適應性非常好,好像不曾看過有資料遺失,倒是垃圾目錄、垃圾檔案變多了.... :p

當然啦,還是要稍微提一下有沒有其他很接近的軟體可以選擇~~

我推薦FullSync這套軟體(http://fullsync.sourceforge.net/)~~

這套軟體的缺點有兩個,都很大,以致於不能符合我的需求:
1.它不支援開啟程式後或關閉程式前進行同步動作
2.它雖然有提供雙向同步,但是它的雙向同步是把兩邊檔案通通copy起來,讓兩邊檔案一樣多,所以前面的問題,也就是把檔案或目錄殺掉之後,它會自作聰明的又幫你複製回來

不過我推薦它的原因有幾個:
1.Java寫的,跨平台性較好一點點,而且我有能力修改
2.OpenSource的
3.支援命令列執行動作(Allway Sync也有支援)
4.支援網芳的認證、同步
5.支援包括FTP在內的多種同步
6.雖然目前沒有中文介面,但我有看到有提供多語言選擇,可以自己中文化

如果有時間或能力修改,FullSync應該可以很符合我的需要,但.......時間是很大的問題阿~~~

2005年11月9日

研討會心得~~

今天去台大參加嵌入式研討會,這個研討會是由嵌入式軟體聯盟發起的,經常會舉辦研討會,因為我們老闆是聯盟成員,因此我們做學生的,就被要求要參加~~

儘管如此,每次有活動還是滿讓人高興的,至少能聽聽他們說什麼,還能翹課,算是不錯啦~~

今天一整天的研討會,我只聽了10:30義隆電子和之後CIC的兩篇,獲益良多~~~

我忘了之前有沒有發過關於 FPGA/CPLD 和 Verilog/VHDL 的文章,不過簡單的說,這些都是現在數位IC發展的重要物件和語言。

FPGA/CPLD 和 Verilog/VHDL 是近年熱門的技術。

在電子科系的同學可能都有印象,曾經玩過 74 系列的 IC,其中的 AND/OR/NOT 更是必修....
再來是畫卡諾圖化減,這些.....我都忘得差不多了.... = =||

之後,不知道有多少人聽過或用過PLD這樣的東西,我印象中我是在丙級硬體裝修還是乙級硬體裝修時曾經用過,
PLD是一顆10支腳上下的IC,內部是許多預先設置好的邏輯閘,
我們可以寫類似 A and B or C = D (A,B,C,D均是自己定義的腳位)這樣的形式,然後把它燒錄進去,
它就能夠做些簡單的邏輯運算,更可以省去使用大量 74 系列邏輯 IC。

而隨著科技的進步,製程的不斷精細,PLD 進化了,變成了 CPLD,也多了 FPGA。

原則上,CPLD 和 FPGA 是類似的東西,只是內部基礎的邏輯閘不同罷了,使用上、用途上是相同的。

而這類進化的 CPLD/FPGA 應用了目前不斷變小的製程,不斷的在挑戰能夠容納的邏輯閘數目,邏輯閘數目越來越多,甚至為了稍後提到的用途,
不斷在提昇它的速度。

正因為 CPLD/FPGA 的容量提昇,一種新式的語言出現了,它叫做硬體描述語言,目前主流的硬體描述語言有Verilog和VHDL。

這類的語言變得更高階,讓我們可以使用 if / for / while / switch-case 來撰寫程式,而不用 A and B or C .......

而最終形式則依然是轉化成 AND/OR/NOT 燒錄進 CPLD/FPGA 中,或者是送進晶圓廠製成 IC。

正因為 Verilog/FPGA 讓硬體的開發更容易,因此架構也可以做得更大,目前的 CPU 均是以這種方式開發的,
不論是 Intel 的 P4 或 AMD 的 K8 都是,而往往新聞上會說目前的 P4 估計有 5000萬顆電晶體,怎麼估計出來的?
就是用 Verilog/FPGA 的軟體程式,以類似 M$ Word 的字數統計功能,將轉化成邏輯閘時的數目統計出來的。

當然啦,像 P4,K8 這樣的 CPU 所需的邏輯閘非常多,無法放入 FPGA/CPLD 中,但開發過程仍是相同的。

從這樣的發展我們可以發現,硬體的開發已經走向軟體化了,目前聽研討會時常會聽到 core 或 IP,這是啥呢?

以FPGA/CPLD 寫出來的 IC 程式,我們稱它為IP,中文叫知識產權。
而製作出來的 chip 或某個功能的 controler(像 USB,Ethernet,LCD...等)則可以稱為 core。
儘管這樣形容core有些漏洞,但大致如此,因此目前聽說 P4 要出 Dual-Core 的 CPU,意思是說一顆 P4 的 CPU 當中有兩個 P4-2.4G,
稱呼就是這麼來的,因為 core 本身意味著核心,一個網路晶片,它的 core 自然就是網路功能的controler。

而目前又有所謂的 SoC,到現在很多人還是搞不清楚啥是 SoC。
SoC 叫 System On Chip,又叫系統晶片。
但不是把作業系統放進晶片,也不是把某個系統放進去,而是類似整合式晶片的形式。

例如:一個PDA專用的ARM9 CPU,內含一顆 ARM9 的處理器,又加上 USB Controler、LCD Controler、Serial Port Controler、SD/MMC Controler,
這樣一顆CPU我們就稱它叫 SoC chip。

硬要解釋和系統晶片的關係,大家可以想想電腦的架構,電腦架構上,有 CPU、有系統匯流排、有北橋、有USB Controler...etc,
現在的 SoC chip,內部架構也十分雷同,一樣有 CPU,一樣有系統匯流排,一樣有 USB Controler...etc,因此,SoC 的稱號就出現了。

而目前的發展如何呢?
目前已經有 www.opencores.org 這類的開放 Core 的網站,打算將OpenSource的概念推廣到硬體IP上,
事實上,也的確已經有許多優秀的作品了,而且五花八門,有 RAM 的 IP,ROM 的 IP,USB 的 IP,Ethernet 的 IP ....等。

說了這麼多,和研討會有啥關係,這次研討會,義隆電子展示了它們的成果,將RAM,ROM,Ethernet,CPU 通通包進一個 0.18 製程的 chip 中,
意味著我們可以直接把 OS 燒進 chip 中,chip 開機時會自動載入 RAM 中,即可開機進入 Linux,
我實在懷疑,做成板子後,板子上除了接頭外還需要什麼呢?
也終於搞清楚為啥 OpenCores 的專案中,為啥會有 RAM 和 ROM 的 IP~~

而另一個 CIC 的人講的是關於 ESL,這東西目前很神秘,CIC 那傢伙自己也說,不確定會不會只是個騙局,
聽完後我對它的理解是,ESL 可能是指軟/硬體協同開發。

目前有個新的硬體描述語言叫做SystemC,它開發的目的是希望能夠以 C 來開發硬體,並且讓SystemC 能夠寫軟體,也能夠寫硬體。

這個新的硬體描述語言是OpenSource的專案,以電子產業長期以來都是以大公司主導的市場來看,這東西能否成為主流,或者說能否成功其實都很難說,
但它的確讓軟/硬體能夠有機會一起開發。

我認為 ESL 可能的意思是軟/硬體協同開發,可能會出現類似 Visual Studio .NET 這樣的大型專案軟體,
讓我們可以利用這樣的軟體,多人同時開發同一個專案,可能一部分人透過它寫軟體,一部分人透過它寫硬體,
這種可能性在目前看來,是有機會發生的。