Other Parts Discussed in Thread: TMS320F28069M, TMS320F28377S
Hi folks,
I am a member of a robotics team that is using the Launchpad with the TMS320F28377S DSP and the TMS320F28069M DSP. We have encountered some interesting booting behaviors with the TMS320F28377S. I'd like to describe the symptoms we're seeing and then I'd like to describe the context in which we are using the devices.
For my descriptions, the boot switch I am speaking of is the 3rd switch on S1 which is tied to TRSTn, per the LAUNCHXL-F28377S Overview User's Guide section 5.3.
Symptoms
Regardless of the boot switch position, we can load to both Flash and RAM on the TMS320F28377S. However, it seems that the behavior after power off is different from the TMS320F28069M. Upon power on, if the boot switch is down on the TMS320F28069M, our last flashed code runs, and runs well, however upon power on of the TMS320F28377S in the same boot switch configuration, it seems that the code 'runs away.' Running from RAM on the TMS320F28377S works the same every time, and we expect that running from flash works no differently, however what we see is that the calculations that are done for our robotic motion are wrong.
Context
The TMS320F28377S is being used to read 12 analog IR sensors, 1 IMU for heading correction, and several other sensors not being used for localization. The incorrect calculation seems to occur the first time we attempt to use the IMU for heading correction. We attempt to negate a floating point number and it appears to not negate properly, resulting in an error that causes the robot to motion correct in the wrong direction and then so on forever because it is then very confused. This works out of RAM every single time, however the "confused behavior" shows up when we attempt to run from Flash. However, this bad behavior is not consistent either. This morning, for example, the behavior seemed to be inverted in that the device could run from Flash correctly and not from RAM, but later the behavior reverted back to our original "bad behavior" status. I'd like to note that we have a spare TMS320F28377S in which we see the same issues. I'd also like to note that we are using the TMS320F28069M very successfully, utilizing most of its peripherals and ports.
All that being said, we are at a loss for how to actually use the device consistently and would like some input from those who know more and know better what might be going on here.
Thanks,
Jacob