TMS320F28377D: program code copy and paste in multiple locations

Part Number: TMS320F28377D
Other Parts Discussed in Thread: C2000WARE

Tool/software:

hi, am working on TMS320F28377D microcontroller, i got to one requirement regarding bit flip(multiple bit upset) in internal flash so i we were planning to copy paste the program in multiple location in internal

so, please give me example code or mechanism to copy and paste in multiple location in microcontroller 

please find the memory partitioning of our software 

Region

Address

Length

(Bytes) in Decimal

DMM Microcontroller used

Purpose

BEGIN

0x080000

2 Bytes

2 Bytes(100%)

Bootloader entry point for "Boot to Flash".

RAMM1

0x000400

1016 Bytes

256 Bytes(25%)

runtime data for initialization and stack.

RAMLS0

0x008000

2048 Bytes

350 Bytes(17%)

Run program CPU1 tasks.

RAMLS5

0x00A800

2048 Bytes

427 Bytes (20%)

Shared tasks or configuration.

Region

Address

Length

(Bytes)

DMM Microcontroller used

Purpose

Flash Section B

0x082000

8192 Bytes

5753 Bytes(70%)

Application program (CPU1)

Flash Section D

0x086000

8192 Bytes

350 Bytes(4%)

Redundant data or fail-safe.

Flash Section E

0x088000

32768 Bytes

36 Bytes(0.11%)

Calibration and configuration data.

Flash Section F

0x090000

32768 Bytes

170 Bytes(0.52%)

Logging and analytics.

regards

J.Muniniteesh 

  • Hello,

    We don't have an example to copy flash from one area of flash to another, but it should be relatively simple to implement. You can simply read the data in flash, store it in an intermediate buffer, and use the flash API to program it at a different address in flash. One thing to keep in mind is that this will all have to be run in RAM as you cannot execute and program the same flash bank simultaneously. For examples on using the flash API, please refer to the flash programming examples (C2000Ware_Install\device_support\f2837xd\examples\dual\flash_programming).

    Kind regards,

    Skyler