************************************************************************ ************************************************************************ ** ** ** Application notes for Micron FLASH memory devices ** ** (Informal Document) ** ** ** ** To find the app notes for your specific device, search for the ** ** core device name (example: 28F640). To print the app notes ** ** highlight and select the app notes, copy it, and paste it to ** ** notepad. ** ** ** ** For a description of how to download files in multiple segments ** ** and how to edit RAM see the File Edit and RAM download description ** ** sections at the bottom of this appnote file. ** ** ** ************************************************************************ ************************************************************************ *-Micron-* 28S4M16LC SyncFlash Due to memory limitations on the Unisystem programmers, this 64Mbit device is split into 2 equal 32Mbit quadrants. Two separate device algorithm -U and -L menu selections are used to access the upper and lower quadrants. Device mapping: ---------------------- 0Mbit Unisystem RAM mapping: | Quadrant 1 (Lower) | | 0-1FFFFF hex | --------------- 0Mbit | Banks 0 & 1 | | 0 hex | | | | |----------> | | | | |----------------------| 32Mbit | | | Quadrant 2 (Upper) | | |----------> | 200000->3FFFFF hex | | 1FFFFF hex | | Banks 2 & 3 | |--------------- 32Mbit | | | 200000 hex |NVMODE DATA | | --------------- ---------------------- 64Mbit Quadrant 1 = Device addresses 0 -> 1FFFFF hex = Sectors 0-7 in Bank 0 and Bank 1 Quadrant 2 = Device addresses 200000 -> 3FFFFF hex = Sectors 8-15 in Bank 2 and Bank 3 NVMODE DATA = NVMODE Register data. See NVMODE notes below. NVMODE Data: Reference your Micron Datasheet for valid NVMODE register settings and descriptions. NVMODE register data is stored at 200000 hex in the Unisystem memory map. After placing the NVMODE configuration word at 200000 hex, enable the "Program configuration" flag in the Program Device screen. If you are using Tasklink for Windows, enable the "Special Data #1" flag in the Setup-> Programmer Properties->Special tab. The programmer does not support stand-alone verify of NVMODE data. NVMODE data may be programmed during either the -U or -L menu selection. Device Protection Bit: Reference your Micron Datasheet for a description of this feature. This bit is One Time Programmable (OTP). Set this bit by enabling the "Program Security Fuse" flag in the Program Device screen. If you are using Tasklink for Windows, enter "3" as the Security Option in the Setup->Programmer Properties->General tab. OTP Sectors: Sector 0 and Sector 15 are One-Time-Protectable. Once you protect these sectors they cannot be un-protected. If you attempt to erase a device that has either of these sectors protected you may encounter non-blank errors. Reference your Micron datasheet for more information regarding the protection of the first and last sector. Notes: The sector protection status flags for this device can ONLY be reset in the -L (Lower) algorithm menu selection. You may encounter software data protect errors if you try to erase the device using the -U menu selection. -------------------------------------------------------------------------------- *-Micron-* 28F642D18, 28F642D20, 28C6428P20 ** Note 1: This device is supported with Hiterm using OS v6.8 or higher. Currently Tasklink does not support this device. There is a bug with the Tasklink software. It will be supported when the bug is resolved. ** Note 2: The 'F1' key is back to the Main menu. ** Note 3: Quadrant 1 = Upper Half of device Quadrant 2 = Lower Half of device Due to ram limitations on the Unisystem programmers, this 64Mbit device had to be split into 2 equal 32Mbit Quadrants . Device mapping: ---------------------- 0Mbit Unisystem RAM mapping: | Quadrant 1 | | 0-1FFFFF hex | --------------- 0Mbit | | | 0 hex | | | | |----------> | | | | |----------------------| 32Mbit | | | | | |----------> | | | 200000 hex | | 200000->3FFFFF hex | --------------- 32Mbit | | |----------------------| 64Mbit | 400000->400003 hex | ---------------------- Protection Registers Quadrant 1 = Device addresses 0 -> 1FFFFF hex = Sectors 0-70 for Bottom Bootblock = Sectors 0-63 for Top Bootblock Quadrant 2 = Device addresses 200000 -> 3FFFFF hex = Sectors 71-134 for Bottom Bootblock = Sectors 64-134 for Top Bootblock Protection = Device addresses 400000 -> 400003 hex Registers = Sector 135 in Quadrant 2 Quadrant 1: Load/Verify/Program/Erase 1) Select Device Configure 2) Hold down 'Ctrl' key and hit the 'K' key on the keyboard to enter the sector mode. 3) Under SECTOR CONFIGURATION select the sectors in Quadrant 1. Use the arrow key to scroll up or down to select the sectors. a) Sectors to be Erased: 0-70 for Bottom Bootblock (for Top Bootblock it is sector 0-63) b) Sectors to be Programmed: 0-70 for Bottom Bootblock (for Top Bootblock it is sector 0-63) c) Sectors to be Protected: - The 'F1' key is back to the Main menu. Quadrant 2: Load/Verify/Program/Erase/Protection Registers 1) Select Program Device. The PROGRAM MEMORY DEVICE screen will appear on the right frame. 2) Hit the 'F4' key to enter Select mode/options. 3) Set the Begin Device Address to 200000. This is the starting address of Quadrant 2. 4) Select Device Configure 5) Hold down 'Ctrl' key and hit the 'K' key on the keyboard to enter the sector mode. ** If the sectors are not correct you will need to enter in the correct settings. Sometimes the sector tables does not reset correctly if you switch operations between Quadrant 1 & 2. This is a bug and it will be fixed. Check and make sure the sectors are set accordingly below. If it is not the same as below you will need to enter in the right sectors. Use the arrow key to scroll up or down. a) Sectors to be Erased: 71-134 for Bottom Bootblock (for Top Bootblock it is sector 64-134) b) Sectors to be Programmed: 71-134 for Bottom Bootblock (for Top Bootblock it is sector 64-134) c) Sectors to be Protected: - The 'F1' key is back to the Main menu. Program/Protect the Protection Registers. It is the same process as in Quadrant 2 except only the protection register sector needs to be enable. To program the register enable Sectors to be programmed. To protect the register enable the Sectors to be protected. a) Sectors to be Erased: - b) Sectors to be Programmed: 135 c) Sectors to be Protected: 135 -------------------------------------------------------------------------------- *-Micron-* 28F640J3 Look at application notes for Micron 28F642D18 device. Only difference is the sector table and no boot blocks. Follow the same procedures but use the sector table below. Quadrant 1 = Device addresses 0 -> 1FFFFF hex = Sectors 0-31 Quadrant 2 = Device addresses 200000 -> 3FFFFF hex = Sectors 32-63 Protection = Device addresses 400000 -> 400003 hex Registers = Sector 64 in Quadrant 2 -------------------------------------------------------------------------------- ************************************************************************ *****************FILE DOWNLOAD AND RAM EDIT DOCUMENTATION*************** ************************************************************************ Downloading a data file. An example of downloading a 4M (0 - 3FFFFF hex) file. You will need to download the files in two halves. The first half is for Quadrant 1. The second half is for Quadrant 2. ** NOTE: Quadrant 1 = Device addresses 0 -> 1FFFFF hex Quadrant 1 settings: I/O Translation Format 99 I/O addr offset 0 Memory begin address 0 User data size 400000 (800000 if x8) Steps: 1) Download the first half (0-200000) of the data file into Quadrant 1. 2) Program the device. ** NOTE: Quadrant 2 = Device addresses 200000 -> 3FFFFF hex Quadrant 2 settings: I/O Translation Format 99 I/O addr offset 400000 (800000 if x8) Memory begin address 0 User data size 400000 (800000 if x8) Steps: 1) Download the second half (200000-400000) of the data file into Quadrant 2. 2) Program the device. -------------------------------------------------------------------------------- Editing device data in the memory editor of Quadrant 1: Go to any specific address that needs to be edited. For example if editing is needed at address 1F8000, go to that address and change the data as needed. Editing device data in the memory editor of Quadrant 2: For example, if editing data is needed at the device address starting at location 2F8000 hex. To find where location 2F8000 hex corresponds to location in the Quadrant 2 subtract the beginning device address range from the location you want to edit. In this case the location of device address location 2F8000 hex in the Quadrant 2 and the address is F8000 hex. (F8000 hex = 2F8000 hex - 200000 hex). ************************************************************************ 28F128J3CX ----------- This application note is applicable only to INT 28F128J3CX-TSOP and MTI 28F128J3X-TSOP device menu selection. It details how to setup programming a portion of the device. Due to Ram limitations on the Unisystem programmers, this device has to be split into parts before doing any operation on the device. The device size for the device under consideration is 0x80000. This splitting of memory is explained in the examples given below. Example1-a: Operation - Load First 6 MBytes of memory. ------------------------------------------ Say you need to do operation on the first 6 MBytes of memory. So the device being a 16 bit device, address range becomes 0x300000. If any operation is tried out before selecting the proper range, following error is displayed by the programmer. "OPERATION FAILED: End of user RAM exceeded. Press F3" In order to setup the address range for programming portions of the device, jump to "Device Configure" screen and enter the values of addresses. Where the "Device begin address" is not equal to zero, address setting should be done in "Ctrl+k" mode On entering the 'Device Configure' menu, you need to enter: Begin Device: 0 Device Block Size: 300000 The programmer will now display the sector configuration.The address range required is now selected: SECTOR CONFIGURATION Sectors to be Erased: 0-47 Sectors to be Programmed: 0-47 Sectors to be Protected: - To leave the "Device Configure" screen hit "F1" to return. Upon returning set go to the Device Operation screen(Load device/Verify device) b: Operation - Program first 6 MBytes of memory ---------------------------------------------- Assuming that you select device and follow the steps as per Example1 to set the address range. Now, when you enter the programming mode, you need to set one more parameter - "Total set size" 3 (dummy value) Here, set the 'Total set size' value to 1. "Total set size" 1 (required value) To leave the "Device Configure" screen hit "F1" to return. Upon returning set go to the Device Operation screen Program device. The programmer is now ready for the program operation. Example2: Operation - Load last 6 MBytes of memory. ------------------------------------------ Say you need to do operation on the last 6 MBytes of memory. So the device address range becomes 0x300000 because this is a 16 bit device. And the device begin address is 0x500000. This parameter entry is displayed as follows: Begin Device: 500000 Device Block Size: 300000 The programmer will now display the sector configuration. The address range required is now selected: SECTOR CONFIGURATION Sectors to be Erased: 80-127 Sectors to be Programmed: 80-127 Sectors to be Protected: - Consider two cases here: a) device with size greater than the available ram in the programmer. Like if we try to give the device block size 0x600000 at the begin address 0x0000. b) Device Block Size selected is more than the ram required. Like in this example, we enter block size as 0x400000. In both the above cases, the programmer will set the address range automatically to required value, in case a: 0x420000 and case b: 0x300000 displaying the following message. "Device Block Limits needed to be adjusted." Here the value is adjusted to the device size in order to utilize the correct amount of programmer RAM. The programmer also adjusts the memory begin address or the block size in case the program block is not on the sector boundary b: Operation - Program last 6 MBytes of memory ---------------------------------------------- Assuming that you select device and follow the steps as per Example1 to set the address range. Now, when you enter the programming mode, you need to set one more parameter - "Total set size" 3 (dummy value) Here, set the 'Total set size' value to 1. "Total set size" 1 (required value) To leave the "Device Configure" screen hit "F1" to return. Upon returning set go to the Device Operation screen Program device. The programmer is now ready for the program operation of the last 6 MBytes of memory. ************************************************************************ ************************************************************************