Friday, October 9, 2015

U-boot porting JZ2440 - support NAND FLAHS

3.6 修改UBOOT支持NAND FLASH
3.6.1 修改:include/configs/smdk2440.h: #define CONFIG_CMD_NAND   
3.6.2 drivers/mtd/nand/s3c2410_nand.c複製為s3c2440_nand.c

U-boot porting JZ2440 - support DM9000

3.7 修改UBOOT支持DM9000網卡
3.7.1 搜尋DM9000關鍵字, 發現/driver/net/Makefile中,
 ======================================================
Makefile
......

Character Bitmap display - 3. use Freetype lib.

2.3 Use Freetype libraury

  • 可變大小字體
之前在LCD上顯示的字體為固定大小,無法調整大小,這邊利用 Freetype libra. 來讓字體可以旋轉、改變大小。


  • 原理簡述
Freetype 將一個文字,分解成關鍵點、貝塞爾曲線,利用文字關鍵點、透過貝塞爾曲線連接關鍵點,形成若干個閉合曲線所構成的文字,再填充文字內部,即可形成一個向量圖型文字,好處是只需要儲存少量資訊,且顯示字體的大小,不受解析度影響,既放大字體不會降低繪製的精度。

Wednesday, October 7, 2015

Character Bitmap display - 2

2.2 LCD上顯示固定大小中英字體
需先安裝 LCD Driver,接著撰寫應用程式,導入HZK16漢字庫,將要顯示的字元,透過漢字庫,尋找到相應字元,輸出到 LCD 螢幕上。

  • HZK16重點摘要:

Character Bitmap display - 1

2.1 字元編碼觀念

  • 文字編碼方式

原始檔案用不同的編碼方式編寫,會導致執行結果不一樣
怎麼解決?編譯器時,要指定字元集
查詢: man gcc , /charset
-finput-charset=charset  表示原始檔案的編碼方式, 預設以UTF-8來解析
-fexec-charset=charset   表示可執行程式裡的字時候以什麼編碼方式來表示,預設是UTF-8
gcc -finput-charset=GBK -fexec-charset=UTF-8 -o utf-8_2 ansi.c

實驗:將兩種不同編碼方式的文件(ansi.c and utf-8.c),字元"abc中"輸出16進制數值