MB91F526LSB 1828 801 erase process

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
krboc_4116076
Level 1
Level 1
5 replies posted First reply posted First question asked

I am from Intel.

In my project I am using two IO controllers same version but different manufacturing dates

  1. Old(MB91F526LSB 1551 Z01)
  2. New(MB91F526LSB 1828 801)

I am able to erase Old(MB91F526LSB 1551 Z01) IO controller memory with my bootloader code, I used same bootloader code to erase New(MB91F526LSB 1828 801) IO controllers but  last sector was not erased on New(MB91F526LSB 1828 801) IO controllers device.

Erase process:

Doing erase process for every sector from 0x7C000UL to 0x17FFFF and excepting 0xFF in the erased memory.

uart_print_debug_string("Erasing main application flash area ... \n");

flash_routines_erase_sector( 0x7C000UL);                

flash_routines_erase_sector( 0x80000UL);

flash_routines_erase_sector( 0xA0000UL);

flash_routines_erase_sector( 0xC0000UL);

flash_routines_erase_sector( 0xE0000UL);

flash_routines_erase_sector(0x100000UL);

flash_routines_erase_sector(0x120000UL);

flash_routines_erase_sector(0x140000UL);

flash_routines_erase_sector(0x160000UL);

blank_check_result = flash_routines_blank_check(0x7C000, 0x17FFFF);       ==>blank check(checking for 0xFF) failed for last sector(from0x160000UL to  0x17FFFF) of New(MB91F526LSB 1828 801) device.

Erase sequence(here x is sector address)

#define MAINFLASH_SECTOR_ERASE_SEQUENCE(X) *(volatile unsigned short *)( ( X & 0x001F0000 ) | 0x00001554 ) = 0x00AA; \

            *(volatile unsigned short *)( ( X & 0x001F0000 ) | 0x00000AA8 ) = 0x0055; \

            *(volatile unsigned short *)( ( X & 0x001F0000 ) | 0x00001554 ) = 0x0080; \

            *(volatile unsigned short *)( ( X & 0x001F0000 ) | 0x00001554 ) = 0x00AA; \

            *(volatile unsigned short *)( ( X & 0x001F0000 ) | 0x00000AA8 ) = 0x0055; \

            *(volatile unsigned short *)( X ) = 0x0030;

Is there any deference to erase new(MB91F526LSB 1828 801)IO controller memory apart from old(MB91F526LSB 1551 Z01) IO controller memory ?.

If it’s possible can you please provide sample code to erase New(MB91F526LSB 1828 801) IO controller memory.

0 Likes
1 Solution

Hello,

Hardware watchdog (WDT1) is clocked by the internal built-in CR clock (100KHz +-50KHz). The CR clock frequency of each MCU may be different.

1. The watchdog clear in your bootloader may need meet the worst case;

2. CY91520 don't support CR clock calibration but can measure the CR clock errors.

//Chapter 29: RTC/WDT1 Calibration of MB91520 Series Hardware Manual

pastedImage_2.png

Best regards,

Amy Wang

View solution in original post

0 Likes
5 Replies
HongyanW_86
Moderator
Moderator
Moderator
100 solutions authored 100 replies posted 50 solutions authored

Is it possible to erase the last sector of new lot MCU with Cypress Flash MCU Programmer via UART interface?

https://www.cypress.com/documentation/software-and-drivers/flash-mcu-programmer-1

Best regards,

Amy Wang

0 Likes

I am able to program IO controller Memory whenever I connected “MB2100-01A-E Single Port Embedded Emulator Debugger SPEED-BOX” only with my boot loader code, without “MB2100-01A-E Single Port Embedded Emulator Debugger SPEED-BOX” I am seeing issues with the same boot loader code.

I am not sure how it is making difference with “MB2100-01A-E Single Port Embedded Emulator Debugger SPEED-BOX” connection,

Can you please share your insights on this issue,

My assumptions

->it is may be because of memory sink.

->may be voltages issues on board.

0 Likes

What's the interface for your bootloader to program application code to MCU?

For the MB2100-01A, if you also connected it to your PC with USB power on? Could you please check the voltage level of VCC (power supply to MCU) pin, C pin, mode pin and external crystal pins when MB2100-01A connected and disconnected? If you have the same issue with all your hardware board?

Best regards,

Amy Wang

0 Likes

In my project I am using two IO controllers same version but different manufacturing dates

  1. Old(MB91F526LSB 1551 Z01)
  2. New(MB91F526LSB 1828 801)

There is no issue with erase, after erase done we are doing blank check from 0x74000 to 0x17FFFF, on  New(MB91F526LSB 1828 801) board watch dog(WDTCPR1) trimmer expired, because of this I am not able to flash my code, but in old boards I didn’t see this issue.

I am able to flash my code by connecting debugger because watch dog trimmer was disabled.

Is there any way to calibrate the watch dog trimmer(WDTCPR1) or any difference on clock ?

Please see for more info on issue.

0 Likes

Hello,

Hardware watchdog (WDT1) is clocked by the internal built-in CR clock (100KHz +-50KHz). The CR clock frequency of each MCU may be different.

1. The watchdog clear in your bootloader may need meet the worst case;

2. CY91520 don't support CR clock calibration but can measure the CR clock errors.

//Chapter 29: RTC/WDT1 Calibration of MB91520 Series Hardware Manual

pastedImage_2.png

Best regards,

Amy Wang

0 Likes