• 1 
瀏覽模式: 普通 | 列表
08
29

用pure C寫CGI的輔助工具-CGIC library

如何善用現有的library增快自己開發程式速度是現代工程師的課題,其實從我開始寫程式以來,大部份的動作,都是剪剪貼貼,看到不錯的演算法,就剪貼,看到能解決我問題的方案,也剪貼,我覺得只要能看得懂程式,就不算太嚴重的抄襲,甚至我可以補足這個程式某些沒有的功能,或加強程式的演算法,這些都能提昇我個人程設能力的credit

好了,廢話說太多了,這篇文章主要是介紹如何用c語言快速的寫出CGI程式,而我用的library就是大名鼎鼎的CGIC,這個library簡化了form與cgi溝通時所需要撰寫的複雜程序,工程師只要專注在不同type物件的name及value欄位即可

[閱讀全文]

標籤: linux
08
27

SQUASHFS-Linux壓縮型檔案系統的王者

squashfs是眾多Live CD使用的檔案系統,Why?因為它那嚇死人的壓縮率,舉個例子,以筆者製做的root file system為例,壓縮過後的initial ram disk大小為1.3MB,但squashfs製做出來的file system image只有500多k,squashfs image居然只有compressed initial ram disk image一半的容量,這種節省儲存空間和記憶體空間的檔案系統,最適合在台灣用了,因為代工廠最需要的cost down,這種軟體技術做到了在小容量記憶體系統中放大檔案的可能性

[閱讀全文]

標籤: embedded
08
27

RAMFS檔案系統-Linux 2.6的新朋友

ramfs可能是我目前看過最容易上手的linux檔案系統,設定的方法非常簡單,進入kernel選單後,只要勾選[Initial RAM file system and RAM disk (initramfs/initrd) support]和設定Initialramfs source file,就可以在編譯kernel時把file system和kernel一起打包,設定的方法大致如下圖

[閱讀全文]

標籤: embedded
08
26

CS8900A Linux驅動程式介紹

記得之前在面試某家CHIP Vendor時,面試官對我之前寫過的(應該是抄過的)S3C4510b網路驅動程式很有興趣,他很詳細的問我每個流程,而且還不准我看資料必需馬上回答他,說老實話,S3C4510B的網卡驅動有點小複雜,再加上我已經有一段時間(2,3年)沒碰S3C4510B,整個驅動的細節幾乎都忘了,不過我還記得我開發S3C4510B driver的大概流程

首先針對開發板寫driver時,我都會用ADS搭ICE寫Boot code開始,然後再一步一步新增driver code測試,像4510b上面的UART, nor flash, network,都是慢慢堆積起來的,而這樣邊寫邊看datasheet會讓自己學到很多東西,我覺得一開始寫driver的環境最好不要搭OS,用最乾淨的環境測試,問題會少很多,只要專注在硬體控制就可以了,而且實驗板大部份都通過QC,需要請示波器出來的情況幾乎沒有

[閱讀全文]

標籤: embedded
08
22

JFFS2 file system-老而彌堅的檔案系統

會想寫這個東西的介紹是因為之前在酷學園看到有人提到如何在embedded system上做firmware upgrade, firmware upgrade每家公司的做法都不一樣,但目標都差不多,不外乎bootloader , linux kernel , file system upgrade,有強一點的公司還有做upgrade failure save的功能,而我這邊舉一個很簡單的例子,示範如何在embedded device上做linux kernel的upgrade,並且用jffs2 file system當我們的根檔案系統

JFFS2自2.6開始支援NAND Flash, NAND Flash與NOR Flash的設計理念差很多,為了cost down, NAND flash減少了在NOR Flash上不必要的位址線,改為page read/write方式存取,以QT2410的NAND Flash為例,一次的讀/寫,都是以512 byte為單位,所以Linux為了NAND Flash新增了NFTL(NAND Flash Transition Layer),NFTL最主要的目的,是讓EXT2,EXT3...等不是FLASH專屬的file system讀寫nand flash,而JFFS2或YAFFS都可以不透過NFTL進行FLASH read/write(2009.1.19修改),而細節部份小弟不多說了,google一找都一堆資料

[閱讀全文]

標籤: embedded
08
21

關於CentOS5 YUM套件管理系統

網路上有一堆介紹如何使用它的文章,所以我這邊就不重覆了,而我這篇主要的目的是為了記錄在設定CentOS-Base.repo時碰到的問題,第一個碰到的問題是如何找到國內有提供yum update的站台,第二個問題是如果公司有設防火牆擋部份http通訊,該如何處理

在眾多介紹yum的文章中,我挑選了ftp2.tnc.edu.tw,這是國內少數有提供yum update service並且也還存活的站臺,當然,除了http之外,它也提供ftp傳輸的功能,所以我的CentOS-Base.repo檔的內容就可寫成如下

[閱讀全文]

標籤: linux
08
19

ipkg-輕量級套件管理系統

ipkg是在嵌入式裝置上最常見到的套件管理系統,如iPAQ,或Linksys的WRT54G都可以看到它的身影,其實這幾年來,隨筆者玩的板子越來越多,也發現很多家公司連實驗板都使用ipkg套件管理系統,這樣的目的其一是為了簡化安裝軟體的手序,其二是為了讓實驗板安裝不同的ipk而達到不同的功能,如果一塊板子裝完server.ipk,它就搖身一變為擁有各種不同網路伺服器功能的裝置,如果改裝phone.ipk,它可能又被用來當作電話交換機使用

[閱讀全文]

標籤: embedded
  • 1