<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Mark wants some value to be written in one 'boot' of his program, and available in the next 'boot'<br>
<br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);" class="elementToProof">
Robin suggests using the eeprom</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText elementToProof"><br>
Charles suggests creating a linker section which is not initialized by the loader - (.bss and .data ARE initialized), at a known address [strictly speaking, just place an extern symbol in it, so you don't need to hardcode the number anywhere, and use its address),
and aim a c pointer at it.</div>
<div class="PlainText elementToProof"><br>
</div>
<div class="PlainText elementToProof">Robin's approach is very kosher<br>
<br>
For the linker approach to work, you are going to need cooperation with the loader - it will all depend on whether the loader on your system does support such sections, and does it guarantee that they end up on same physical memory and that memory has not been
trashed between the shutdown of the previous app and the end of the boot of the next app. <br>
<br>
Obviously in a virtual-memory system they will not. Nor will it work on a system which tries to protect one execution from the next. But on a low level bare metal machine it may - unless the shutdown mechanisms of the first run, the decision to run the loader,
and the loader itself (these all have run somewhere, right) - trash the location you have chosen.<br>
<br>
/Bevin</div>
</span></font></div>
</body>
</html>