- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am from Intel.
In my project I am using two IO controllers same version but different manufacturing dates
- Old(MB91F526LSB 1551 Z01)
- 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.
Solved! Go to Solution.
- Labels:
-
Other Legacy MCU
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Best regards,
Amy Wang
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In my project I am using two IO controllers same version but different manufacturing dates
- Old(MB91F526LSB 1551 Z01)
- 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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Best regards,
Amy Wang