Serial bootloader Standard Flash drivers

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Serial bootloader Standard Flash drivers

885 Views
yalamandadosaky
Contributor V

Hi I have developed serial bootloader as per mpc5748g serial bootloader for MPC5777m using S32 ds for power pc v1.1,

When I run the code it is detecting break points inside c-array drivers, like FlashErase_c , FlashCheckStatus_c and other files which are moved to RAM location.

And When I send a application file , the tera term is sending the file at a time (Flowcontrol is not happening) Xon/Xoff I have enabled in TeraTerm serial port settings.My UART driver is able to receive only first Srecord only. 

But with some work around (I increased the delay to 3sec in the tera term serial port settings after sending every line).

But I need to resume the debug session after each and every line it sends, And it is very difficult to flash large file.

I am using C55 array drivers from the MPC5777M nxp tools and software site.

Can any one help me how to solve this issue.

0 Kudos
2 Replies

646 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi,

are you sure that you don't access flash partition which is being programmed/erased? What about interrupts? I guess interrupt are enabled during flash operation, right? Where is the interrupt vector table? Where are interrupt handlers? Are they in RAM or in partition which is not programmed/erased?

Is "debug mode selection" in SSD_Config set as FALSE?

Regards,

Lukas

0 Kudos

646 Views
yalamandadosaky
Contributor V

Hi lukaszadrapa‌ thanks for your reply, I am not accessing the any partition which is being programmed/erased.

1. Regarding the interrupt vector table  in  file intc_SW_mode_isr_vectors_MPC5777M.c I have added the followed code just above the IntcIsrVectorTable[] array. I am following this way to move to RAM partition.

#pragma ghs section rodata=".intc_vector_table"

2. And also in vector.c I moved IVORn to RAM partition

#pragma ghs section rodata=".axv" 

3. debug mode selection in SSD_Config is set to FALSE.

I am disabling the interrupts once I read/write the character using (Putchar/GetChar Functions inside serial communications.c)

PPCASM("wrteei 0"); /* disable interrupts */

and  after processing the interrupts again I am enabling  for reading/writing next character.

PPCASM("wrteei 1"); /* enable interrupts */

With this settings My code is stuck at Erase operation and giving IVOR1 Vector error when I suspend the debug session.

Below is the console output

**********************************************

MPC5777M Bootloader v1.0

**********************************************

1.) Erase Flash
2.) Program Flash
3.) Execute Application
Please choose 1 to 3: 1

Please wait...

0 Kudos