Author Topic: LM3SXXXX Service pack 1 now available  (Read 10062 times)

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3234
    • View Profile
    • uTasker
LM3SXXXX Service pack 1 now available
« on: April 19, 2008, 12:55:46 PM »
Hi All

Please note that the Service Pack 1 for the LM3SXXXX is now available on the SP page: http://www.utasker.com/software/softwareV1.3.html

This service pack adds both SPI FLASH [ATMEL and ST] support for the uFileSystem (or other data) and the Bare-Minimum-Boot-Loader support, allowing complete [and optionally encrypted] firmware updates via Ethernet (FTP or HTTP Post).

A new boot loader users' guide is being prepared (watch the documents page) which will contain full details, but if you want to use it already here is a very brief guide:

SPI FLASH:
- this is easy. Connect a chip as in the circuit diagram here: http://www.utasker.com/docs/uTasker/spi_flash_luminary.PDF. Then configure SPI_FILE_SYSTEM + FLASH_FILE_SYSTEM. This will set the parameters to the end of internal FLASH and the uFileSystem to external SPI FLASH.

Boot loader:
- Use the Rowley project in Applications\uTaskerBoot to build the boot loader itself (a pre-compiled binary is also included).
- Use the build configuration "Bare Minimum Boot" when building the uTasker project.
- Run the bat file "BM-Convert.bat" in \Applications\uTaskerV1.3\Rowley_LM3SXXXX\Bare Minimum Boot Loader to merge the boot loader with the application. This will generate a binary file (uTaskerBM.bin) which can be downloaded to the board using LM Flash Programmer.
- After making changes to the application in the same project, always re-run the BM-Convert.bat, which also makes a file called "z_Upload.bin". This can be loaded to the board via Ethernet (best use the upload method on the "admin" web page. You should find that uploads complete within about 7s!!

Good luck!!

Regards

Mark

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3234
    • View Profile
    • uTasker
Re: LM3SXXXX Service pack 1 now available
« Reply #1 on: May 01, 2008, 11:04:22 PM »
Hi All

The SP1 for the LM3Sxxxx has a linker problem when using the GNU compiler (or Rowley).
If you get a linking error due to memcpy() being missing please do the following:

In webInterface.c, in the routine fnOnMyBlackList(), change the declaration of the IP address being checked from
unsigned char ucBlacklisted[] = {212, 224, 127, 14};
to
static const unsigned char ucBlacklisted[] = {212, 224, 127, 14};

This is in fact test code which can also be removed: It is blocking an IP address in a list of black-listed addresses (although list is only one long), which was in fact attacking my demo at the time. I traced it back to a web site for massage parlors and erotic centres!!

The reason why the GNU compiler has this linking error is due to that fact that it is inserting memcpy() in the code to create the array ucBlackListed[] on the stack each time the function is called. Other compilers generally don't do this. By defining the array to be constant it is no longer copied to stack but compared directly in FLASH and thus no more linker error.

Regards

Mark

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3234
    • View Profile
    • uTasker
Re: LM3SXXXX Service pack 1 now available
« Reply #2 on: May 03, 2008, 01:19:56 PM »
Hi All

Note to Rowley Crossworks users:

In order to download to FLASH directly from Crossstudio (Debug | Start Debugging or F5) the following entry should be added to each build properties:
TARGET OPTIONS:
- Loader File Path:
$(StudioDir)/targets/Luminary_LM3S/Release/Loader.elf

If this doesn't work correctly, load the binary file using Luminary Micro FLASH Programmer the first time and afterwards (as long as there is a program starting) the Rowley download should work fine.

Regards

Mark

« Last Edit: June 11, 2008, 06:51:18 PM by mark »