I need to program Tiny25/45/85 Devices with HVSP because i use the Reset-Pin as IO. For that i've built an HVSP-Adapter on my own. The Adapter works fine( i'm able to program the fuse-Bits now) but i have a Problem with the Description of the High-voltage Serial Programming Instructions for writing to the Flash, see Datasheet Chapter 20.7 (http://www.atmel.com/devices/attiny25.aspx)
Instruction "Load Flash High Address and Program Page", Table 20-16:
- SDI Data of Instr. 1 is described as 0_0000_000a_00.
- Footnote 1. a=address high bits
- Footnote 2. For page sizes less than 256 words, parts of the address (bbbb_bbbb) will be parts of the page address.
For my understanding:
- the Tiny25 has a 16Bit-ProgrammCounter(PCPAGE[9:4],PCWORD[3:0]), so the SDI Data of Instr 1 should be 0_0000_00aa_00
- the Tiny45 has a 16Bit-ProgrammCounter(PCPAGE[10:5],PCWORD[4:0]), so the SDI Data of Instr 1 should be 0_0000_0aaa_00
- the Tiny85 has a 16Bit-ProgrammCounter(PCPAGE[11:5],PCWORD[4:0]), so the SDI Data of Instr 1 should be 0_0000_aaaa_00
Question 1: Did anyone implemented the Flashprogramming with HVSP and knows if I'm right and the Datasheet is wrong/incomplete?
An other Problem is the Operation Remark of the same Instruction "Load Flash High Address and Program Page":
"Wait after Instr 3 until SDO goes high. Repeat Instr. 2 - 3 for each loaded Flash Page until the entire Flash or all data is programmed. Repeat Instr. 1 for a new 256 byte page.(2)"
First of all, I think word would be correct here, but none of this Devices has a Pagesize over 32Words? And what really confused me: i don't find anything about multiple Pages?
Question 2: Did the Tiny25-85 has more than one Page-buffer???
Thanks for any help.