首先,nor flash驅動作為塊裝置驅動,大部分的流程跟nand flash一樣,只是最底層的硬體操作層跟協議層有區別,
**如下
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 1415static
struct mtd_info *s3c_nor_mtd;
16static
struct map_info *s3c_nor_map;
1718
static
struct mtd_partition s3c_nor_parts =,
24 [1] =
29};
3031
static
int s3c_nor_init(void)32
55if(!s3c_nor_mtd)
5662
63/*
4.分割槽:add_mtd_partitions
*/64 add_mtd_partitions(s3c_nor_mtd,s3c_nor_parts,2
);65
return0;
66}6768
static
void s3c_nor_exit(void)69
7374
module_init(s3c_nor_init);
75module_exit(s3c_nor_exit);
7677 module_license("
gpl");
不過linux的nor驅動一般使用匯流排裝置驅動框架,在probe函式內部進行晶元識別(do_map_probe)跟分割槽(add_mtd_partitions).
最後就是nor在linux系統開發板上使用時的注意事項
這裡以mini2440為例:
要識別nor flash,必須把開關打到nor flash上,因為友善之臂開發板上的nor flash預設裝的是supervivi,因此要把uboot燒到nor flash上去,這裡用的是oflash
然後用 nfs 30010000 192.168.1.100:/home/slswxom/secondfs/work/uimage 載入核心
bootm 30010000 執行
然後再載入norflash驅動模組就能執行
如果核心沒被配置cfi那麼nor flash晶元還是不能被識別的(友善之臂的就沒有配置,不過可能可以通過jedec進行識別,我沒測試。。):
配置核心
以下內容必選:
memory technology devices(mtd)-->
<*>memory technology device (mtd) support
[*]mtd partitioning support
<*>direct char device access to mtd devices
<*>caching block device access to mtd devices
ram/rom/flash chip drivers-->
<*>detect flash chips by common flash inte***ce (cfi) probe
<*>support for inter/sharp flash chips
<*>supportfor amd/fujitsu/spansion flash chips
Linux作業系統簡單介紹安裝
一 linux系統發行版本 redhat 網際網路領域 伺服器 外企 國企 應用過程收費 有自己商標logo centos 網際網路領域 伺服器 私企 免費 沒有紅帽 ubuntu 家用終端電腦 圖形化介面 debian freebsd 系統安全要求比較高的領域 安全性穩定高 主要應用於金融 遊戲 ...
Linux 作業系統的簡單認識
現代計算機大部分都是基於馮.諾依曼結構,該結構的核心思想是馮將程式和資料都存放在計算機中,按儲存器的儲存程式首位址執行程式的第一條指令,然後進行資料的處理計算。計算機應包括運算器 儲存器 控制器 輸入和輸出裝置五大基本部件。計算機內部應採用二進位制來表示指令和資料,將編好的程式送入內儲存器中,然後啟...
Linux作業系統
本書以當前最流行的red hat linux的最新發行版本為基礎,論述作業系統的基本原理 基本思想和基本方法,並在此基礎上介紹linux網路作業系統的核心結構 安裝 配置 基本操作 系統管理及網路應用等,從而系統 完整地講述linux作業系統從基本原理到應用實踐的主要內容。本書注意理論內容的選取,注...