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.

MSP430F249: data file size is bigger than controller flash memory size

Other Parts Discussed in Thread: MSP430F249

Hello All,

 

The conroller is MSP430F249.

 

Well the whole story is that my embedded system be able to upgrade firmware of a chip on my PCB.  My embedded system is a SPI based system.  So PC can not help for firmware upgrade of the chip.

 

The firmware size of the chip is about 475 Kbytes.  While MSP430F249 is having 60 Kbytes of flash.   

 

I tried the following 2 approaches, but the linker gives me error that .const (or .myConst) section is not big enough.

 

1. const unsigned short someDataArray[] = {

#include "someData"

};

 

2. #pragma DATA_SECTION (someDataArray, ".myConst");

const unsigned short someDataArray[] = {

#include "someData"

};

 

How to overcome above problem?

 

Your help is very much appreciated.

 

Babu

  • My answer is 475 characters long. I want to fit it in 60 cha[|-)]

  • Hello,

    Please explain further.

    Do  you mean it can not be done?

    Is putting a 512 Kbytes of memory on the PCB is the answer?

    Any other solution?

    Please respond.

    Babu

     

  • Hi, 

    how do you want to fit 475kB into 60kB? Add an SPI Flash of at least 512kB to your PCB or, dependent of your application try to program the 475kB by using i.e. 40kB portions.

    aBUGSworstnightmare

  • I'm not sure I understand your question or what you are trying to do.

    PC -> msp430f249 -> PCB

    Your PCB has only an SPI connection, but your PC has no SPI connection so you want to use the MSP430 as a' middle-man' to transfer firmware between the PC and the PCB.  Is this correct?

    The problem, as I understand it, is that the firmware destined for your PCB is 475KB in size, but the msp430f249 has only 60KB of flash which is not large enough to hold the firmware package.

    You will have to implement a transfer program on the PC and on the msp430 and on your PCB that will break the firmware into smaller chunks for the transfer.

    For example:

    1. PC sends 20KB to MSP430

    2. MSP430 sends 20KB to your PCB

    3. PC sends next 20KB to MSP430

    Repeat the above steps until the entire firmware has been transferred.

    You might consider using an Aardvark I2C/SPI adapter to transfer directly between your PC and PCB.  The Aardvark works well as an SPI master, but not so well as a slave, so if your PCB is an SPI slave, the Aardvark will work fine.

     

     

**Attention** This is a public forum