CPU从片外flash芯片boot
时间:12-12
整理:3721RD
点击:
一个简单的32位CPU, 没有使用操作系统, 写的程序放在片外flash内,为了方便修改
。
CPU是软核,运行在FPGA上,是不是必须先把flash内的程序读取存入FPGA片内RAM,才能
运行。
可否不读入,直接读取外部flash内程序运行? 如何设计?
。
CPU是软核,运行在FPGA上,是不是必须先把flash内的程序读取存入FPGA片内RAM,才能
运行。
可否不读入,直接读取外部flash内程序运行? 如何设计?
可以,并行的nor可以,总之可以直接寻址的应该就可以。
如果说的Flash是NAND或者SPI NOR,需要bootloader把程序载入RAM。
如果是并行NOR Flash,直接从Flash执行就是了
这么快就有热心人回复了, 谢谢
在串行flash上直接执行也不是做不到,只是控制器稍微复杂一点
直接执行主要的问题是跑不快
.36
不需要
直接把flash挂在总线上就行
串行的话,那这接口速度要比CPU快好多才行啊
让CPU的流水线stall呗
恩,这样就是比较慢
有个疑问: 以前MTK那种山寨机使用spi flash boot的是不是就是把flash里
的code搬到psram里面执行?
串行、并行没关系。只是个地址映射和flash控制器的问题。
对于串行spi flash,可以把flash的地址映射到cpu启动的取值地址,cpu直接访问spi
flash,当然spi flash要把cpu的读操作转换成spi flash的读指令。如果是nand flash,
一般nand flash控制器有内置dma,启动会把flash上的内容dma到片内存储空间。
说的挺简单, 有个强大的控制器, 从硬盘, 网络执行程序都不成问题