No it's not necessary. You can write on the information memory while the code with the writing instructions is executed from flash. Not only the information memory, but the whole flash (except the code section which actually writes the flash) can be written from flash. Actually the flash controller of the MSP430 handles it quite intelligently, while it in big scary sentences that: Reading from or writing to flash memory while it is being programmed or erased is prohibited. If CPU execution is required during the write or erase, the code to be executed must be in RAM. This sounds a bit intimidating at first, but if you read through the whole chapter (highly recommended) you will stumble upon information which tells you, that while the flash controller is busy, a read from the CPU will return 0x3FFF which turns out to be the opcode for JUMP PC (jump to the program counter) which will just stall the CPU until the flash controller is finished doing it's thing.
The block write mode is not supported from flash, so you won't be able to get the fastest write times if you execute your write from flash. I'd say if you just want to write some calibration values or serial numbers, it won't matter much. If you try to implement your own bootloader to flash the whole device, you better run it from RAM and use the block write mode to gain speed. Just be careful with the erase instruction first to actually delete only the stuff you need to delete, I accidentally lost all calibration information once because I wasn't.
In reply to: The memory area where the code is store is FLASH. This means it cannot be written to normally. Writing to FLASH requires special handling. You'll need to tell the flash controller that you want to write, then the writing takes a LONG time (compared to a read), and, even more important, you cannot write randomly. You can only write '0' bits. To write a '1' bit to a position where a '0' has been written already, you'll need to erase the whole flash segment (usually 512 bytes, 128 bytes for the info memory).
By doing so, ALL data in thia area is lost. Also, erasing takes an even longer time (30 ms). Read the section about the flash controller in the MSPs family users guide. In reply to: Hello, I need to store data in the flash of MSP43FE427. But when I activate FCTL1 to erase, write or secure, the system is working OK. But when I reset the system, all the data becomes corrupted.
(Reference code: Demo2 code for Single phase Watthour meter). I use this code and I need to store the flash data in normal mode but not in calibration mode/UART mode. Please help me. Here, I need to reset the system very often. At that time, the system needs to get the previous value from flash and update.
Then, the measurement must continue. The system writes the value into flash, but, it losts its measured parameters. Regards, SeshuramV. In reply to: Writing to flash is a very problematic thing.
Since you cannot continue executing code while the flash area is being programmed, you need to disable interrupts while doing so. You will lose interrupts. Writing a 512 bytes sector will take about 32ms. If your application survives this, well, you can go on.
Descargar gta san andreas para windows 7. However, computer original equipment manufacturers (OEMs) may have altered the features, incorporated customizations, or made other changes to the software or software packaging they provide. - Aspire 4320 Notices: The software drivers provided on this page are generic versions and can be used for general purposes. To avoid any potential installation incompatibilities on your OEM system, We recommend that you check with your OEM and use the software provided via your system manufacturer.
Also, when you update your code, the stored data will be erased. Well, thsi is why there is the info flash. Smaller sector size and will normally not be erased when you update the code. You still have the CPU blocked for some time, about 24ms for 128 bytes per info flash sector. But you cannot just enable writing and then write to flash.
Msp430 Flash Emulation Tool
It's a bit more complicated. You can only write '0' bits to flash. To turn them back to 1, you'll have to erase the whole flash sector. It's like shooting (way more than you'd think, on physical level). You can shoot holes into a paper target, but you cannot fill the holes by shooting again. You'll need to replace the target.
Flash is similar. You'll have to erase a whole flash sector before you can start writing 0s to it again, or the 0s from the last write will remain, resulting in nonsense. Also, you'll need to finish writing and lock flash again before you can safely continue with normal operation. If you want to measure data and store it in an unused portion of the program flash, you must keep in mind that it takes some time, so unless you only need to measure on large distances (50ms IS a large distance for an MCU) you should look for a different way where you can write the data while continue measuring. An external I2C or SPI connected flash memory or EEPROM.
If that's all okay for you, then you should post your actual code used for writing and we can take a look at it. In reply to: Hi Jens-Michael, I am working on a data logger using the C6747 with SPI Flash M25P64 on the EVM board. I totally agree with the problematic erase-before-write problem. However, I would like to ask you about your comment on 'Also, when you update your code, the stored data will be erased.' When you say '.update your code.' , are you referring to loading of program to the DSP? I have a problem that is puzzling me.
I can write and read from the SPI Flash in a single program with no problem. I then tried to separate the write and read into 2 programs. First, I download the write program to write certain set of data and verify it with read within the same program. Then, I load program that only read the data from the same segment and it failed. All the data read were 0xff. It seems like it had been erase after I loaded my program.
I would like to ask: will loading of program to DSP erased the SPI Flash? Why would that happened? Thank you so much for taking your time off to help me. I think if you upload the new code to the flash using the normal programming cycle, the programmer will completely erase the flash (not knowing that part of it contains data that should be persistent) and then uploads the new code. (a complete erase takes 30ms for all flash, a segmented erase takes 30ms for each 512 bytes, effectively doubling the programming time. So normally, no programming software will selectively erase and flash new program code. There might be an option in your programming software labeled 'keep unused memory' or such.
Then the programmer will read the current flash content before writing and put the contents back which are not overwritten by the new code. All content and materials on this site are provided 'as is'.
TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI. Content on this site may contain or be subject to specific guidelines or limitations on use.
All postings and use of the content on this site are subject to the of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.
Supports full range of Texas Instruments flash-based MSP430 mixed-signal MCU's. Hardware support - FET (flash emulation tool) or BSL (bootstrap loader). 100% FREE; Uses JTAG or BSL interface for programming; Loads memory dump as HEX; Supports BIN, TI TXT, HEX file formats; Serialization (unique serial number generation); Fuse blow feature (works only with Fusee adapter); Multilingual support; Tiny (less than 100Kb), does not require installation; Command line support, Drag'n'Drop; Operating Systems: Windows 95, 98, Me, 2000, XP. This tool helped me in two particular tasks: 1. I have MSP-FETP430 flash emulation tool from Texas and I wanted to read code and program a plenty of MSPs through JTAG connector (target device JTAG fuse was not blown). This operation would be impossible under IAR EW environment.
I have self-made BSL interface (accoding to slaa096). It works fine with MSPFET.exe This is very useful tool! Probably the best and the most vesatile way to perform any operation on MSP430 flash memory for FREE. Works with both BSL and JTAG FET hardware - as described in manufacturer's appnotes. Serialization option. Command line operations supported.
Is there anything else one can expect??? I dont think so bcaz actualy reset pin is not neccesary for jtag programming its just for start and reset micro state u can ignore reset pin and dont connect it to ic jtag pins RESET pin on target device is used for JTAG / SBW / BSL entry sequence, so FET (or any other flashing/debugging tool) can't do anything on target device if there is no connection to target device RESET pin.Updated -To be complete clear, if target device have SBW (and MSP430G2553 have it) than target device RESET pin must be connected (even if 4-wire JTAG is used, and SBW is not used). RESET pin on target device is used for JTAG / SBW / BSL entry sequence, so FET (or any other flashing/debugging tool) can't do anything on target device if there is no connection to target device RESET pin.Updated -To be complete clear, if target device have SBW (and MSP430G2553 have it) than target device RESET pin must be connected (even if 4-wire JTAG is used, and SBW is not used). Ok you are right hey friend what about tclk how should i connect it tclk should connect to tdi pin???????is it neccesary to connect an external crystal to micro for programming???
Reader Exercise: The Value Line devices do not come with the other standard calibrations: 8 MHz, 12 MHz, and 16 MHz. In the chapter on TLV of the Family User's Guide, we see that the locations of these calibrations are standardized for SegA to appear in the order TLV Tag, CAL16MHz, CAL12MHz, CAL8MHz, CAL1MHz. The data in SegA for the Value Line devices doesn't leave room for these with the other three calibrations left blank, so the entire segment structure needs to be shifted. If we want to add these without loosing any of the remaining structure, how will the segment be set up? Draw up a table similar to that used in this tutorial to map out the segment structure, and show how to calculate the new checksum value based on this table. Excellent question! Fortunately, it's very easy: you don't need to do anything!
The memory in the MSP430 is flash technology (much like a thumb drive, or sd card), and so it will retain all of the information even after long periods of time without power. The only time the info segments are erased is in using the debugger- if you load a program into the MSP430 without being careful, it will erase the main and info memories before programming. In CCS, you have to specify explicitly that only the main memory should be wiped.
(Unfortunately, I have yet to find a way to make this the default behavior, as I think it should be.) There is not, however, a way to lock any of the other segments the way InfoA is locked. You just need to be careful to load new code correctly, and have the original programming on hand to restore your custom Info segments if need be.
Description The next generation flash emulation tool, has been released and replaces the MSP-FET430UIF kit. The MSP-FET430UIF is no longer recommended for new designs. The MSP-FET430UIF is a powerful flash emulation tool to quickly begin application development on the MSP430 MCU. It includes USB debugging interface used to program and debug the MSP430 in-system through the JTAG interface or the pin saving Spy Bi-Wire (2-wire JTAG) protocol. The flash memory can be erased and programmed in seconds with only a few keystrokes, and since the MSP430 flash is ultra-low power, no external power supply is required. The debugging tool interfaces the MSP430 to the included integrated software environment and includes code to start your design immediately.
The MSP-FET430UIF development tools supports development with all MSP430 flash devices.