Memory map, password handling for TI TMS320F281x DSP's on SPRINT Applicable for: - TMS320F2810 - TMS320F2811 - TMS320F2812 Memory map: ----------- Sprint uses the native memory map of TMS320F281x devices, however Sprint's memory is byte oriented instead of words. For that the 4MB x 16 DSP address range corresponds in Sprint to 8 MB x 8. F281x Memory <---> Sprint's Memory | Address range : 0x00 0000 - 0x3F FFFF | 0x00 0000 - 0x7F FFFF | Key Registers : 0x00 0AE0 - 0x00 0AE7 | 0x00 15C0 - 0x00 15CF | OTP : 0x3D 7800 - 0x3D 7BFF | 0x7A F000 - 0x7A F7FF FLASH-F2811/12: 0x3D 8000 - 0x3F 7FFF | 0x7B 0000 - 0x7E FFFF FLASH-F2810 : 0x3E 8000 - 0x3F 7FFF | 0x7D 0000 - 0x7E FFFF PWL : 0x3F 7FF8 - 0x3F 7FFF | 0x7E FFF0 - 0x7E FFFF You should use TI's HEX-Conversion utility to convert your COFF-object file into one of several standard ASCII hexadecimal formats suitable for loading into Sprint. E.g.: hex2000 -romwidth 16 -i -byte file.out will covert the COFF file file.out into byte oriented Intel-HEX format. Per default both OTP and FLASH memory will be programmed, however, the address range setting can restrict programming to one block. Note: complete blocks can be selected only. Code Security Module: --------------------- The code security module (CSM) is a security feature incorporated in 28x devices. It prevents access/visibility to on-chip memory (a.o. FLASH, OTP) to unauthorized persons; i.e. it prevents duplication/reverse engineering of proprietary code. Security is protected by a password of 128-bit data (eight 16-bit words) that is used to secure or unsecure the device. Passwords are stored in code security password locations (PWL) in flash memory. In order to read or erase a secured device you have to enter the password keys at the KEY register addresses. A wrong security key will result in an error. In flash devices, the password can be changed anytime if the old password is known. CAUTION!!! -> For reprogrammability it is essentially to save the security key. <- For code security operation, all addresses between 0x3F7F80 and 0x3F7FF5 (0x7E FF00 - 0x7E FFEA in Sprint) must be programmed to 0x0000 when the Code Security Passwords are programmed. If security is not a concern, then these addresses can be used for code or data. !!!!!!!!!!!!!!!!!!! CAUTION ! !!!!!!!!!!!!!!!!!!!! !!! !!! !!! If the password locations has been programmed with all 0's, !!! !!! the device is secured forever, it can not be reprogrammed! !!! !!! Do not use all zeros as a password. !!! !!! !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!