Lowest Cost Boot Design ?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Lowest Cost Boot Design ?

跳至解决方案
1,425 次查看
ChrisNielsen
Contributor III

I'm designing for a very cost sensitive application.  I was planning to use low-end SPI NOR FLASH as my boot/storage device with no DDR external memory -- the on-board RAM (1MB) is sufficient for my data needs and my code will fit completely in the 512 KB cache.

The issue is that with "load and go" approach, I "waste" ~512KB of precious on-board RAM for my code's initial execution location which is useless since it is quickly pulled into cache and the 512 KB of RAM is never accessed again and I am left with 512 KB of RAM data space as opposed to a full 1 MB if I could execute in place (XIP).

>>> Or, is there a trick where I can lock all my code into cache then recover the 512 KB of initial code location and reuse it as data RAM?

So, I am studying all XIP options.  I only see two listed: 1) Quad SPI, 2) Parallel NOR FLASH on FlexBus.

1) Quad SPI.  My concern here is whether or not it is possible to boot from a single 4-bit wide (quad) SPI device.  RM Table 19-9 seems to imply that two devices are required and the fact that the Tower board has two adds to my concern.

>>> So...is it possible to XIP from a single 4-bit SPI device?

Spansion S25FL032P is one example of a low-cost (<$0.60 @ 1K) quad SPI part that I am considering.

Thanks, Chris

标签 (5)
标记 (7)
0 项奖励
1 解答
865 次查看
naoumgitnik
Senior Contributor V

Hello Chris,

  1. Without digging too dip, earlier you mentioned booting from the QSPI1 yourself ("... I did more reading in the RM. It appears that if QuadSPI1 is selected by BOOT_CFG[1]...") + there is a thread on the Community forum about booting via this bus.
  2. Yes - apparently, if you are in the 1-bit mode, the other 3 bits are ignored. It is unclear what the "low-end" term means, but, as long as the bus specification is met by both the memory and the processor, everything is supposed to work.

Regards, Naoum Gitnik.

在原帖中查看解决方案

0 项奖励
7 回复数
865 次查看
ChrisNielsen
Contributor III

I forgot a key point.  Low-end parallel NOR FLASH parts are in roughly the same price range as the Quad SPI parts for the same density (a bit of a premium for parallel's larger package).

The concern is the longer term pricing and availability of parallel NOR parts.

>>> I know it's a difficult question to answer but would you consider a design using parallel NOR a conservative move with the assumption that there will always be some smaller, aggresive silicon provider that will always provide parts in this classic deep embedded socket (parallel NOR)? (even if the cell phone OEMs move on to eMMC and drop all NOR.  eMMC's lowest starting point is too costly for me)

Spansion has a long-term part program and Winbond and Macronix seems to be interested in this market and there are good supplies, today.

Thanks, Chris

0 项奖励
865 次查看
aleccohen
Contributor II


Hey Chris,

Looks like you already got your answer, but you might also look at the Macronix MX25L3235E (3V, 32Mb, Serial NOR Flash) which supports x1, x2, x4 I/O Read modes.

If you do not require x4, or the higher clock rates, you could look at the MX25L3206E which is even more cost effective.

-Regards, Alec

0 项奖励
865 次查看
ChrisNielsen
Contributor III

I did more reading in the RM.  It appears that if QuadSPI1 is selected by BOOT_CFG[1], then it only has pads defined for a single quad SPI interface (4 data lines).

Table 19-12 shows a QuadSPI confirguarion parameter defining the "Mode of Operation" = Single, Dual, or Quad.

>>> Is it possible to XIP using a 1-bit SPI NOR part? (this assumes the initial 318 byte configuration fetch is always performed using the lowest common mode of 1-bit data)

In other words, can the QuadSPI XIP interface work in the degraded 1-bit mode?

Thanks, Chris

0 项奖励
865 次查看
naoumgitnik
Senior Contributor V

Hello Chris,

There are 2 places in the Reference Manual where the QuadSPI XIP interface is mentioned:

  • Table 19-12 shows a QuadSPI configuration parameter defining the "Mode of Operation" = Single, Dual, or Quad.
  • In the “Memory Interfaces” description on page 2, it reads “Dual Quad SPI with XIP (Execute-In-Place)”.

It means the following:

  • The QuadSPI XIP interface work in the Single (1-bit data), Dual (2-bit data), or Quad (4-bit data) mode.
  • The “Memory Interfaces” description means that there are 2 QuadSPI controllers in Vybrid that can work in the XIP mode.


Regards, Naoum Gitnik.

0 项奖励
865 次查看
ChrisNielsen
Contributor III

I'm sorry about the length of my questions above.  I'll summarize the 2 core questions:

1) Is it possible to boot from a Single Quad SPI on QSPI0 or QSPI1?  (as opposed to Dual Quad which is all that is ever mentioned in the marketing literature, DS, RM.  The term Single Quad is never used.  I'm rather confident it's supported, but I'd like to check since I'm spinning a board before we're able to test this area on Tower)

2) Is it possible to put a non-quad device (low-end 1-bit SPI FLASH) in a QSPI booting socket and have it boot? (I think all that matters is that it reads the first 318 bytes using 1-bit mode.  It's really a question to clarify that it won't use some advanced Quad 1-bit communication method that older 1-bit SPI chips don't have)

Thanks, Chris

0 项奖励
866 次查看
naoumgitnik
Senior Contributor V

Hello Chris,

  1. Without digging too dip, earlier you mentioned booting from the QSPI1 yourself ("... I did more reading in the RM. It appears that if QuadSPI1 is selected by BOOT_CFG[1]...") + there is a thread on the Community forum about booting via this bus.
  2. Yes - apparently, if you are in the 1-bit mode, the other 3 bits are ignored. It is unclear what the "low-end" term means, but, as long as the bus specification is met by both the memory and the processor, everything is supposed to work.

Regards, Naoum Gitnik.

0 项奖励
865 次查看
karina_valencia
NXP Apps Support
NXP Apps Support

naoumgitnik can you continue with the  follow up of this case?

0 项奖励