原來是我會錯意
CE 的XIP 果然和 Linux 的XIP 是同一個意思,就是 Execution In Place。
可以讓code直接在ROM的address space 執行,不用 load 到 RAM中執行。
Multi-XIP 就是將 XIP 區域切割成多塊,這樣就可以把AP, SHELL, OS分在不同的XIP 區域。
這些區域分別會燒在 ROM的不同區域中,所以就可以分開update AP, SHELL, OS,不會互相影響。不需要為了修改 SHELL,連OS都要、一起update。
而在NAND Flash 上,是不可能作XIP的,但是使用Multi-XIP 還是有好處,就是可以分開update AP, SHELL 和 OS。
但是這樣的 image,在執行時還是會整個都load 到RAM中 。不管該DLL, EXE 前是否要使用,所以很浪費RAM。
如果要讓OS在需要的時候,才把 DLL, EXE load 到RAM裡,就要讓 OS 能夠access image 的內容,這個方法就是 BINFS 。
將 image 包裝成 BINFS 的格式,讓OS 能夠讀取,OS在需要的時候,就會到BINFS filesystem 中取出DLL 或EXE。
所以對"節省RAM"這一點來說,要使用BINFS。 而不是Multi-XIP。
(那binfs 是不是需要利用 Multi-XIP 來完成?)
.... 這個,大概就是大家說的..在NAND 上使用 XIP 吧..
沒有留言:
張貼留言