This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Flash programming for ULINK2

Hi,

I am new to writing FLM in Keil, for spansion S29GL01GS10TFI020 on MCU target STM32F429 in Keil v5.

I have some queries after referencing the Keil Flash examples and device part datasheets from the internet.

FlashDev.c:
1. Is the size and address portion normally based on flash x8 addressing mode only?
My device appears to be x16 mode only.
So how does this difference affect and which structure parameters?

2. How to determine (a) programming page size, (b) program timeout and (c) erase timeout?

Attached is my assumed output:

struct FlashDevice const FlashDevice = { FLASH_DRV_VERS, // Driver Version, do not modify! "S29GL01GS Flash", // Device Name EXT16BIT, // Device Type 0x60000000, // Device Start Address 0x08000000, // Device Size in Bytes (128MB) 1024, // Programming Page Size 0, // Reserved, must be 0 0xFF, // Initial Content of Erased Memory 200, // Program Page Timeout 200 mSec: datatsheet max time @ 750-uSec for 512 bytes, so it's x 2 for program size of 1024 bytes. 1500, // Erase Sector Timeout 1100 mSec: datatsheet max time @ 1100 mSec

// Specify Size and Address of Sectors 0x020000, 0x000000, // Sector Size 128kB (1024 Sectors) SECTOR_END
};

Please to get your advise.