kopia lustrzana https://github.com/bristol-seds/pico-tracker
[memory] allocate separate 16k eeprom area
rodzic
a44086db16
commit
eba62ba245
|
@ -22,8 +22,9 @@
|
|||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/* SAMD20J14 */
|
||||
/* SAMD20E14 */
|
||||
MEMORY {
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 16K
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0K
|
||||
EEPROM (rx) : ORIGIN = 0x00000000, LENGTH = 16K
|
||||
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 2K
|
||||
}
|
||||
|
|
|
@ -22,8 +22,9 @@
|
|||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/* SAMD20J15 */
|
||||
/* SAMD20E15 */
|
||||
MEMORY {
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 32K
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 16K
|
||||
EEPROM (rx) : ORIGIN = 0x00004000, LENGTH = 16K
|
||||
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 4K
|
||||
}
|
||||
|
|
|
@ -22,8 +22,9 @@
|
|||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/* SAMD20J16 */
|
||||
/* SAMD20E16 */
|
||||
MEMORY {
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 64K
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 48K
|
||||
EEPROM (rx) : ORIGIN = 0x0000C000, LENGTH = 16K
|
||||
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 8K
|
||||
}
|
||||
|
|
|
@ -22,8 +22,9 @@
|
|||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/* SAMD20J17 */
|
||||
/* SAMD20E17 */
|
||||
MEMORY {
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 128K
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 112K
|
||||
EEPROM (rx) : ORIGIN = 0x0001C000, LENGTH = 16K
|
||||
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 16K
|
||||
}
|
||||
|
|
|
@ -22,8 +22,9 @@
|
|||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/* SAMD20J18 */
|
||||
/* SAMD20E18 */
|
||||
MEMORY {
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 256K
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 240K
|
||||
EEPROM (rx) : ORIGIN = 0x0003C000, LENGTH = 16K
|
||||
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K
|
||||
}
|
||||
|
|
|
@ -22,8 +22,9 @@
|
|||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/* SAMD20J14 */
|
||||
/* SAMD20G14 */
|
||||
MEMORY {
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 16K
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0K
|
||||
EEPROM (rx) : ORIGIN = 0x00000000, LENGTH = 16K
|
||||
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 2K
|
||||
}
|
||||
|
|
|
@ -22,8 +22,9 @@
|
|||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/* SAMD20J15 */
|
||||
/* SAMD20G15 */
|
||||
MEMORY {
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 32K
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 16K
|
||||
EEPROM (rx) : ORIGIN = 0x00004000, LENGTH = 16K
|
||||
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 4K
|
||||
}
|
||||
|
|
|
@ -22,8 +22,9 @@
|
|||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/* SAMD20J16 */
|
||||
/* SAMD20G16 */
|
||||
MEMORY {
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 64K
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 48K
|
||||
EEPROM (rx) : ORIGIN = 0x0000C000, LENGTH = 16K
|
||||
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 8K
|
||||
}
|
||||
|
|
|
@ -22,8 +22,9 @@
|
|||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/* SAMD20J17 */
|
||||
/* SAMD20G17 */
|
||||
MEMORY {
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 128K
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 112K
|
||||
EEPROM (rx) : ORIGIN = 0x0001C000, LENGTH = 16K
|
||||
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 16K
|
||||
}
|
||||
|
|
|
@ -22,8 +22,9 @@
|
|||
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/* SAMD20J18 */
|
||||
/* SAMD20G18 */
|
||||
MEMORY {
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 256K
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 240K
|
||||
EEPROM (rx) : ORIGIN = 0x0003C000, LENGTH = 16K
|
||||
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
|
||||
/* SAMD20J14 */
|
||||
MEMORY {
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 16K
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 0K
|
||||
EEPROM (rx) : ORIGIN = 0x00000000, LENGTH = 16K
|
||||
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 2K
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
|
||||
/* SAMD20J15 */
|
||||
MEMORY {
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 32K
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 16K
|
||||
EEPROM (rx) : ORIGIN = 0x00004000, LENGTH = 16K
|
||||
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 4K
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
|
||||
/* SAMD20J16 */
|
||||
MEMORY {
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 64K
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 48K
|
||||
EEPROM (rx) : ORIGIN = 0x0000C000, LENGTH = 16K
|
||||
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 8K
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
|
||||
/* SAMD20J17 */
|
||||
MEMORY {
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 128K
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 112K
|
||||
EEPROM (rx) : ORIGIN = 0x0001C000, LENGTH = 16K
|
||||
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 16K
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
|
||||
/* SAMD20J18 */
|
||||
MEMORY {
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 256K
|
||||
FLASH (rx) : ORIGIN = 0x00000000, LENGTH = 240K
|
||||
EEPROM (rx) : ORIGIN = 0x0003C000, LENGTH = 16K
|
||||
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 32K
|
||||
}
|
||||
|
|
|
@ -115,6 +115,14 @@ SECTIONS
|
|||
__fixed_end = .;
|
||||
} > FLASH
|
||||
|
||||
/* EEPROM goes in its own section */
|
||||
.eeprom :
|
||||
{
|
||||
. = ALIGN(4);
|
||||
*(.eeprom .eeprom*)
|
||||
. = ALIGN(4);
|
||||
} > EEPROM
|
||||
|
||||
/* .ARM.exidx is sorted, so has to go in its own output section. */
|
||||
PROVIDE_HIDDEN (__exidx_start = .);
|
||||
.ARM.exidx :
|
||||
|
|
|
@ -37,7 +37,10 @@
|
|||
/**
|
||||
* Allocate a 16KB section of flash memory, aligned to an NVM row
|
||||
*/
|
||||
const uint8_t nvm_section[MEM_SIZE] __attribute__ ((aligned (256))) = { 0xFF };
|
||||
const uint8_t nvm_section[MEM_SIZE]
|
||||
__attribute__ ((aligned (256)))
|
||||
__attribute__ ((section (".eeprom")))
|
||||
= { 0xFF };
|
||||
|
||||
/**
|
||||
* Poll the status register until the busy bit is cleared
|
||||
|
|
Ładowanie…
Reference in New Issue