Discussion:
[avr-libc-dev] [patch #9163] New eeprom write block function for xmega
Pitchumani
2016-11-16 13:04:36 UTC
Permalink
URL:
<http://savannah.nongnu.org/patch/?9163>

Summary: New eeprom write block function for xmega
Project: AVR C Runtime Library
Submitted by: pitchumani
Submitted on: Wed 16 Nov 2016 01:04:34 PM GMT
Category: None
Priority: 7 - High
Status: Ready For Test
Privacy: Public
Assigned to: pitchumani
Originator Email:
Open/Closed: Open
Discussion Lock: Any

_______________________________________________________

Details:

Xmega's eeprom shall be programmed byte and page-wise. Current eeprom write
block function loads one byte to eeprom at a time. Though it uses
page_erase_and_write command, it doesn't write page-wise.

Attached patch adds new eeprom_write_block function for xmega (written in C)
that loads eeprom with maximum of E2PAGESIZE at a time.

This patch also adds a function named ccp_write_io to write into CCProtected
(CCP) IO registers.

Tested the function with ATxmega128A1 explained board. Seems to work fine.

I tried comparing the cycle count only with simulator. New function shows
better results for writing more than 2 bytes.



_______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Wed 16 Nov 2016 01:04:34 PM GMT Name: eeprom-write-block-xmega.patch
Size: 7kB By: pitchumani

<http://savannah.nongnu.org/patch/download.php?file_id=38989>

_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9163>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/
Pitchumani Sivanupandi
2016-11-22 05:10:40 UTC
Permalink
Post by Pitchumani
<http://savannah.nongnu.org/patch/?9163>
Summary: New eeprom write block function for xmega
Project: AVR C Runtime Library
Submitted by: pitchumani
Submitted on: Wed 16 Nov 2016 01:04:34 PM GMT
Category: None
Priority: 7 - High
Status: Ready For Test
Privacy: Public
Assigned to: pitchumani
Open/Closed: Open
Discussion Lock: Any
_______________________________________________________
Xmega's eeprom shall be programmed byte and page-wise. Current eeprom write
block function loads one byte to eeprom at a time. Though it uses
page_erase_and_write command, it doesn't write page-wise.
Attached patch adds new eeprom_write_block function for xmega (written in C)
that loads eeprom with maximum of E2PAGESIZE at a time.
This patch also adds a function named ccp_write_io to write into CCProtected
(CCP) IO registers.
Tested the function with ATxmega128A1 explained board. Seems to work fine.
I tried comparing the cycle count only with simulator. New function shows
better results for writing more than 2 bytes.
Any comments/ suggestions?

Regards,
Pitchumani
Pitchumani
2016-11-29 11:30:35 UTC
Permalink
Update of patch #9163 (project avr-libc):

Status: Ready For Test => Done
Open/Closed: Open => Closed

_______________________________________________________

Follow-up Comment #1:

Committed as revision 2528.

http://svn.savannah.nongnu.org/viewvc?view=rev&root=avr-libc&revision=2528

_______________________________________________________

Reply to this item at:

<http://savannah.nongnu.org/patch/?9163>

_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/

Loading...