Atmel Studio 7 - view (and/or edit, in simulator) user signature row?

1 post / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I don't yet grok all the details of the internals, but from what I could gather by reading ( among others, https://www.avrfreaks.net/forum/... ) the user signature row is a piece of Flash memory, which can be read byte (or word?) at a time, but written one Flash page at a time; this is handled by special assembler commands, so that particular memory is not overwritten when chip erase is done. I'm also aware that programmers can dump the user signature to a file, and likewise flash a chip's user signature from a file.

 

For ATxmega128A1U, http://ww1.microchip.com/downloa... tells me (pg 421):

FLASH_BASE = 0x0800000 ; APP_BASE = FLASH_BASE

PROD_SIGNATURE_BASE = 0x008E0200; USER_SIGNATURE_BASE = 0x008E0400

... so, I guess, the address of user signature section relative to start of Flash  is 0xE0400 (although looking at the diagram on the same page, User Signature seems to be "closer" to EEPROM than Flash in terms of address).

 

What I'm interested in is, firstly, can the user signature be viewed in Atmel Studio debugger?

 

During debug (live chip or simulator), AS7 can show this window:

 

as7_debugger_memory

 

Clearly, there is no User Signature in the Memory: dropdown options; however, I thought maybe it's possible to go to start of Flash, then browse 0xE0400 relative to it (so, "0xE0400,prog") - but even if AS7 doesn't complain and shows something there, I don't think this is the right data.

 

So, is it possible to view the User Signature row in Atmel Studio like this?

 

If so - would it be possible also to edit it (like it is possible to change register values in Processor Status) during a debugging session? Obviously, this wouldn't make sense for a live chip, but it would help me immensely when simulating... Especially since there are commands like `$memdump` and `$memload` for stimuli files, I could restore an arbitrary user signature at start of simulation using such commands; however, e.g. `$memdump memdump.txt 0xE0400 16 f` results in "Warning: Empty buffer. No data written.".