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.

Secondary bootloader SW + AIS + Apllication Software problem

Hello
,

I am using the 6748 DSP.

I my requirements I need to have 2 Software burned on the flash:

1. Loader Application - enables the host to program the flash with new SW , tables
..... via RS232 and a specific protocol.

2. Operational Application - This is the actual Software

I have discrete which identifies the software I need to operate.

The advantage in this way is that if we ask our customers to upgrade our product
application they can only harm the application and not the loader in case of an
accident, so if for example the power is turned off in the middle of the
upgrade process , the loader SW stays safe , and the upgrade process can start
all over again.

So what I need is that the first software which would be loaded to RAM is the Loader
SW. it would look on the discrete. If it identifies it should be in loader mode
than it stays in this software and performs the loader operations , but if it identifies
it should be in operational mode than it should copy the operational software
which is on another sector in the flash into RAM.

The loader software is small and can be easily put into very few KB of internal
RAM.

The operational software is big and segmented between L1 (none cache) , L2 and DDR.

How can I do it ? (If I would know how to tweak the ROM LOADER in AIS mode so it
would be manually activated (jumped into) and the first address it looks at is
something I can control than all my problems are over).

10x

Eran

  

  • Eran,

    eran peled said:
    I need to have 2 Software burned on the flash

    Which boot mode do you mean to be "the flash"? This fits more than one boot mode for the C6748.

    eran peled said:
    If I would know how to tweak the ROM LOADER in AIS mode so

    You cannot tweak the ROM LOADER. The ROM is fixed and cannot be changed on your board.

    eran peled said:

    I have discrete which identifies the software I need to operate.

    It is not clear what this is or how it could be used.

    With any of the Flash- or EEPROM-based master boot modes, the ROM Loader will start reading from the same place every time it boots. This is where you will want your Loader Application to reside. You will want your Loader Application to be fully loaded and executed when you come out of reset.

    The Loader Application can then do anything you want it to do. This can include reading your "discrete" to determine what to do, checking the UART for a BOOTREQ command (for example), or loading and running your Operational Application. You might have CRC checks for both code segments and go into recovery mode if one or both have errors.

    You can make this behave however you want, as long as you start from the basic, pre-defined boot mode that is supported by the ROM BootLoader.

    Regards,
    RandyP

     

    If you need more help, please reply back. If this answers the question, please click  Verify Answer  , below.

  • I want to use the NOR flash.

    For the Loader software itself I can use the legacy NOR. As I wrote the loader software is relatively small so it all fits in the internal L2 so it is not segmented between (not using L1,DDR….). so a simple memcpy() is enough.

    The operative SW is big and includes lot of segments (some in DDR some in L2 and some in L1 as none cached RAM). So I need the AIS mechanism to be active so it would copy the segments as needed.

    What I meant by tweaking is that if there is a special register the ROM looks at ,before it start working , and if in that register for example is the offset from the start of the NOR flash which the ROM code looks at as the "Configuration Word" than I could tweak the ROM (I don't mean changing it just the registers it looks at for its logic).

    If it is not possible how can I boot multiple segments code without the AIS?

    10x

    Eran.