Shipping cost not included. Currency conversions are estimated. Boot loader code serial port msp430 Catalog Datasheet MFG & Type PDF Document Tags slaa096bAbstract: slaa089 Application Report - July 2001 Application of Bootstrap Loader in With Flash, low-cost hardware and software solutions to access the bootstrap loader functions of the MSP430 flash devices via the serial port of a personal computer (PC). The description provided and the,. 60 2 Application of Bootstrap Loader in MSP430 With Flash Hardware and, access and use these features. Part of this control unit is the bootstrap loader, implemented in MSP430 Texas Instruments Original.
650.95 Kb PINHD-2X7Abstract: PINHD-1X1 devices (, F112, and F110 devices) via the serial port (RS-232) of a personal computer (PC)., bootstrap loader, implemented in MSP430 devices with flash memory. Hardware and software solutions to, MSP430F11x1 , and the application note Features of the MSP430 Bootstrap Loader in the (SLAA089) for more details. The bootstrap loader is a program that allows communication with the MSP430, loaders, too. 2.1 Invoking the Bootstrap Loader The MSP430 bootstrap loader does not start Texas Instruments Original. 682.25 Kb PINHD-2X7Abstract: slaa089 ) and the application note Features of the MSP430 Bootstrap Loader in the MSP430F1121 (SLAA089) for more details. The bootstrap loader is a program that allows communication with the MSP430 via a serial, devices (F1121, F1101, F112, and F110) via the serial port (RS-232) of a personal computer (PC).
The, control unit is the bootstrap loader, implemented in MSP430 devices with flash memory. This report, bootstrap loaders, too. 2.1 Invoking the Bootstrap Loader The MSP430 bootstrap loader does not start Texas Instruments Original.
895.94 Kb slaa089Abstract: boot loader code serial port msp430 of loadable BSL, code section address 220h) Features of the MSP430 Bootstrap Loader 11, Application Report January 2003 Features of the MSP430 Bootstrap Loader Franz Graf MSP430 ABSTRACT The MSP430 bootstrap loader (BSL) enables users to communicate with embedded memory, condition. Access to the MSP430 memory via the bootstrap loader is protected against misuse by a, overwriting of the BSL code, this code is stored in a special factory-masked boot ROM.
The BSL cannot ever be Texas Instruments Original. 405.18 Kb boot loader code serial port msp430Abstract: F09HP284 bootstrap loader functions of the MSP430 flash devices via the serial port (RS-232) of a PC. The, Loader in MSP430 With Flash Hardware and Software Proposal Volker Rzehak and Stefan Schauer.
MSP430 ABSTRACT The bootstrap loader (sometimes called the bootloader) of MSP430 derivatives, Revised August 2006 Submit Documentation Feedback Application of Bootstrap Loader in MSP430 1, access and use these features. Part of this control unit is the bootstrap loader, implemented in MSP430 Texas Instruments Original. 247.06 Kb SLAA089AAbstract: boot loader code serial port msp430 to the SSP or to save boot ROM space. Features of the MSP430 Bootstrap Loader 5, Application Report SLAA089A November 2001 Features of the MSP430 Bootstrap Loader Franz Graf MSP430 ABSTRACT The MSP430 bootstrap loader (BSL) enables users to communicate with embedded memory, condition. Access to the MSP430 memory via the bootstrap loader is protected against misuse by a, overwriting of the BSL code, this code is stored in a special factory-masked boot ROM. The BSL cannot ever be Texas Instruments Original.
190.06 Kb slaa089Abstract: boot loader code serial port msp430 CCIFG0 Features of the MSP430 Bootstrap Loader in the MSP430F1121 SLAA089 TX pin is port, Application Report SLAA089 - December 1999 Features of the MSP430 Bootstrap Loader in the MSP430F1121 Franz Graf MSLP ABSTRACT The MSP430 bootstrap loader (BSL) enables users to communicate, address, or by the reset condition. Access to the MSP430 memory via the bootstrap loader is protected, protocol used follows the rules for TI MSP430 serial standard protocol (SSP) extended with a preceding Texas Instruments Original.
97.81 Kb msp430x1xxAbstract: SLAU049 Conversion Serial Onboard Programming Programmable Code Protection by Security Fuse D D D Family, Boot ROM 16b Per. SFR boot ROM containing bootstrap loader The, Access to the MSP430 via the bootstrap loader is protected. It must be enabled before any protected, MICROCONTROLLER SEPTEMBER 1999 REVISED JULY 2002 boot ROM containing bootstrap loader (continued, 9600 baud Port pin P1.1 used for transmit, P2.2 used for receive TI standard serial protocol definition Texas Instruments Original.
864.62 Kb MA03-1 pin headerAbstract: boot loader code serial port msp430 MSP430 Flash code download through the USB port. The reference design includes MSP430 and PC software, and code development.
Any MSP430F16x device can directly drop into this design, whereas other MSP430, oscillator. All MSP430 port pins of ports 1 through 6 are brought out on 8-pin headers. This allows easy, available EEPROM space could also be used as additional MSP430 storage. In addition to the serial, which is connected to the LFXT1 oscillator. All MSP430 port pins of ports 1 through 4 are brought out Texas Instruments Original.
903.26 Kb MSP430 application note divisionAbstract: generator, the MSP430 achieves maximum code efficiency. The digitally-controlled oscillator provides fast, Segment7) Access to the MSP430 via the bootstrap loader is protected. It must be enabled before any, SEPTEMBER 1999 REVISED JUNE 2000 boot ROM containing bootstrap loader (continued) features of the bootstrap loader are: D D D D D D D D D D D D UART communication protocol, fixed to 9600 baud Port pin, SEPTEMBER 1999 REVISED JUNE 2000 boot ROM containing bootstrap loader (continued) Program Texas Instruments Original. 670.07 Kb Hitech Displays HMC16311Abstract: hmc16311 this controller. 7.1.1 Boot loader and standard firmware The USB controller is programmed with a boot loader when it is shipped from the factory.
The boot loader allows programming of new code into the USB MCU via the USB cable (i.e. No extra programmer or hardware needed). The boot loader,.
19 7.1.1 7.1.2 Boot loader and standard firmware, check for a valid version of firmware in flash. If it detects a valid application, the boot loader Texas Instruments Original. 3095.44 Kb RF sensorAbstract: OM01 optical 16b Per. SFR boot ROM containing bootstrap loader The intention of the bootstrap loader is, REVISED JUNE 2000 boot ROM containing bootstrap loader (continued) features of the bootstrap loader, REVISED JUNE 2000 boot ROM containing bootstrap loader (continued) Program execution begins with the, Capture/Compare Registers Slope A/D Converter With External Components D D D Serial Onboard,.4/TA2 P2.3/TA1 description The Texas Instruments MSP430 series is an ultralow-power microcontroller Texas Instruments Original.
550.5 Kb SLAA116Abstract: 16b Per. SFR boot ROM containing bootstrap loader The intention of the bootstrap loader is, REVISED JUNE 2000 boot ROM containing bootstrap loader (continued) features of the bootstrap loader, REVISED JUNE 2000 boot ROM containing bootstrap loader (continued) Program execution begins with the, Capture/Compare Registers Slope A/D Converter With External Components D D D Serial Onboard,.4/TA2 P2.3/TA1 description The Texas Instruments MSP430 series is an ultralow-power microcontroller Texas Instruments Original.
566.3 Kb Abstract: real-time kernel with boot loader Starter-ware library of peripheral drivers Sample industrial input, Processor Sitara ARM Cortex-A8 MPU Memory Serial SPI Flash NOR Flash Dual-port RAM (optional, SPI UART Parallel I/O to dual port RAM (optional) Debug JTAG via USB port Debug UART via USB port, development Code Composer Studio integrated development environment (IDE) v5 Code Composer Studio integrated, (download available on the Industrial SDK page) Code Composer Studio IDE v5.x (download available on the Texas Instruments Original. 154.81 Kb MSP430F1101 SLAU049Abstract: SLAS241C generator, the MSP430 achieves maximum code efficiency. The digitally-controlled oscillator provides fast, Segment7) Access to the MSP430 via the bootstrap loader is protected.
It must be enabled before any, SEPTEMBER 1999 REVISED JUNE 2000 boot ROM containing bootstrap loader (continued) features of the bootstrap loader are: D D D D D D D D D D D D UART communication protocol, fixed to 9600 baud Port pin, SEPTEMBER 1999 REVISED JUNE 2000 boot ROM containing bootstrap loader (continued) Program Texas Instruments Original. 667.18 Kb SLAA089DAbstract: mps430. MSP430 ABSTRACT The MSP430 bootstrap loader (BSL) enables users to communicate with embedded memory in, MSP430 memory via the bootstrap loader is protected against misuse by a user-defined password, the MSP430 Bootstrap Loader 1 www.ti.com Introduction 1 Introduction This bootstrap loader (BSL) provides a method to program the flash memory during MSP430 project development and updates, is stored in a special factory-masked boot ROM. The BSL cannot ever be erased.
The BSL code is Texas Instruments Original. 188.65 Kb code bootstrap loader MSP430Abstract: msp430f112 16b Per. SFR boot ROM containing bootstrap loader The intention of the bootstrap loader is, REVISED JUNE 2000 boot ROM containing bootstrap loader (continued) features of the bootstrap loader, REVISED JUNE 2000 boot ROM containing bootstrap loader (continued) Program execution begins with the, Capture/Compare Registers Slope A/D Converter With External Components D D D Serial Onboard,.4/TA2 P2.3/TA1 description The Texas Instruments MSP430 series is an ultralow-power microcontroller Texas Instruments Original. 545.83 Kb SLAA151Abstract: SLAS340C Serial Onboard Programming, No External Programming Voltage Needed Programmable Code Protection by, -bit integrated registers on the CPU, and the constant generator, the MSP430 achieves maximum code efficiency. The, boot ROM containing bootstrap loader The intention of the bootstrap loader is to download data into, erase of the main memory (segment 0 to segment n) Access to the MSP430 via the bootstrap loader is,.
Features of the bootstrap loader are: D D D D D UART communication protocol, fixed to 9600 baud Port Texas Instruments Original. 881.55 Kb SLAS272CAbstract: OM02 optical operated for use in extended-time applications. The MSP430 achieves maximum code efficiency with its 16, input port, or bootstrap loader start (in Flash devices). TCK is the clock input port for, memory organization Memory Main: interrupt vector Main: code memory Information memory Boot, boot ROM containing bootstrap loader The intention of the bootstrap loader is to download data into, ) and information memory (segment A and segment B) Access to the MSP430 via the bootstrap loader is Texas Instruments Original. 1123.12 Kb Abstract: ) Software-Selects Asynchronous UART or Synchronous SPI Serial Onboard Programming Programmable Code Protection by, generator, the MSP430 achieves maximum code efficiency. The digitally-controlled oscillator provides fast, MICROCONTROLLER JULY 2001 boot ROM containing bootstrap loader The bootstrap loader downloads data, to Segment7/15) Access to the MSP430 via the bootstrap loader is protected. It must be enabled before, communication protocol, fixed to 9600 baud Port pin P1.1 for transmit, P2.2 for receive TI standard serial Texas Instruments Original.
Contents. Serial Bootloading This example explains the Serial Bootloader (SBL) and provides a step-by-step procedure of how to compile a project for the SBL and load it into the CC254x's flash. This document will also describe how to use an encrypted version of the SBL - the EBL or encrypted bootloader. Note that there is also an example SBL-configured project included with the 1.4.0 stack release - HostTestRelease.
Serial bootloading is a feature that enables a cc254x device to load into flash an embedded software image from a host processor through a serial interface such as UART or SPI. This demo consists of a CC254x target image which is compiledas an SBL-enabled configuration, a CC254x programmed with the SBL, and the which will function as the host.
The SBL code resides at the bottom of the flash memory in the CC254x, as shown below. Upon power cycle, a decision is made in the SBL whether to start serial boot loading or to jump to the downloaded image area.
This decision is made based on the validity of the downloaded image. If the image in the downloaded image area is not a valid image, the serial boot loader starts in serial boot loading mode and waits for commands from host processor (the PC in our case). If the image in the downloaded image area is valid, the boot loader jumps to the valid image area. The host processor is the intelligent part of the protocol: it chooses the image sector to download, reads back the downloaded image area sector to verify the written image was written correctly, and authorizes the use of the image, etc. Image Validation For each image, the CRC is calculated at build-time and placed at the beginning of the SBL target image as defined by the linker configuration file (cc254xf256sbl.xcl), as shown below: -Z(CODE)CHECKSUM=0x890-0x891 -Z(CODE)CRCSHDW=0x892-0x893 Immediately following the CRC in flash is a CRC-Shadow which is computed in the SBL after an SBL of the image completes to determine if the download was successful / the image is now valid.
Requirements. 1 SmartRF05 kit with CC254x Evaluation Module. Texas Instruments Stack 1.4.0 which can be downloaded from www.ti.com/blestack. Serial cable to connect from computer to SmartRF (possibly USB-to-Serial) Project Files The SBL IAR project can be found in C: Texas Instruments BLE-CC254x-1.3.2 Projects ble util SBL. The EBL IAR project can be found in C: Texas Instruments BLE-CC254x-1.3.2 Projects ble util EBL.
Tools The Serial Boot Tool (v.1.3.2) PC application can be found Source code for the Serial Boot Tool (v.1.3.2) PC application can be found Compiling a Project for Use with the SBL The following steps allow you to load a file using the SBL. We will use the CC2541 SimpleBLEPeripheral application as an example. This project is located at: C: Texas Instruments BLE-CC254x-1.4.0 Projects ble simpleBLEPeripheral CC2541DB. It will be loaded via UART to a SmartRF05 board with a CC254x EM.
There is also a SBL configuration for a SPI bootloader included in the stack but that is out of the scope of this document. Create a new project configuration for the SBL target image: Project-Edit Configurations-New. Call it CC2541-SBL and choose to base it on the CC2541 configuration. In the compiler preprocessor options, add the following defined symbols:. MAKECRCSHDW. FEATURESBL. OADKEEPNVPAGES This last definition (OADKEEPNVPAGES) is optional.
If defined, the NV pages (non-volatile memory where bonding information, among other things, is stored) on the target device will not be overwritten. This will allow any previously bonded devices to remain bonded. If not defined, the NV pages will be overwritten and bonded devices will be forgotten. Change the following linking options under the config tab:. change the linker config file to: cc254xf256sbl.xcl. add to the search path: $PROJDIR$. Common cc2540 Note: Some projects might already have this included or have different directory for the common folder($PROJDIR$.
Common cc2540) 4. Change the following options under the extra output tab:. change the output file to: application.sim. change the output format to: simple-code 5. Under Build Actions, add the post-processor.bat file which will convert the.sim to a.bin for serial bootloading. Note that the file path and project name will be different as you work on different projects.
Note that the last file name in this command must match the output file specified in step 5 (application in this example). Also ensure that there is exactly one space between each argument enclosed by quotations. '$PROJDIR$.
Common cc2540 cc254xublpp.bat' '$PROJDIR$' 'ProdUBL' '$PROJDIR$ CC2541-SBL Exe application' Note again to double check the 'common' folder directory. If you are experiencing Java erors, it is likely due to incorrect path / file names.
This will produce a.bin file in $PROJDIR$ CC2541-SBL Exe. This is the file you will serially load. Load the SBL project onto a SmartRF+EM and run it. Open the SBDemo application (see the Tools Section Above) and choose the.bin file created in step 6. Select the correct COM port with the following and choose 'Load Image.'
The PC application will write the image and then verify that it was written successfully by reading it back. The device will then reboot into the SBL, realize that it has a valid image, and jump to the target image.
Returning to the SBL If, at any point during execution of the serially loaded image, you want to return to the SBL to load another image, you must call the appForceBoot command which is defined in the sblapp.c file. This can be done via #include 'sblapp.h' appForceBoot; Note that, for the HostTestRelease project's sample SBL/EBL configurations, this is exposed via the HCI interface by using the HCI command UTILFORCEBOOT (opcode 0xfe83). Upon success, the device will reset to enter the SBL so there will be no Event returned.
Otherwise, upon failure, the device will return the HCI Ext Command Status Event with the Status parameter set to 0x02 (INVALIDPARAMETER). See the TI HCI Vendor Specific API guide included with the installer for more information. However, the simpleBLEPeripheral project (and most other projects) do not expose the HCI interface so another method (such as an interrupt, over-the-air message, etc) must be used to call the appForceBoot command. Generating a.hex of the SBL plus your Target Image. This section will describe how to flash the device so that it contains the SBL followed in flash by a valid target image. The idea is that the target image will run initially, then when it needs to be updated, we will return to the SBL as described above and load a new image.
The easiest way to do this is to perform a serial load of your target image to the bootloader as described above, then read back the the entire.hex file (SBL + target image). This can be accomplished using with the following settings. Serial Bootloading Commands Serial boot loading command packets follow the same format as regular network processor interface commands.
However, they are not exactly the same as serial boot loading commands are accepted only by the serial boot loader in serial boot loading mode and the underlying transport mechanism could be different from the one used by network processor image. For instance, the serial boot loader might be running at a 9600bps baud rate while network processor interface could be running at a 115200bps baud rate. The serial boot loading communication is always triggered by the host processor followed by the the serial boot loader sending a response. Each command is described below.
The SubSys byte in these commands denotes that the command is an SBL command. In the SBL, the 5 least significant bits are extracted and must be equal to 0xD (SBL subsystem).
The SOF byte is 0xFE. The Len byte corresponds to the payload length (does not include the SubSys and CMD bytes). The last byte in each command is always the FCS which must match the FCS calculated by the bootloader.
The FCS should be an XOR of the SubSys byte, CMD byte, and payload bytes. Handshake Command Handshake is command ID 0x04. The handshake has no parameters. The handshake is sent by the host processor to determine if the boot loader is running target device. Handshake Command: 1 Byte 1 Byte 1 Byte 1 Byte 1 Byte SOF Len SubSys CMD (0x04) FCS The boot loader responds with a 1 byte status code indicating success (0x00). Handshake Response: 1 Byte 1 Byte 1 Byte 1 Byte 1 Byte 1 Byte SOF Len SubSys CMD (0x84) Status (0) FCS.
Write Command The Write command is command ID 0x01. The write is sent by host processor to write a page of flash to the bootloader.
The write command has the following parameters: Write Command: 1 Byte 1 Byte 1 Byte 1 Byte 2 Bytes 64 Bytes 1 Byte SOF Len SubSys CMD (0x01) Address Data FCS The address contains a word aligned address of the image. The boot loader must add the base address of the program area to the address. The network processor boot loader responds to the write command with the status of the operation. Write Response: 1 Byte 1 Byte 1 Byte 1 Byte 1 Byte 1 Byte SOF Len SubSys CMD (0x81) Status FCS.
Read Command The Read command is command ID 0x02. The read command is sent by the host processor to read a page of flash from bootloader. The read command has the following parameters: Read Command: 1 Byte 1 Byte 1 Byte 1 Byte 2 Bytes 1 Byte SOF Len SubSys CMD (0x02) Address FCS The address contains a word aligned address of the image. The boot loader must add the base address of the network processor program area to the address. The bootloader responds to the read command with the status of the operation, the address, and the data. Write Response: 1 Byte 1 Byte 1 Byte 1 Byte 1 Byte 2 Bytes 64 Bytes 1 Byte SOF Len SubSys CMD (0x82) Status Address Data FCS. Enable Command The Enable command is command ID 0x03.
The enable command is sent by the host processor to indicate the image on the bootloader is valid.Note that the responsibility lies with the host processor to validate the image by reading it back and verifying. When the boot loader has received the enable command, it enables the downloaded code by writing the CRC to the CRC shadow and resetting the device. On reset, the bootloader sees that the CRC and CRC shadow match and jumps to the application. Enable Command: 1 Byte 1 Byte 1 Byte 1 Byte 1 Byte SOF Len SubSys CMD (0x03) FCS The boot loader responds with a 1 byte status code. Enable Response: 1 Byte 1 Byte 1 Byte 1 Byte 1 Byte 1 Byte SOF Len SubSys CMD (0x83) Status FCS Boot Loading Sequences The following two figures illustrate boot loading sequences and application image downloading sequences performed during boot loading.
Note that the validity of the image is determined by checking the preamble (specifically CRC + CRC Shadow) of the application image area, which is updated only as the last transaction of image download sequence. If anything goes wrong during download of the image, such as power failure, the preamble of the image area is not updated and the SBL stays in boot loading mode waiting for boot loading command from host processor. When the image is valid, the boot loader jumps to the image area. Note that host processor reads back the application image to verify before enabling the image. The idea is to validate the written image without having to impose CRC checking in the serial boot loader.
This was done to minimize the code size of the SBL. However, this increases the time taken for serial downloading since the entire image has to be read back. Initial application image download sequence Consequent Application Image Download Sequence. Encrypted Bootloading This section will describe how to modify a project to use the encrypted bootloader (EBL) so that it will be impossible to sniff the UART/SPI lines to read the target image during a serial bootload.
This is accomplished by using the AES-128 engine to encrypt the target image. Then, during a bootload, the EBL will decrypt the target image and place the unencrypted image in flash. Note that the HostTestRelease project provided with the installer includes an already created EBL configuration. It is assumed that you have already followed the above steps to create the CC2541-SBL configuration because the EBL configuration will be based on the SBL configuration. Generating Unencrypted EBL Target Image First, you must create the unencrypted EBL target configuration.
In IAR, select Project-Edit Configuration. Select 'New.' And create a new configuration 'CC2541-EBL' choosing to base it on the 'CC2541-SBL' configuration (created as described above). In the preprocessor definitions, remove 'FEATURESBL' and add 'FEATUREEBL' 3.
Also remove the MAKECRCSHDW preprocessor define 4. In the Linker Options, under the 'Config' tab, select the linker file to be: cc254xf256ebl.xcl 5.
In the Build Actions tab, under post-build command line, modify the command to be:. '$PROJDIR$. Common cc2540 cc254xublpp.bat' '$PROJDIR$' 'ProdUBL' '$PROJDIR$ CC2541-EBL Exe application' Note that the relative path will contain different names as you work with projects other than the CC2541 SimpleBLEPeripheral. Add the following compiler directive at the line following the appForceBoot function in sblapp.c (line 114): #pragma required=appForceBoot 7. Compile the project.
The post-processing actions will produce an unencrypted EBL binary target image. Encrypting EBL Target Image Next, you must sign and encrypt this image for use with the EBL. In order to do this, we must modify the EBL project so that it will temporarily function as an 'encrypter'.
To do this, open the EBL project from $INSTALL Projects ble util EBL iar cc254x. Add the following preprocessor definitions:. SBLSECURE=FALSE.
SBLSIGNER 2. If desired, modify the key used for encryption by modifying the aesKey structure in sblexec.c.
Compile the project and load it on a SmartRF05+EM with a serial cable attached. Now we must serially load the unencrypted image to the EBL functioning as an encrypter in order to allow the EBL encrypter to encrypt the image and then read it back.
Open the Serial Boot Tool (see the Tools section above), select the unencrypted EBL target image, the correct COM port, use the following settings, and choose 'Load Image:' 2. Once the image has finished loading onto the EBL encryprer, select 'Encrypt Image' in the Serial Boot Tool. You may want to rename the 'Image Filename' in order to prevent overwriting the original unencrypted image. The Serial Boot Tool will then start reading back the encrypted EBL target image: 3. Once the encryption is complete, the encrypted EBL target image is now placed in your PC's file system. Loading the EBL and Encrypted Target Image Now that you have the encrypted target image, you can flash the EBL (functioning now as an EBL; not an encrypter) to the target device and then serially load the encrypted target image produced from the last step. To revert the EBL project back to EBL mode (and not encrypter mode): 1.
Remove the following preprocessor define:. SBLSIGNER and modify the following preprocessor define to be:. SBLSECURE=TRUE 2. Ensure that the aesKey matches the key from the previous section. Lock the flash pages so that they can not be read back. Compile the project and flash it on a SmartRF05+EM with a serial cable attached. Now, you can serially load the encrypted target image from the previous section using the Serial Boot Tool.
As it is loaded, the EBL will unencrypt it and write it to flash. Furthermore, since the flash pages are locked for reading, the image will remain secure. Further Considerations See the previously mentioned sections for instructions to jump back into the EBL and to read the superhex (EBL + encrypted target image) from the target device. You will need to implement some type of safe application-level mechanism to jump back to the EBL when it is desired to load another image. Otherwise, an attacker could force a jump to the EBL and use the bootloader Read Command to read back the unencrypted flash. Note that this functionality was discussed in the aforementioned 'Returning to the SBL' section when discussing the appForceBoot command.
The API is the same for the EBL.
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.
Does anyone have recommendations for Cortex M3/M4 microcontrollers with a bootloader in ROM? We use a number of Freescale Kinetis devices, but there is no ROM bootloader - programming is through either JTAG or the EZ-Port (basically treating the chip like an SPI flash device). We have an application where a UART-based bootloader would be very useful, and having it in ROM would save a lot of effort and production time (like the TI msp430 microcontrollers).
There are vast numbers of M3/M4 devices available - I am looking for recommendations for ones with a simple and clear bootloader protocol. Thanks, David. David Brown writes. the TI msp430 microcontrollers). There are vast numbers of M3/M4 devices available - I am looking for recommendations for ones with a simple and clear bootloader protocol. We've used a lot of LPC1768s in our project, usually JTAG programming. However, when we bought a tester development from an another company, their software wizard wrote a serial bootloader in a day.
Unfortunately I could not find manual for the protocol, but it must be available somewhere. On 2013-10-04, Mikko Syrjalahti wrote: David Brown writes:.
the TI msp430 microcontrollers). There are vast numbers of M3/M4 devices available - I am looking for recommendations for ones with a simple and clear bootloader protocol. We've used a lot of LPC1768s in our project, usually JTAG programming. However, when we bought a tester development from an another companytheir software wizard wrote a serial bootloader in a day. Unfortunately I could not find manual for the protocol, but it must be available somewhere. I'm using a flashless LPC18xx, and the serial bootloader protocol is documented in the part's user-manual. NB: the serial bootloader protocol for parts without flash is different than the protocol used by parts withy flash.
The protocol used by parts with flash is referred to as the 'ISP' protocol in docs. The protocol used by flashless parts is much simpler. I write an ISP protcol downloader in less than a day (I wrote it in Python, it would probably take longer in C), and the flashless downloader is even simpler. There's an available open-source download utility written in Python for the ISP protocol available somewhere. The LPC21xx and LPC18xx parts use the same ISP protocol.
I'm guessing the Cortex LPC17xx parts use the same one also. Grant Edwards grant.b.edwards Yow!
Msp430 Serial File Transfer
We are now enjoying at total mutual interaction in gmail.com an imaginary hot tub. On Friday, October 4, 2013 9:03:40 AM UTC-7, David Brown wrote: Does anyone have recommendations for Cortex M3/M4 microcontrollers with a bootloader in ROM? We use a number of Freescale Kinetis devices, but there is no ROM bootloader - programming is through either JTAG or the EZ-Port (basically treating the chip like an SPI flash device). We have an application where a UART-based bootloader would be very useful, and having it in ROM would save a lot of effort and production time (like the TI msp430 microcontrollers). There are vast numbers of M3/M4 devices available - I am looking for recommendations for ones with a simple and clear bootloader protocol.
Not for ARM, but we are using one for PIC32MX. The on-board serial bootloader is in C and the Window interface is in MSVC, both available in source codes. It should not be too difficult to port the boot loader to ARM. On Fri, 04 Oct 2013 18:03:40 +0200, David Brown wrote: Does anyone have recommendations for Cortex M3/M4 microcontrollers with a bootloader in ROM? We use a number of Freescale Kinetis devices, but there is no ROM bootloader - programming is through either JTAG or the EZ-Port (basically treating the chip like an SPI flash device). We have an application where a UART-based bootloader would be very useful, and having it in ROM would save a lot of effort and production time (like the TI msp430 microcontrollers). There are vast numbers of M3/M4 devices available - I am looking for recommendations for ones with a simple and clear bootloader protocol.
ThanksDavid We also have used LPC1768/69 products and, like Mikko, use JTAG but also use the serial port for some updates and development work. The protocol is documented in the user manual. I think some of the guys use FlashMagic. There are other open source tools. Most of the LPC parts have a pin to control entry to the serial boot loader on startup. You can also enter it directly from the application code.
Be careful with the LPC1768/69 if you want to use the NMI. It is the same pin as the boot loader on startup pin but is opposite logic level. Chisolm Republic of Texas.
Msp430 Serial Port
Mikko Syrjalahti writes: David Brown writes:. the TI msp430 microcontrollers). There are vast numbers of M3/M4 devices available - I am looking for recommendations for ones with a simple and clear bootloader protocol. We've used a lot of LPC1768s in our project, usually JTAG programming.
However, when we bought a tester development from an another companytheir software wizard wrote a serial bootloader in a day. Yes, we write our own bootloader too. The bootloader loads itself into RAM and executes there, allowing it to update itself if needed, as well as the main application.
The advantage of your own is that you can use your own interface, instead of UART1 using RS232 or whatever. For example in a modbus system you can update over modbus. The other really nice way is for the bootloader to emulate a USB flash disk, customer can then just drag and drop the application.elf using familiar tools, no drivers required. Unfortunately I could not find manual for the protocol, but it must be available somewhere.
John Devereux. On Fri, 04 Oct 2013 18:03:40 +0200, David Brown wrote: Does anyone have recommendations for Cortex M3/M4 microcontrollers with a bootloader in ROM? The STM32 devices. We use a number of Freescale Kinetis devices, but there is no ROM bootloader - programming is through either JTAG or the EZ-Port (basically treating the chip like an SPI flash device). We have an application where a UART-based bootloader would be very useful, and having it in ROM would save a lot of effort and production time (like the TI msp430 microcontrollers). There are vast numbers of M3/M4 devices available - I am looking for recommendations for ones with a simple and clear bootloader protocol. Check out their application notes 'AN2606 STM32 microcontroller system memory boot mode' and 'AN3155 USART protocol used in the STM32 bootloader.'
They provide a 'Flash Loader Demonstrator'. On Friday, October 4, 2013 1:39:51 PM UTC-4, [email protected] wrote: Not for ARM, but we are using one for PIC32MX. The on-board serial bootloader is in C and the Window interface is in MSVC, both available in source codes.
It should not be too difficult to port the boot loader to ARM. Careful, IIRC the PIC32 bootloader to which you refer is loaded into FLASH, not ROM. This requires programming the part prior use and chews up flash (which costs more than ROM). Sorry if new PIC32 have this in ROM, the ones I've used do not. Hope that helps, Best Regards, Dave PS: We're using LPC11C14 which has both serial and CAN bootloaders in ROM (though I never did find the CAN protocol).
On Friday, October 4, 2013 11:32:39 AM UTC-7, Dave Nadler wrote: On Friday, October 4, 2013 1:39:51 PM UTC-4, [email protected] wrote: Not for ARM, but we are using one for PIC32MX. The on-board serial bootloader is in C and the Window interface is in MSVC, both available in source codes. It should not be too difficult to port the boot loader to ARM. Careful, IIRC the PIC32 bootloader to which you refer is loaded into FLASH, not ROM. This requires programming the part prior use and chews up flash (which costs more than ROM). Yes, it takes up 8K out of 512K flash, Our app takes around 100K, so it won't be a problem with space. Also, we load the app in high flash, and the bootloader is prohibited from changing low flash.
Sorry if new PIC32 have this in ROM, the ones I've used do not. It's possible if you buy 100Ku+. But until then, they can preload the code in flash on the chip.
Bootloading Blues. The MSP430 is a great little micro, and with some proper marketing, it could easily have provided an alternative to the AVR and PIC. However unclear, obfuscating, archaic documentation, spread very thinly over the web has made this little micro the poor relation of the microcontroller world. I write this having just spend a considerable amount of time in February trying to provide an effective solution for programming one of our products, an MSP430 based force gauge, which is being produced by a new supplier. Unfortunately the original programmer from Gessler is no longer available, and so an alternative was needed.
The solution was actually staring in me in the face - so simple, that it's elegance seems to have been lost in the mists of time, and the desire to make everything a lot more complicated than it needs to be. Here I summarise my findings in an attempt to provide a reference that will allow others to benefit from my 3 weeks of frustrating work and false starts. As a prologue to the main post - here is an unpublished post from 3 weeks ago - when I first started on this mission (Previously unpublished - from Feb 9th 2016) We have an on-going project at work, which needs an MSP430 bootloading over it's serial port with a hex file. So we went out and bought the cheap open source,. I then found that I needed the drivers and other software from TI, which I had to register for and then declare to the US Government that I wasn't going to use it against America in any way, shape or form. So far, so good. North Korean?
No, just Bulgarian. The MSP430-BSL is described as a joint project between Olimex and Texas Instruments. The reality is that no-one really wants to take ownership of it, and there is no one specific site that you can go to that gives you everything you need to get this programmer to work.
It's like the code has been fragmented and spread to the four corners of the known cyber world - lest anyone dares try put the fragments together again and unleash the awesomeness of this great force on mankind. What I'm trying to say is that both Olimex and the Mighty TI have this time shot themselves in both feet, and it's no surprise that the MSP430 is languishing in some stagnant microcontroller cul-de-sac. After mulling this over for a while, I began to think that proprietary bootloaders often really suck. There should be a simple, low cost universal tool which allows you to squirt code from a hex file into any microcontroller, from any platform. And that got me thinking about the humble USB-serial programming cable - such as those by FTDI, SiLabs or our Chinese friends who make the CH340. It also appears that others have had this thought. In my search for an alternative MSP430 programmer, I found this interesting approach from - a programmer that is literally not much more complicated than an FTDI cable - just an FT232R on a small pcb.
Bootloaders are usually designed to be small, and not particularly human-friendly, because they are normally talking to some proprietary application running on the pc. But this doesn't need to be the case, there is sufficient flash space in the boot block of most micros to put a more sophisticated bootloader program - one which is actually capable of running some interpreted commands and presenting a more human friendly face to the user. Getting Started The MSP may be programmed by one or more of the following interfaces: 1. A Serial Boot Loader - resident on almost all MSP430 devices - known as BSL 2. A JTAG interface/programmer 3. SpyByWire - a 2 wire serialised version of JTAG.
The Electrical Interface Our force gauge product has a 6 pin connector on board intended for a BSL programmer. This has the following signals present - wired to pins on the IC: TX RX TEST RESET 0V VCC A combination of signals on the test and reset pins puts the device into bootloader mode. The data is then sent by the PC and received by the Rx pin and acknowledged by the Tx pin. The Spec Document The bootloader is fairly well specified in - and for anyone wishing to understand the bootloader, this should be the starting place. When the MSP430 was first designed, the engineers made available a small bootloader program, residing in protected ROM, which allowed serial communication directly to a PC via a couple of pins.
The BSL interface also allows you to read the contents of the Flash, erase it, verify and a range of other commands - some protected by a password mechanism - so as to avoid illegal copying of protected IP. Towards the middle of the SLAU319 document, a circuit for a programming interface is provided. This circuit dates from the early 2000's - when all PCs and laptops came with 9 pin serial COM ports. In essence, there are three, level shifted outputs from the COM port to the target device, and one level shifted input back to the PC. Modern RS232 generally puts out +/-6V - and we need 0-3V TTL levels for the MSP430. The circuit is powered by harvesting spare energy from the output lines through diodes and pumping up a capacitor. The raw supply feeds the TL062 op-amp and is then regulated to 3V to provide a stable supply for the 74AHC14 Schmitt inverters.
This really is a very simple circuit - but sadly off-putting because it uses about 25 components and uses the now obsolete 9 way D-type and COM port. The conjuring 2 in hindi download utorrent. What is really needed is a modern equivalent that works with USB and modern software drivers. USB Implementation.
There are several low cost USB to serial converter chips to choose from, including FTDI, CP2102 (SiLabs) and the newer Chinese CH340G. All of them have the potential to work in this circuit. I covered the CH340G in a and the datasheet is. The CH340 is low cost and easy to use. I have subsequently used the CH340G on some of my other projects. For my experimentation, however, I used a SiLabs CP2102 device mounted on a small pcb - solely because I had it lying about. It breaks out all of the common RS232 signals - including RTS and DTR which we need. These modular devices are available from ebay for a couple of dollars - and a variety to choose from.
CP2102 module by Baite Electronics The one above comes with a set of double ended leads - so you can easily make up your own custom cable. So to make this work we need to access Tx, Rx, RTS and DTR. RTS and DTR are often available on the 4 way headers down the side of the module. The module also conveniently supplies a 3V3 supply from an internal voltage regulator - this can supply a maximum of 100mA - more than enough for powering most MSP430 dev-boards. Programming Application Software I tried a couple of programming applications, with very little success - until I stumbled - from a Russian gentleman Kurt.
This did exactly what was needed - allowing a hex file to be loaded into the MSP430. Programming the MSP430 really is that cheap and easy - using free software and a USB to serial module costing under $2 - finding out how to do it - from the information spread over the web it - was so very much harder.
Common Myths - Busted You don't need a In desperation I found a FET-Pro 430 reduced to $50 on ebay. You don't need an $11 I bought two of these from Mouser - I am still trying to find the correct software to make them work. In conclusion The BSL feature that comes with almost all MSP430 devices is great at doing what it was intended for - a very simple means of getting your hex file into the MSP430's flash. The resources needed to make this work are trivial, and it could make a great addition to any application that needs the ability to modify the flash memory.
Unfortunately, the documentation has been obfuscated and made more compex than needs-be by JTAG and SpyByWire (for debugging) - and so few people are aware what a simple facility BSL is to use. The hardware needed in the form of a USB - Serial converter should be part of every hobbyist's or Engineer's toolkit. The resources needed to make this work are trivial, and it could make a great addition to any application that needs the ability to modify the flash memory. The protocol is simple, as is the 2 signal start-up sequence - and at a pinch, if you didn't have a serial converter that supports DTR (eg FTDI cable) you could hack an Arduino or Launchpad to generate the start-up sequence.
You could even make a standalone programmer for repeat programming of boards out in the field using a Launchpad. Energia has made the MSP430 more accessible - providing an Arduino like development environment. However, it is still nice to know how the simple low-level bootloader scheme works. Update I have written a follow-up to this post: This looks at the hardware and PC applications needed to make the simple BSL work.
I have also implemented the CH340G bootloader circuit on my. Below, on the left is the CH340G, its accompanying 12MHz crystal and a couple of 22pF capacitors. That's almost all you need for a bootloading interface!
ChipStick - an 11mm x 40mm MSP430FR2433 Dev Board. Anonymous said. For a long time TI sold an MSP430 LaunchPad board for $4.30, which included a couple of DIL-14 MCUs and a test/programmer board that also handled the DIL-20 parts (so all very hobbyist friendly).
I've also found that MSP430 Microcontroller Basics by John H. Davies provides an excellent overview of the platform (and a good complement to the copious code samples and wiki articles on the LaunchPad site). It was (and might still be possible) to order free samples (with free international shipping) of the MSP430 chips - I still have a little hoard of various models from years ago.
Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |