29
\$\begingroup\$

While looking for some detailing on part number construction for Texas Instruments's MSP430 series, I came across this wiki page: TI MSP430

There is a statement,

"L" as in the MSP430L09x series, which indicates a RAM-only part; it must remain continuously powered to retain its programming

While I haven't able to validate the above after going through the datasheet on the official website, the question that bumps me is, if at all there is one such part, what could be the appropriate application to use it?

\$\endgroup\$
  • 15
    \$\begingroup\$ Maybe a peripheral where the program is always uploaded from the host at power on? \$\endgroup\$ – Jack B Dec 18 '17 at 11:10
  • 2
    \$\begingroup\$ Indeed a valid point, but what real-life application do we see that does it this way? \$\endgroup\$ – WedaPashi Dec 18 '17 at 11:14
  • 11
    \$\begingroup\$ All FPGAs do this. It probably also has the benefit that RAM is faster to read from and write to than Flash. But beyond that I can only speculate. \$\endgroup\$ – Tom Carpenter Dec 18 '17 at 11:17
  • 2
    \$\begingroup\$ I used the ADSP-21xx parts, which were RAM-only. They included a boot process on power-up where they could fill that memory from an external EEPROM, for example. I haven't looked at the part you are discussing, though. So I can't tell you about its case. But that's the kind of thing I'd look for. \$\endgroup\$ – jonk Dec 18 '17 at 11:18
  • 8
    \$\begingroup\$ Some types of secure applications may want to "burn after reading" - think locks or bank security tokens. \$\endgroup\$ – Brian Drummond Dec 18 '17 at 11:20
45
\$\begingroup\$

The point of the "L" series is to support very low supply voltages (0.9 V; what you'd get from a single battery cell); the web page says:

Typical applications for this device include single-cell systems requiring a full analog signal chain.

The missing flash is not a goal; it's an unfortunate side effect of the voltage range. Chapter 8 of the User's Guide says:

This chapter describes how the MSP430L092 loader code is used to build an autonomous microcontroller solution. The loader approach is chosen as nonvolatile memory is not available for native ultra-low supply voltages.

You are supposed to ask TI to create a chip with your code in ROM (this is what the "C" series is for). However, during development (when you do not yet know what goes into the ROM), or when you do not have many devices (so the fixed ROM overhead would be too expensive), you have to use an "L" chip without ROM:

MSP430x09x debugging scenarios

\$\endgroup\$
  • \$\begingroup\$ "Not a deliberate feature" isn't accurate. It certainly wasn't an accident. Do you mean "desirable"? \$\endgroup\$ – Scott Seidman Dec 19 '17 at 11:57
  • \$\begingroup\$ Yes, the intent is more important. \$\endgroup\$ – CL. Dec 19 '17 at 13:29
13
\$\begingroup\$

Many PC-connected devices are build without a ROM, since they can be easily programmed by the host. For instance, all WiFi modules I have seen are programmed by their driver when the said driver is loaded. This saves money on expensive flash-ROM (storage on the PC is much cheaper) and makes firmware updates seamless for the end user.

This concept is not unique to WiFi, but it turned out to be very useful in this case in particular, because many WiFi chipsets are released while the corresponding specification is still in the draft stage, so frequent firmware upgrades are to be expected.

\$\endgroup\$
  • 3
    \$\begingroup\$ Also any embedded processor that works alongside other processors. Typically the master processor starts up all the other processors and sends them their code. \$\endgroup\$ – David Schwartz Dec 19 '17 at 4:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.