Friday, September 25, 2015

Char Device Driver - 2_led on/off

實作 3:  led 燈號控制驅動程式,針對開發版上個別led燈號做 on/off 控制
加入次設備號,次設備號給自己的驅動程式內部使用,並了解如何撰寫驅動程式的硬體控制,與裸機程式相同,但需先利用ioremap 將 i/o 物理記憶體位置,映射到kernel虛擬地址,此後才可以使用。

Thursday, September 24, 2015

Char Device Driver - 1_Architecture


驅動程式框架:
User space 的 APP 透過 open, read, write, close, ioctl, llseek, fsync 等函數來對應 Kernel space 裡的 Device driver: open, read,  write, close, ioctl, llseek, fsync 。
以 LED 驅動程式為例,架構如下,
----------------------------------------APP:  open, write
----------------------------------------system call
----------------------------------------VFS
----------------------------------------Device Driver:  led_open,  led_write
----------------------------------------Hardware

Monday, September 21, 2015

U-boot Porting JZ2440 - Reduce Code Size && Set User Value

3.8 U-boot 縮小code size,易用性修改

3.8.1 打造自己的環境參數,在燒寫uboot時,常需要手動設定一些環境參數,如set ipaddr、set ethaddr、....,在使用上不方便
首先規劃參數在 nand flash 存放區塊如下圖

Tuesday, September 8, 2015

Bootloader

Bootloader概念
關於S3C2440的啟動方式有兩種Nor Flash 啟動和Nand Flash 啟動
Nor Flash Nand Flash 都是非易失性記憶體,Nor Flash 的特點是晶片內執行和不能直接寫操作,程式可以直接在其中運行,而不必將程式讀取到RAM 中運行。Nor Flash 雖然具有這個優點,但是它的性價比遠低於Nand Flash,因而很多系統採用Nand Flash 啟動。Nand Flash 的特點是採用非線性存儲模式,程式無法在其中運行,它只能作為程式或資料的存儲載體,存儲在其中的程式只能先拷貝到RAM 中才能運行。