jffs2根文件系統掛載不上spi flash

這幾天一直在弄jffs2,讓jffs2掛載到spi flash上,因此在內核中對spi flash進行了分區,給uboot了1M的空間,給kernel 4M的空間,給jffs2了11M的空間,由於咱們選用的spi flash是16M的,在製做了根文件系統後,發現內核在引導根文件系統時老是會出現一些擦除塊設置不對的信息和CRC校驗錯誤的信息,後來通過不斷的摸索與查閱相關的博客,得知是jffs2在製做根文件系統的時候,mkjffs2中的-e參數要指定的與內核中的擦除大小一致才能夠,可是我內核的MTD分區中找那部分代碼,發現內核中對spi flash的驅動代碼那,擦除大小設置的是4KB,可是jffs2的製做工具,最小隻能製做出來8KB,這就沒有辦法達到內核和jffs2在製做的時候擦除大小一致了,後來我就將spi flash驅動那裏,將擦除最小的大小改爲64KB,這個擦除大小,也正好去和個人w25p128的flash芯片的範圍。可是內核的擦除塊大小和jffs2的擦除大小都設置一致時,發現仍是不行,後來通過一系列的調試與嘗試,終於有了解決方案了。ide


當出現jffs2與內核中flash的塊擦除大小都設置同樣的時候,jffs2仍是啓動不起來的狀況:工具


一、你的flash自己有問題。調試


二、你的內核在進行配置的時候,有些資源是板子上沒有的,可是你在make menuconfig的時候給配置上,致使jffs2啓動不起來,個人就是由於內核驅動配置中,由於芯片的串口1用的不是PE,而我卻配置成了PE,而且芯片的GPIO頁根本沒有PE這組引腳,因此才致使了jffs2啓動不來,即便塊擦除大小都設置一致的時候。資源


三、你的flash在每次燒寫以前,flash並無真正的擦除乾淨。博客


個人就是第2中狀況。flash

相關文章
相關標籤/搜索