由 silverfox » 週五 9月 21, 2007 6:53 pm
感謝樓上大大的回復,
現在的作法是:nor flash 上面有6個partitions,
我只有ioremap出某一個partition (因為其他partition 上面有東西 不能讓我測試),kernel panic後來找到是其他部份的問題,似乎不是重新ioremap的問題!
而現在,已經在mtd下註冊好新的mtd device(就是上面的某一個partition) 並新增了device node : /dev/xxx
ps:這邊我用的major number與預設的90 不同,為了避免呼叫舊的driver!
上面的意思是:將mtd的多個.o檔都 insert 成功(mtdchar.o ; cfi_cmdset_0002.o; chipreg.o ; gen_prob.o; cfi_probe.o; mtdcore.o; mychip.o)
但是 又面臨到一個問題: 當我用ap呼叫wirte ,他只跑到mtdchar.c:mymtd_write裡面有個ret = (*(mtd->write))(mtd, pos, len, &retlen, kbuf);
(這裡是我自己修改過的) 再往下層卻被沒呼叫 (因為我每個function進入都會印訊息),估計應該是呼叫到舊的driver!!
不知道是哪邊有問題!? 感謝各位大大指教
謝謝!