C2000 SCI (Rx) communication to second CPU failded after reboot

7 次查看(过去 30 天)
I have a serial SCI communication between my F28377S TI CPU and a second CPU (Raspberry Pi). I use a hardware interrupt block that triggers the SCI Rx A block everytime data is available on that port. That data is then stored byte per byte into an array using persitent varialbes. For testing I send the array to another SCI Tx block to be able to measure that port with an oscilloscope. The software is then deployed to the hardware with help of the Embedded Coder® Support Package for Texas Instruments™ C2000™ Processors. After the build proccess the TI controller runs directly and I can see that the data that is send is stored correctly into the array decribed above (measuring with the oscilloscope). But if I power off the hardware and then power it again the array is not changing.
Does anyone why I can't read data after rebooting the hardware? Other parts of the software like the SCI transmit are still working after the reboot!
  3 个评论
Venkatesh Chilapur
Hi Daniel,
I don't see a problem with your model.
You can debug on the C2000 side in CCS.
More info on importing the project in CCS can be found at:
And below link can help connect to target in realtime mode from debugger, i.e when target starts to run post powercycle.
Venkatesh C



Xu Liu
Xu Liu 2019-7-10
Hi Daniel,
You mean you use raspberry PI to send data to 28377s and then write it into an array?
1. Do you upload this array to the oscilloscope of the host computer or observe the communication waveform with the hardware oscilloscope?
2. The array will not change after recharging. Has the data transmitted by raspberry PI changed?
  1 个评论
Daniel Krebold
Daniel Krebold 2019-7-11
Hi Xu,
Yes correct, I use the raspberry PI to send several commands via UART to the 28377s. The commands are look like following:
"BE EF 0 1 0 1 0 0 5 B 98 3F 30" (Magic Number "2 Bytes", Type "2 Bytes", Lenght "2 Bytes", Reserve "2 Bytes", Payload "$length", Checksum fnv32 "4 Bytes")
and should lead to different changes in the programm lfow on the 28377s. Therefore they are stored into an array and that array is monitored for changes.
1. For debbuging I send the array to a SCI TX port of the 28377s and measure that port with an hardware oscilloscope with logic analyzer.
2. On the raspberry PI a proxy simulator where certain commands can be sent.
After generating the code and deploying it to the 28377s I can see with the oscilloscope that every command is stored correctly in the array. But after rebooting the 28377s the content of the array is not changing even the PI still sends commands.


更多回答(2 个)

Xu Liu
Xu Liu 2019-7-11
Hi Daniel,
Does the program Programming the 28377 flash instead of the ram, or do you have the correct configuration power-on bootloader?

Xu Liu
Xu Liu 2019-7-11
Hi Daniel,
Other parts of the software like the SCI transmit are still working after the reboot!
I don't see clearly whats your mean? you see the dsp work well(send sci data to computer?) and just the SCI between dsp and raspberry PI is in trouble?
if so ,my advice is to check whether the SCI GND is connected well.
  2 个评论
Xu Liu
Xu Liu 2019-7-11
Hi Daniel,
So i understand, you met a problem beyong our general knowledge.
Maybe you should contact with mathworks staffs for more support, or you can check the program in ccs, that's the last choise.
good luck.





Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by