SPRUHM8K December 2013 – May 2024 F28377D-SEP , TMS320F28374D , TMS320F28375D , TMS320F28376D , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28378D , TMS320F28379D , TMS320F28379D-Q1
The memory-mapped CLB registers are described later in this chapter; however, many of the CLB resources including counters, the instruction memory of the High Level Controller, and the HLC general-purpose registers (R0 through R3) are only indirectly accessible through a local interface bus and are not memory-mapped. These registers are accessible through the two memory-mapped registers CLB_LOAD_DATA and CLB_LOAD_ADDR. Note that the general-purpose registers R0 through R3 must only be written to during configuration-time and are not intended to be written to during run-time. Writes during run-time can lead to unexpected behavior. If run-time data exchange is desired, refer to Section 26.4.6.4.
Load the data to be written into the CLB_LOAD_DATA register, then load the appropriate address into CLB_LOAD_ADDR to determine where this data is written. Writing a 1 to bit position 0 in the CLB_LOAD_EN register then causes an internal write operation to be triggered. The address allocation for the CLB_LOAD_ADDR register is shown in Table 26-13.
| Address (Binary) | Resource |
|---|---|
| 000000 to 000010 | Counter 0 to 2 Load value |
| 000100 to 000110 | Counter 0 to 2 Match1 value |
| 001000 to 001010 | Counter 0 to 2 Match2 value |
| 001100 to 001111 | R0 to R3 of High Level Controller |
| 100000 to 100111 | Instructions for Event 0 |
| 101000 to 101111 | Instructions for Event 1 |
| 110000 to 110111 | Instructions for Event 2 |
| 111000 to 111111 | Instructions for Event 3 |
Use the following steps to load the value 0x11223344 into the general purpose R0 register: