This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EZ-FET Lite

Hi, I've just bought the MSP430 Launchpad, and it has the Ez-FET lite emulator. Can someone please explain in simple terms what it does? I have struggled to find information on it - the Wiki user guide doesn't seem to want to load.

I understand that it is an emulator, but just want to know how it works with the host controller. When you want to run software on the launchpad target board, are you running it out of the on-board flash of the target, or it is somehow running in the emulator?

Ultimately I am trying to understand how the emulator on the launchpad board will be different to the eventual prototype target board that won't have Ez-FET lite on it. Does the emulator allow me to do the software development so that when it comes to the target prototype I won't need to keep burning flash to develop it?

  • Hi Andy,

    I'll take a look into the download issue you are seeing (sorry for the trouble), but in short to answer your immediate question, the ez-FET (lite, or otherwise) is the HW programmer interface circuitry btw the PC and the target MSP430 establishing a JTAG link for programming and debugging.

    When you compile and download your FW, it will always be loaded into target device flash (or FRAM on our FR family devices) and run natively on the target. The FET circuitry only enables the comm link- it does not actually execute the code, etc.

    To answer your last question, you will actually burn the flash each time a new program is loaded to the target device. While this might seem like a bad thing, it is actually much better than any emulation in the sense that the device behavior you get during development is near identical to that in the real application making the transition from development to production as straightforward as possible. And in almost all cases, you really don't have to worry about wearing out the flash as it can take 10k+ write/erases.

    Hope this helps, Zack

  • Thanks Zack.

    I suppose that I am both surprised, and not, that the eZ-FET function takes a whole MSP430 to achieve, given what you have said. Seems a lot of functionality to do it, but then why not?

    Very impressed so far with the Launchpad board.

  • Andy Goldney said:
    I understand that it is an emulator, but just want to know how it works with the host controller. When you want to run software on the launchpad target board, are you running it out of the on-board flash of the target, or it is somehow running in the emulator?

    Historically, an emulator was a drop-in replacement for the real processor. Pin-compatible to the processor but running different microcode (or having the CPU part simulated by debugger software) and allowing the debugger physical access to registers, memory and peripherals.

    Now MSP processor have a built-in interface to the CPU core and the memory bus, the EEM (enhanced emulation module), which gives control over CPU functions and memory (which includes the peripheral registers) through a JTAG-like connection. The common counterpart that knows how to access the EEM through JTAG and also knows the particular low-level differences between different MSPs is the FET, actually not an emulator but a 'flash emulation tool', a tool to form an emulator in conjunction with an actual MSP MCU. So FET and MCU are the emulator. Not the FET alone.

    Andy Goldney said:
    Ultimately I am trying to understand how the emulator on the launchpad board will be different to the eventual prototype target board that won't have Ez-FET lite on it.

    There are several differences:

    One of them is the power supply. It is fixed on the LaunchPad as the EZ-Fet provides it from USB power. If you want to power the LunchPad by external power (and perhaps different voltage), you must sewer the connection between FET and MSP completely. (the full-featured MSP-FET430UIF supports bots: providing adjustable supply or adjust its port signals to an external supply).

    Another one is the Application UART. The EZ-FET provides a bridge from MSP's serial port to the PC (limited to 9600Bd). Without the EZ-FET, you'll have to attach your own TTL->RS232 converter for connecting it to a PC COM port, or a TTL-compatible serial->USB converter.

    Without the Ez-FET (or the full FET), you cannot debug

    Also, you will have to use the BSL feature to upload new firmware through separate serial connection. The FET can directly write new firmware to the MSP's flash memory.

    In addition to this, having an active debugger connection has additional influences on the executed code. When hitting a breakpoint or single-stepping, this won't stop all peripherals. While the EMM allows some control over the clock system, ADC conversions, incoming UART data etc will continue while the CPU is halted by the debugger. Also, the debugger will prevent the device from entering low power modes (except for LPM0 that just stops the CPU).

    Andy Goldney said:
    Does the emulator allow me to do the software development so that when it comes to the target prototype I won't need to keep burning flash to develop it?

    Partly. You can (if you keep the connection short and the wires equally sized) connect the Ez-FET with your target board rather than the onboard socket. So you can program and even debug your own target board (note that the Ez-FET only supports a subset of all MSPs - mainly the ones you could put into the LaunchPad too).
    Also, you can use the Ez-FET as a plain programmer: upload the firmware to the MCU in the socket, then move the chip to your target board.

    With some limitations you can also connect the breakout pins of the LaunchPad to the MSP socket on your target board and make in-circuit debugging. In this case, the whole LaunchPad acts as old-fashioned emulator for your target board. (in fact, replacing the socket on the LaunchPad by a version with long wire-wrap pins will turn the LaunchPad into a real plug&play emulator)

**Attention** This is a public forum