Other Parts Discussed in Thread: TMS570LS3137, HALCOGEN
Hello,
I´m using HALCOGEN to create Drivers for the internal devices of the TMS570LS3137.
But we want to change this to use the iotms570LS3137zwt.h Header.
Now the problem is, when I use the HALCOGEN File for controlling the I2C device I get the following assembler output when I want to put the device out of reset:
C-Code: ((i2cBASE_t *)0xFFF7D400U)->MDR |= I2C_RESET_OUT;
Assembler Code:
0x2d67c: 0xe59f01e8 LDR R0, ??DataTable16 ; I2CMDR
0x2d680: 0xe5900000 LDR R0, [R0]
0x2d684: 0xe3900020 ORRS R0, R0, #32 ; 0x20
0x2d688: 0xe59f11dc LDR R1, ??DataTable16 ; I2CMDR
0x2d68c: 0xe5810000 STR R0, [R1]
So, now when I use the iotms570LS3137zwt.h Header I use the following Command:
C-Code: I2CMDR |= I2C_RESET_OUT;
Assembler Code:
0x2d690: 0xe59f01d4 LDR R0, ??DataTable16 ; I2CMDR
0x2d694: 0xe1d000b0 LDRH R0, [R0]
0x2d698: 0xe3900020 ORRS R0, R0, #32 ; 0x20
0x2d69c: 0xe59f11c8 LDR R1, ??DataTable16 ; I2CMDR
0x2d6a0: 0xe1c100b0 STRH R0, [R1]
Now, can you please tell me why the 2 Assembler outputs are different?
When I use HALCOGEN => it works.
When I use the Header => it doesn´t work.
PS: I´m using HALCOGEN Version 3.05.00, Header Revision Nr. 57770
Thanks.
David