Other Parts Discussed in Thread: HALCOGEN, TMS570LS3137
Hello,
I'm trying to run my HalCoGen project, but when I start it, it stay in loop in the code below, the "beq mloop" always jumps to mloop , so the test is never true.
_memoryInit_
ldr r12, regMinitGcr ; MINITGCR register pointer
mov r4, #0xA
str r4, [r12]
ldr r4, ramInitMask ; load RAM initialization mask
str r4, [r12, #4]
mloop
ldr r5, [r12, #12]
tst r5, #0x100
beq mloop
ramInitMask dcd 0x1E57F
regMinitGcr dcd 0xFFFFFF5C
comparing with the Demo, changing ramInitMask to 0x457F worked.
A pseudo-code with the registers names help to unterstand what is being done.
MINITGCR <= 0xA ; enable memory init
MSINENA <= 0x1E57F/ 0x457F ;
while ( MSTCGSTAT & 0x8 ) wait; reads MINIDONE until memory is ready.
The documentation does not leave clear what the MSINENA does, just that in case of MINITGENA = Ah, Memory module initialization is disable.
I would like to unterstand better the values in the MSINENA register, and where I can change the "ramInitMask " in HalCoGen.
Thanks