Hi Alice and thanks for your reply. We just running out of project time and I was thinking we may have to switch to other MCU. It is really good to hear someone is there.
On the debug, I see check marked breakpoints on the main function which is not generated by me. This is the message after the flashing program to the board, on the console it says,
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The target endianness is set automatically (currently little endian)
continue
Continuing.
Note: automatically using hardware breakpoints for read-only addresses.
Temporary breakpoint 1, main () at ../Sources/main.c:58
58 PE_low_level_init(); //End of Processor Expert internal initialization.
Quit (expect signal SIGINT when the program is resumed)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
I have no idea why it generates Temporary breakpoint 1.
First I thought it might be watchdog timer but loop is so small as you can see on the code below and beside I haven't added watchdog timer yet. Looking forward to have your comments.
Thanks,
pos.x = 0;
pos.y = 0;
pos.page = 0;
DVS_CS1_ClrVal(NULL); // Unselect CS1
DVS_CS2_SetVal(NULL); // Select CS2
DVS_WriteByte(DVS_ON, DVS_Ins); // Power on
for (uint8_t i=0; i<8; i++) *******This is where main program calls __thumb_startuo(void) function only if it runs continuously but trying step by step, (F5) it works fine and comes out of the "for" loop.
{
DVS_Fill(CLEAR,0,2,i); // Clear Display, Dec23 127-> 2 for test
}
DVS_GotoXY(0,0);
void DVS_Fill(uint8_t mode, uint8_t x1, uint8_t x2, uint8_t Row)
{
uint8_t pi;
for(pi=x1; pi<x2+1; pi++) *******Same as above if you pass that loop with F5 it will call __thumb_startuo(void) function here. That only if it runs continuously but trying step by step, (F5) it works fine and comes out of the "for" loop.
{
DVS_GotoXP(pi, Row);
DVS_WriteByte(mode, DVS_Data);
}
}