有了norflash是不是意味着可以不需要RAM呢?
在看到norflash和nandflash的不同点之后,知道了norflash有个特性就是可以片上运行。网上大部分解释就是说norflash一般用来存放启动代码,这样启动代码就可以直接在norflash中运行了。那么问题来了,既然代码可以直接在norflash中运行那就把所有程序都放在norflash中不就好了吗?是不是就不需要ram了呢?答案是否定的!
因为norflash能片上运行指的是norflash可以直接像ram那样可以给一个地址就能直接读取到这个地址的数据,也就是可以随机读取数据。但是不能随机写如数据,norflash中写入数据跟nandflash相像,需要遵循一定的命令才行。但是你想啊,我们程序运行的时候有很多的临时变量什么的,这些变量可是需要读写速度很快的才行啊。所以norflash中是不能用来存放数据区代码的。所以norflash还是需要搭配ram才行,你可以看到bootloader里面即使是从norflash中启动也是需要初始化ram的。
赞 (0)