MMU分配Flash缓存空间的问题
如题,系统环境为vxWorks,在做Flash的驱动,由于在之前一块板上已经为Flash分配了缓存地址,所以没管,直接配置了flash读写相关的控制寄存器将其搞定。现在新来了另一块板(同一系列,nand flash型号一样),完全没有nand flash的配置,访问原来的缓存基地址就会复位。
所以仿造前一块板子的程序,在结构体sysPhysMemDesc[]中为其分配空间。但依旧无法访问该基地址,极度困惑,片选也配置好了,还是不行!是不是还要有其他的操作的呢?。望高手解答!!
[解决办法]
Nand Flash控制器的memory-map的寄存器都配置好了么?
Nand flash的 buffer ram 是访问数据用的。
访问nand flash的各种命令需要访问nand flash controller 空间中的memery-map 寄存器。
我觉得楼主你有些急了,做device driver的,即使是板子本身的一个小小改动也要注意,何况换了个板子
不要听别人说什么,板子都差不多,应该很快搞定的,,这都是 shit,不做根本就不知道,有些人就是喜欢这样子估别人的工作量,然后等deadline
建议楼主稳下来,好好看看nand flash的片选配置,操作命令是否都正确了
[解决办法]
你的MMU是用 BAT block address translation 还是 TLB来做的?
看你说PTE,就不是用的BAT了。
Buffer Ram 其实就是以 Nand Flash 片选的base address 为基地址的。
你提到的“但是设置PTE还是失败” 是什么意思? “可以读Flash数据”是什么意思?
Buffer ram 如果没正确映射的话,怎么得到数据的呢?
分配的内存,你可以看看你们的config类的文件确定下,应该各个区域, ddr, immrbar,nand flash,nor flash, pci,pcie 都有提到才对的。
[解决办法]