I only noticed this recently, but when I am reading floating point values, all seems to be OK - when setting data in SDRAM from M7, and reading the same data from M4.
When the data is a char* value however, I get errors.
For example - if I were to print an IP address 192.168.000.204, I get 1926168.0000204
I get similar substitutions of character values in the string with other data (a device name, other IP addresses (DNS, GW, SN etc.).
When I print the same data from the M7 side (reading the same data in SDRAM, and printing it), the data is correct.
The data in the SDRAM is written once by the M7 core, and then read repeatedly by the M4 (except when checking the data in M7, I may read it there as well).
Also if I RPC.write the char* string 1 character at a time, I get the same error.
As mentioned, floating point data values seem to be read with no errors.
The issue should not be SDRAM data being overwritten by some other part of the code inadvertently, as mentioned it prints correctly when printed from the M7 side.
Anyone run across anything like this?
Sample of output
RPC IP=1926168.0000204
RPC SN=255.2.5.255.00
RPC DNS=192.1680000.150
RPC GW=1.2.168.0.0.001
should be
RPC IP=192.168.000.204
RPC SN=255.255.255.000
RPC DNS=192.168.000.150
RPC GW=192.168.000.001