It works great. When the executable is run, it does a little __asm__ loop and calculates a matching CRC. Life is good.
Running the same project under 2.2 (with a "clean" and "rebuild" between each compiler version switch) the variables are properly updated, the CRC is calculated by the run-time executable and it compares correctly to the ElfFile.crc32() result.
On 2.3.1, crc32.js does run and I see the expected results from the WScript.Echo() lines. The two variables, CrcLength and CrcValue, are reported from the script at the same locations (CrcLength @ 0x20000004 and CrcValue @ 0x20000000) under 2.3.1 as under 2.2.
It looks like the problem is in ElfFile.pokeUint32(address, value, virtualNotPhysical). Under 2.2, leaving off the third parameter or setting it to true resulted in the variables being updated. Guessing that this was fixed in 2.3, since the docs state that virtualNotPhysical should have been set to false to get a physical address. However, none of the three possible values for virtualNotPhysical (blank, true, or false) seem to be effective in 2.3.1 in getting the value into the variable for the run-time image.
Please sign in to leave a comment.