Jack_liu 回复于 2018-05-22
我对这款芯片并不熟,但我可以讲讲几种常用的做法。
1. 指令存放于内置的norflash中
内置norflash是可以直接运行指令的,所以并不需要加载指令。但如果cpu速度比较快,建议norflash上的指令以cache的方式访问,这样会提高cache命中率,从而提高cpu整体运算速度。
2. 指令存放于外置spi flash中
由于spi flash无法直接运行程序,所以就需要单片机芯片内部有固件程序,可以将spi flash中的代码加载到单片机内部sram,然后jump过去运行就可以了。
当然如果有专用的spi flash controller帮忙做透明化处理,也可以做到类似于直接运行代码于spi flash。原理就是,spi flash controller模拟一个sram的接口,CPU要读指令,会发送请求到spi flash controller,spi controller读数据,并返回给cpu。虽然这样总体速度慢一点,但cache足够大,其实真跑起来也还可以的。我们现在产品就在用这个方法。
0人评论 0赞
xm 回复于 2018-05-14
CPU直接从flash读取指令或数据。它有指令预取和cache行。
• Prefetch on I-Code
• 64 cache lines of 128 bits on I-Code
• 8 cache lines of 128 bits on D-Code
0人评论 0赞