Avi Weiss created an issue:
https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5588
## Summary
In `bsps/arm/tms570/start/init_esm.c` writing zero to enable the error pin
channels and interrupts does not have the desired effect:
```c
void tms570_esm_init( void )
{
/** - Disable error pin channels */
TMS570_ESM.DEPAPR1 = 0xFFFFFFFFU;
TMS570_ESM.IEPCR4 = 0xFFFFFFFFU;
/** - Disable interrupts */
TMS570_ESM.IECR1 = 0xFFFFFFFFU;
TMS570_ESM.IECR4 = 0xFFFFFFFFU;
...
/** - Enable error pin channels */
TMS570_ESM.EEPAPR1 = 0x00000000;
TMS570_ESM.IEPSR4 = 0x00000000;
/** - Enable interrupts */
TMS570_ESM.IESR1 = 0x00000000;
TMS570_ESM.IESR4 = 0x00000000;
}
```
These are write-one-to-set registers, so writing zero leaves them all disabled.
e.g. from the 4357x TRM:
{width=762
height=177}
and from the 3137x TRM:
{width=692
height=190}
## Steps to reproduce
I checked these on a TMS570LC43x Launchpad XL.
Logs confirm:
```c
before init: EEPAPR1=00000000 DEPAPR1=00000000 IEPSR4=00000000 IEPCR4=00000000
before init: IESR1=00000000 IECR1=00000000 IESR4=00000000 IECR4=00000000
after init: EEPAPR1=00000000 DEPAPR1=00000000 IEPSR4=00000000 IEPCR4=00000000
after init: IESR1=00000000 IECR1=00000000 IESR4=00000000 IECR4=00000000
```
## Expected behaviour
Write `FF`s (all ones) to `EEPAPR1`, `IEPSR4`, `IESR1` and `IESR4` at the end
of init (instead of `0`).
--
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/issues/5588
You're receiving this email because of your account on gitlab.rtems.org.
_______________________________________________
bugs mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/bugs