Witam. Jakiś czas temu pisałem o różnicy między AS4 oraz AS6 w sposobie zapisywania danych. Niemniej błędnie zinterpretowałem to jako różnice między zapisem Big Endian a Little Endian. Tym czasem natura tych różnic jest zupełnie inna. Okazało się, że te 2 środowiska umieszczają dane w innej kolejności. W przypadku AS4 dane zadeklarowane jako pierwsze dostają pierwsze pozycje w pamięci. W przypadku AS7 jest odwrotnie. Przykładowy program:
Skompilowany w AS4 i wgrany spowoduje to, że w EEPROM zostaną umieszczone dane w kolejności 0x01, 0x02, 0x03, 0x04. Ten sam program skompilowany w AS7 zapisze je już w kolejności: 0x04, 0x03, 0x02, 0x01. Czy spotkaliście się z taka sytuacją? Czy można wymusić określony sposób umieszczania danych w pamięci?
Kod: C / C++
Skompilowany w AS4 i wgrany spowoduje to, że w EEPROM zostaną umieszczone dane w kolejności 0x01, 0x02, 0x03, 0x04. Ten sam program skompilowany w AS7 zapisze je już w kolejności: 0x04, 0x03, 0x02, 0x01. Czy spotkaliście się z taka sytuacją? Czy można wymusić określony sposób umieszczania danych w pamięci?
