Other Parts Discussed in Thread: C2000WARE
HELLO
While trying to code for TMS320F28379D in assembly, i find that CCS is not being able to access most of the memory locations. for example was trying to disable the watchdog and hence had to move some values to the WDCR register. i was unable to do so. While trying to solve the issue i found out that in page 178 of the datasheet, word length for all the memory locations is 16 bit. but in the technical reference manual, GPIO and other various registers are 32 bits. how could 32 bit registers be placed in 16bit length memory locations ? could anyone please explain my confusion?
i am providing my code here to pass some values to the GPIO. the value 068 is not moving into WDCR register. The GPIO control and data registers also cannot be accessed. i have tried in several ways. Accumulator and Data page pointer can be accessed fine though. kindly help
.global _c_int00
.def UNUSED
.text
_c_int00:
MOV ACC,#0068h
C28OBJ
.c28_amode
C28MAP
EALLOW
MOV @WDCR,ACC
MOVW DP, #7029h>>6
MOV @7029h, #0068h
CLRC DBGM
C28ADDR
EALLOW
MOVW DP, #07C00h
ZAPA
MOVL @GPALOCK,ACC
MOVL @GPAGMUX1,ACC
MOVL @GPAGMUX2,ACC
MOVL @GPAMUX1,ACC
MOVL @GPAMUX2,ACC
OR ACC,#0FFFFh<<16
OR ACC,#0FFFFh
MOV @GPADIR,ACC
MOV @GPASET,ACC
CLRC INTM
inf_loop
NOP
b inf_loop,unc
UNUSED
CLRC DBGM
NOP
B UNUSED,UNC