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\$
17
  • 16
    \$\begingroup\$ Maybe a peripheral where the program is always uploaded from the host at power on? \$\endgroup\$
    – Jack B
    Dec 18, 2017 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, 2017 at 11:14
  • 12
    \$\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\$ Dec 18, 2017 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, 2017 at 11:18
  • 8
    \$\begingroup\$ Some types of secure applications may want to "burn after reading" - think locks or bank security tokens. \$\endgroup\$ Dec 18, 2017 at 11:20

2 Answers 2

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\$
2
  • \$\begingroup\$ "Not a deliberate feature" isn't accurate. It certainly wasn't an accident. Do you mean "desirable"? \$\endgroup\$ Dec 19, 2017 at 11:57
  • \$\begingroup\$ Yes, the intent is more important. \$\endgroup\$
    – CL.
    Dec 19, 2017 at 13:29
14
\$\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\$
1
  • 4
    \$\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\$ Dec 19, 2017 at 4:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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