SPRUII0F May 2019 – June 2024 TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S
Table 13-67 lists the memory-mapped registers for the FLASH_PUMP_SEMAPHORE_REGS registers. All register offset addresses not listed in Table 13-67 should be considered as reserved locations and the register contents should not be modified.
| Offset | Acronym | Register Name | Write Protection | Section |
|---|---|---|---|---|
| 0h | PUMPREQUEST | Flash programming semaphore PUMP request register | EALLOW | Go |
Complex bit access types are encoded to fit into small table cells. Table 13-68 shows the codes that are used for access types in this section.
| Access Type | Code | Description |
|---|---|---|
| Read Type | ||
| R | R | Read |
| R-0 | R -0 | Read Returns 0s |
| Write Type | ||
| W | W | Write |
| Reset or Default Value | ||
| -n | Value after reset or the default value | |
| Register Array Variables | ||
| i,j,k,l,m,n | When these variables are used in a register name, an offset, or an address, they refer to the value of a register array where the register is part of a group of repeating registers. The register groups form a hierarchical structure and the array is represented with a formula. | |
| y | When this variable is used in a register name, an offset, or an address it refers to the value of a register array. | |
PUMPREQUEST is shown in Figure 13-62 and described in Table 13-69.
Return to the Summary Table.
Flash programming semaphore PUMP request register
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| KEY | |||||||||||||||
| R-0/W-0h | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | SEM | ||||||||||||||
| R-0-0h | R/W-0h | ||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | KEY | R-0/W | 0h | In order to write to the semaphore bits, 0x5a5a must be written to these key bits at the same time. Otherwise, writes are ignored. The key is cleared immediately after writing, so it must be written again for every semaphore change. Reset type: CPU1.SYSRSn |
| 15-2 | RESERVED | R-0 | 0h | Reserved |
| 1-0 | SEM | R/W | 0h | These bits decide which CPU has control of the flash pump, which allows write access to the flash memory. The possible values are: 00: Read-only state. CPU1 has control of the pump, but CPU2 and CM may seize control at any time. 01: CPU2 has exclusive control of the pump and of these semaphore bits. CPU2 can relinquish control by setting the bits back to 00. 10: CPU1 has exclusive control of the pump and of these semaphore bits. CPU1 can relinquish control by setting the bits back to 00. 11: CM has exclusive control of the pump and of these semaphore bits. CM can relinquish control by setting the bits back to 00. Going from 01->10/11 or 10->01/11 or 11->01/10 is not allowed. The semaphore bits [1:0] must be written along with the correct key in bits [31:16]. Note: This field will be reset by the respective CPU resets depending on who owns the PUMP. For example if CPU2 is owning the pump, then CPU2SYSRSN would reset this field. Reset type: CPU1.SYSRSn, CPU2.SYSRSn, CM.RESETn |