Programmer for the new ATTiny10

Go To Last Post
111 posts / 0 new

Pages

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes, that was my technique.
STK600-tiny10 is not even on atmels own tools (starter kit) list - so I read up on the two TPI chapters in the tiny10 datasheet.

Last nights code (lines 294-395 of ATTiny2313 app):
TinyCode:
ldi R16,4 //04 E0
out 0x01,R16 //01 B9 -- DDRB
BlinkLoop:
dec R16 //0A 95
brne BlinkLoop //F1 F7
dec R17 //1A 95
brne BlinkLoop //E1 F7
dec R18 //2A 95
out 0x02,R18 //22 B9 -- PORTB
rjmp BlinkLoop //F9 CF

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ideal Version (todo)
Take Geniune AtTiny10 project .hex file
include as some sort of .DB
(correct reg definitions)
(correct avr core rules)

Optimal Version (todo)
Compile code in to 2313
use LPM to automatically generate TPI data
(wrong reg defs)
(wrong to allow use of reg 0..15)

Last nights 'cheat' for quick release
WriteCmd1:
rcall JumpToRomStart
ldi ToSend2,0x04
ldi ToSend4,0xE0
rcall WriteArbitaryWord
ldi ToSend2,0x01
ldi ToSend4,0xB9
rcall WriteArbitaryWord
....

DebugWire used to check 2313 ram content to validate TPI return data.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

But, but, ...:

glitch wrote:
oh come on Lee, getting the chip is enough, as we ALREADY HAVE the development tools. The assembler is the same as we already use. AVR Studio/simulator2 supports the tiny10, and the stk600 is said to support the programming mode. So Given that, it would only take a couple of minutes to get a "blinky" program running on a real chip. I don't see how doing that makes it any more real than having the chip itself.

If you wish to test the tools, you can do so now. (less the TPI programming interface of the STK600)

Then why did you need to go through those gyrations? :twisted:
Lee

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, it is $99 less outlay, but the time taken to implement non stk600-tiny10 solution is probably not worth it in most cases.

It is usefull to those still without access to STK600-tiny10, or those too tight to pay the £££ for stk600 base unit.

I personally - probably would have attempted this anyway, as it was a good learning exercise.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The small cost difference isn't the real plus for me. The Size of it is. I have a design that would be a real squeeze for a Tiny25. The Tiny24 is small but I hate dealing with the QFN-20 package. The whole thing, double sided, is about the size of my thumb nail. Including a DirectFET-MX FET.
I'm waiting for someone to come out with a way to do TPI in system. Otherwise this thing is pretty limited. My program isn't even all that big. Read an ADC, and run PWM.

Jim M., Rank amateur AVR guy.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Jim

I would comment that TPI is just as much "in system" as the usual ISP on the other AVRs

The tricky bit is designing the circuit such that the programming signals dont clash with your runtime IO.

Factor 1:
With only 3+reset, you can't really avoid a clash.

Factor 2:
The relatively weak output of TPI Data (needed by programmer to confirm connectivity and programming) limits its if connected to a strong input

Otherwise, its just avoiding driving your mosfet during reprograming OR tell user to ignore the reaction during isp programming.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

bwarren wrote:
Hi Jim

I would comment that TPI is just as much "in system" as the usual ISP on the other AVRs

The tricky bit is designing the circuit such that the programming signals dont clash with your runtime IO.

Factor 1:
With only 3+reset, you can't really avoid a clash.

Factor 2:
The relatively weak output of TPI Data (needed by programmer to confirm connectivity and programming) limits its if connected to a strong input

Otherwise, its just avoiding driving your mosfet during reprograming OR tell user to ignore the reaction during isp programming.


Driving the FET gate during programming isn't a big deal. Since programming in system isn't an issue. I suppose I'm just waiting for someone to come up with a plug in device that I can use with AVR Studio like the ISP MkII. The Tiny2313 approach above, while brilliant, is not something I'd like to persue.

Jim M., Rank amateur AVR guy.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I just got samples last week. I'm dying to get my hands on a reasonanle programmer instead of the STK600+adapter.

Jim M., Rank amateur AVR guy.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm still waiting for my samples. I guess that was really samples in 16weeks, and production quantities sometime in the distant future?

Too bad for Atmel, I've actually had a few designs [requiring upwards of 20K units in the next quarter] already flow through that could have used these little buggers, but as I have no samples, they were never designed in. I guess I could have dropped in a larger tiny (at higher cost) but decided instead to leave out the optional functionality that the tiny10 would have provided.

Writing code is like having sex.... make one little mistake, and you're supporting it for life.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

glitch wrote:
I'm still waiting for my samples. I guess that was really samples in 16weeks, and production quantities sometime in the distant future?

Too bad for Atmel, I've actually had a few designs [requiring upwards of 20K units in the next quarter] already flow through that could have used these little buggers, but as I have no samples, they were never designed in. I guess I could have dropped in a larger tiny (at higher cost) but decided instead to leave out the optional functionality that the tiny10 would have provided.


That stinks. I only got 4 of them, but with a shipping snafu they actually have sent 2 sets of 4. So I have 8 of the little buggers with no way to program them in a standard way (like the AVR ISP). I guess I'll have to wait until someone smarter than I comes up with a way to do it. Or Atmel updates S4 and the ISP firmware.

Jim M., Rank amateur AVR guy.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well this really sucks! here goes another 10K+/a opportunity, though Atmel wins on this one. Doing a re-design for cost savings, and improved reliability/manufactureability on a device based on an tiny25. It's a simple 2 button IR remote, so I only need 3 I/O's, the tiny10 would have been a great fit here to reduce cost even further, but yet again, no samples, so no tiny10 getting a design-in.

Writing code is like having sex.... make one little mistake, and you're supporting it for life.

Last Edited: Tue. Aug 25, 2009 - 05:23 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

MaxMay in http://www.avrfreaks.net/index.p...

Quote:
We don't usually talk directly to people who buy less than a million dollars worth a year, ...

Stealing Proteus doesn't make you an engineer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ArnoldB wrote:
MaxMay in http://www.avrfreaks.net/index.p...

Quote:
We don't usually talk directly to people who buy less than a million dollars worth a year, ...

Not sure what you're getting at... That was referring to the crypto-products unit, not necessarily others.

As there are AVR unit employees contributing on this site, I'd reason to say that that statement does not hold for the AVR unit. (Though I'm sure you'll get faster/better service if you were a million dollar customer)

In general the service I get is excellent. It is only when I'm looking for a new product that things seem to fall apart.

Writing code is like having sex.... make one little mistake, and you're supporting it for life.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

From Atmel MCU Support:

Sriram Parasuraman, 09.06.2009 10:44 wrote:
me, 04.06.2009 10:58 wrote:
What is the maximum TPI programming frequency for ATtiny10.
I could not find any frequency and timing information in the TPI programming section of the ATtiny10 datasheet.

We will get back to you with further information over this.

They never got back to me on this one, it's now 2½ months since I asked.

Sriram Parasuraman, 01.07.2009 16:26 wrote:
me, 23.06.2009 13:59 wrote:
Sriram Parasuraman, 23.06.2009 13:54 wrote:
me, 09.06.2009 12:01 wrote:
Is it true ATtiny10 can't be programmed in circuit, but only on the adapter card?

Sorry for the delayed response.
It is true that the device can be programmed only with the adapter card with the help of STK600.

Best Regards,
Sriram Parasuraman
Atmel Technical Support Team


How is production ATtiny10's going to programmed then if you can only program it on a STK600 adapter card?

Unfortunately our tools doesn't support this device.
The following vendors provide third party programming support for ATtiny10:
Xeltek www.xeltek.com
System General www.systemgeneral.com

Sorry for the inconvenience caused.

Best Regards,
Sriram Parasuraman
Atmel Technical Support Team


Notice the "impressive" Atmel support response time, "only" 14 days for the first response and 8 days for the second response. And they only answered half the questions asked. If you have 4 related questions better raise 4 independent tickets instead of 1 common if you want all 4 questions asked. But that's a typical problem from most support deparments, no matter the company, they are only capable of answering 1 question per email in my experience, 2 if you are lucky.

He also said Atmel has no futher plans of supporting ATtiny10 by other proigrammers or by supporting ISP programming of ATtiny10 with STK600.
So if you want an ISP programmer for ATtiny10 you are out of luck from Atmel and have to buy a 3rd party programmer from Xeltek, System General or another company who might support it in the future - or make your own.
But it's hard to make your own programmer fast and reliable as long as you can't get any specifications for programming speed.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Per a previous post. You should be able to program it In System. I don't see how this chip can only be programmed by the STK600. Atmel just hasn't come up with an ISP device and therefore states that it can only be programmed in an external device. And what are we supposed to do? Develop and use simulation and HOPE the real world works just like the simulation? How often does that happen? This is really a crock. They build a chip with just about Zero support. Way to go Atmel.

Jim M., Rank amateur AVR guy.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm waiting for the updated version of the STK600 protocol to be released, that contains the TPI commands. I am planning on making an (open source) In-Circuit TPI programmer that is compatible with the STK600 protocol so it can be used with AVR studio.

Writing code is like having sex.... make one little mistake, and you're supporting it for life.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

glitch wrote:
I'm waiting for the updated version of the STK600 protocol to be released, that contains the TPI commands. I am planning on making an (open source) In-Circuit TPI programmer that is compatible with the STK600 protocol so it can be used with AVR studio.

You're my new favorite person.

Jim M., Rank amateur AVR guy.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Don't hold your breath... the info still isn't online, and I don't have any parts to test with.

Writing code is like having sex.... make one little mistake, and you're supporting it for life.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

glitch wrote:
Don't hold your breath... the info still isn't online, and I don't have any parts to test with.

Want a few?

Jim M., Rank amateur AVR guy.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I certainly wouldn't refuse a few, if you were willing to part with them :)

I could probably whip up a basic proprietary programmer in a few days... stk-600 implementation will take longer, not counting waiting for an updated protocol spec to be published.

Writing code is like having sex.... make one little mistake, and you're supporting it for life.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I got some tiny10s but no ATSTK600-ATTINY10 socket card.
I managed to pretend the socket board to the STK600 with some logic chips as described in "AVR600: STK600 Expansion, routing and socket boards". I connected the TINY10 to the ISP headers on the stk600.
Programming works, but only sporadically.

- Does anyone here have experienced something similar or any suggestions?

- I mailed atmel. Here is the answer:
>>>>>>>>>>>>>>>>
Why can the ATTiny10 only programmed ON-BOARD? I tried to programmm the ATTiny10 externally, but it works only sporadically.

Yes, it is possible to program the AVR device ATtiny10 externally through specialy designed tools. There are facts relying on Hardware and protocol considerations and precautions to be taken when designing the system omitting which may lead to unreliability.
Unfortunately Atmel does not currently have a tool for ISP programming of ATtiny10. ATtiny10 is currently only supported by the STK600. STK600 only supports on board programming due to the fact that it uses High-voltage TPI (12V). The programming interface uses the reset pin and I/O pins. An external programmer must be able to control (drive) these pins in the application to be able to program the device.
So it is possible, just a little inconvenient. But it is hard to design a general external programmer to this. So for the time beeing we only support programming on STK600.
<<<<<<<<<<<<<<<<<<<<
What could "There are facts relying on Hardware and protocol considerations and precautions to be taken when designing the system omitting which may lead to unreliability." mean???

- does anyone know of a source for a single Tiny10 socket card. I checked Arrow/Spoerle, Mouser, DigiKey, newark/Farnell, rutronik, ineltek, NuHorizons, MSC, but only got "no availability" or "minimum quantity 25"

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

i programmed a tiny10 programmer in C using a ATmega128.
Tiny10 firmware is stored in Flash of the mega128.
I used the Codevision AVR C-Compiler.
Enjoy.

Attachment(s): 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

[post deleted]

Last Edited: Fri. Nov 13, 2009 - 01:23 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'd love to integrate the new protocol into my AVRISP-MKII clone firmware for the USB AVRs, but there'd be no way for AVRStudio to use it. If Atmel updates the AVRISP to support it in the protocol, I'd be able to have an AVRStudio compatible clone system running inside of a day or two.

- Dean :twisted:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think, Atmel won't support the TPI with AVRISP-mkII. In some cases (if RSTDISBL fuse is set) to program the chip, 12V must be applied to /RESET. 12V are not available with AVRISP-mkII.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

abcminiuser wrote:
I'd love to integrate the new protocol into my AVRISP-MKII clone firmware for the USB AVRs, but there'd be no way for AVRStudio to use it. If Atmel updates the AVRISP to support it in the protocol, I'd be able to have an AVRStudio compatible clone system running inside of a day or two.

- Dean :twisted:

I made a request to Atmel for the updated STK-600 protocol, which does support TPI. They told me that the document is in the process of being updated, but there is no time line for when it will be available. You and I should talk at some point, as I have been working on a similar effort.

Writing code is like having sex.... make one little mistake, and you're supporting it for life.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi guys,

So I just bought a few of these. I somehow got the impression that they were just ISP programmed. Now I know better. Maybe it was because it's in the list of processors in the AVR910 source. It's in the list but there's nothing else in the code.

According to the datasheet, an AVR910-compatible is electrically capable of programming one, if /RESET is left as-is. So it's possible to update the avr910 code to support them. Nobody appears to have done it yet. I might give it a try.

Wish I had 2 programmers right about now :)

Is it at all possible to get avrstudio to program an attiny10 through an avr910, even if the avr910 has been customised to support it?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Nope, AVR910 is out there. Either get any of the Atmel tools (like an
AVRISPmkII), or have a look at this project:

http://www.avrfreaks.net/index.p...

Jörg Wunsch

Please don't send me PMs, use email if you want to approach me personally.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Note that both the transport used (USART instead of SPI) and the higher level layers are entirely different, so that it would take a significant lot of changes for it to be able to work with AVR910 programmers. You can use my free open source AVRISP-MKII clone firmware as a reference if you like, since it implements all of TPI.

- Dean :twisted:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
to get avrstudio to program an attiny10 through an avr910, even if the avr910 has been customised to support it?
The confusion happened due to someone at Atmel deciding to recycle a part number for a chip that was never born in the days of AVR910 or even the ICE200 both of which were supposed to support the previous version of the never made Tiny 10.

The now made Tiny 10 uses a completely different way of programming than the never made old Tiny 10.

Is this confusing enough?

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

Is this confusing enough?

Almost. But...
Quote:

The now made Tiny 10 ...

... needs at least an asterisk and a footnote:

Atmel ATTINY10 Distributor Inventory Check
Device 	Distributor 	Country 	Stock 	Date 	Buy
  No parts were found.
Atmel ATTINY9 Distributor Inventory Check
Device 	Distributor 	Country 	Stock 	Date 	Buy
  No parts were found.
Atmel ATTINY5 Distributor Inventory Check
Device 	Distributor 	Country 	Stock 	Date 	Buy
  No parts were found.
Atmel ATTINY4 Distributor Inventory Check
Device 	Distributor 	Country 	Stock 	Date 	Buy
  No parts were found.

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I don't think an AVR910 is going to do it, ever.

The AT90S2313 code is essentially an ISP bit-banger, and assembles to 1988 bytes. That leaves 60 bytes (at most!) for TPI code.

You could make a version that can *only* program the TPI chips (that's 2 right?) but then you would need a second programmer anyway. Or to program the programmer whenever you wanted to switch between SPI and TPI. Um, no.

So now I am considering making a variation on the AVR910 that's attiny84 (or similar) based and supports both.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

The AT90S2313 code is essentially an ISP bit-banger, and assembles to 1988 bytes. That leaves 60 bytes (at most!) for TPI code.

Use an ATtiny4313?
http://www.atmel.com/dyn/corpora...

(Since we cannot get our hands on either chip, it does no harm to use a vapour programmer for a vapour chip)

You can put lipstick on a pig, but it is still a pig.

I've never met a pig I didn't like, as long as you have some salt and pepper.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
and assembles to 1988 bytes.
Where do you get that from? I get only 910 bytes ie 44.4% full.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well, xeltek supports ATTINY10 either with an ISP header on any regular single socket programmer or with its first ISP programmer called SuperPro IS01:

[url]http://www.xeltek.com/device_sea...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Here is a very cheap USB ATTiny10 TPI flasher:

http://www.avrfreaks.net/index.p...

It's an ATTiny25 with some resistors, 2x 3.6V Zener, and a capacitator.
However, if you need 12V (programmed RSTDBL), then you will need an additional transistor and a SIM1-0512 (or similar), of course.

It's a primitive bitbanger, the protocols are implemented on the PC.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

js wrote:
Quote:
and assembles to 1988 bytes.
Where do you get that from? I get only 910 bytes ie 44.4% full.

910 bytes or words?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Bytes as it shows 44.4% full.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Okay, can I have that? :)

Where did you get it?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

PRosendahl wrote:
Here is a very cheap USB ATTiny10 TPI flasher:

http://www.avrfreaks.net/index.p...

It's an ATTiny25 with some resistors, 2x 3.6V Zener, and a capacitator.
However, if you need 12V (programmed RSTDBL), then you will need an additional transistor and a SIM1-0512 (or similar), of course.

It's a primitive bitbanger, the protocols are implemented on the PC.


If the RSTDISBL (External Reset disable) configuration bit has been programmed, instead of using a SIM1-0512-SIL4 DC/DC-converter, the easiests and cheapest is to just use a Maxim MAX662A 12V, 30mA Flash Memory Programming Supply to apply 12V to the /RESET pin.
The MAX662A is a regulated +12V inductorless, 30mA-output, charge-pump DC-DC converter.
It also has an active-high CMOS-logic level Shutdown Input.
http://www.maxim-ic.com/quick_vi...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've contacted Olimex and Kee Electronics about modification of their existing "ISP" programmers to support "TPI" protocol. Both companies where interested in the idea. In fact, Kee Electronics said they were going to get started right away. A firmware change to the programmer to support the low level TPI protocol to the DUT wouldn't be very difficult to implement. The high level protocol between the PC and the programmer could remain unchanged.

A discovery process would have to be implemented by the programmer to discover the DUT programming protocol (ISP or TPI). Of course, implementing two seperate low level protocols would require more program memory.But that's not a huge issue either.

Another feature that would be nice on the programmer is HV programming mode. A 5V to 12V charge pump could be added on-board to support the HV mode. This is especially important on the TINY4/5/9/10 micros because Reset will probably get disabled in many applications due to the limited number of I/O pins. Of course the only way to reprogram the device after Reset has been disabled is HV mode.

I can't believe that Atmel isn't interested in updating their ISP programmers to support TPI. IMHO this is a huge mistake. But never fear, the aftermarket is here.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

I can't believe that Atmel isn't interested in updating their ISP programmers to support TPI. IMHO this is a huge mistake. But never fear, the aftermarket is here.

Huh? The AVRISP-MKII (and Dragon, JTAG-MKII, etc.) supports TPI and PDI, otherwise I wouldn't have been able to implement it in my clone firmware. No 12V charge pump on the AVRISP-MKII though, so you can't program chips where the fuse has been set.

- Dean :twisted:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Huh? The AVRISP-MKII (and Dragon, JTAG-MKII, etc.) supports TPI and PDI, otherwise I wouldn't have been able to implement it in my clone firmware. No 12V charge pump on the AVRISP-MKII though, so you can't program chips where the fuse has been set.

Well, I must admit that I'm confused. Of course I researched this some before I made the claim. According to the information on the Dragon (Atmel on-line info), it does not support TPI.

http://support.atmel.no/knowledgebase/avrstudiohelp/mergedProjects/AVRDragon/AVRDragon.htm

Nor are the ATTINY4/5/9/10 listed as supported devices by the Dragon.

http://support.atmel.no/knowledgebase/avrstudiohelp/mergedProjects/AVRDragon/AVRDragon.htm

I know that Atmel doesn't always update their on-line information, and I have a old version of Studio (4.16-628) on my machine. Maybe I will download the latest version and look through the Tools section. Is TPI there for the Dragon ?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Nope. Just downloaded Studio 4.18.684 and can't find TPI support on any Atmel tools with the exception of the STK600 (Searched for keyword "TPI" in Help\AVR Tools User Guide).

Where can I find a mention of support for TPI on other devices other than the STK600 ?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

There are 2 service packs after the one you got.

Quote:
AVRISP mkII User Guide

1.6 What's New
Descember 11th, 2009 - AVR Studio 4.18 SP1
Added TPI support for the tiny devices ATtiny10 and ATtiny20.

Added support for new devices (see Section 1.5, “Supported Devices”).

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for the tip about the cheaper MAXIM 12V power supply chip!

A tip for the 12V HV TPI programming: the voltage should be applied during the POR phase. Otherwise you will be working against a possible low-level output pin. (The SIM1-0512 cannot handle it. The outcome is ~6V against a low output pin and the chip doesn't reset.)

The low-level RESET can be applied anytime.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I have made a programmer out of a mega328p (I didn't have the parts for the USB version above), and successfully programmed a chip and got it to do something useful.

I feel the need to share what I've leared:

- the data sheet is accurate (when they say you have to wait 16 cycles after pulling reset low they mean it), except that the STS and LDS instructions don't work as for the standard instruction set. They instead work like:

STS: 1010 10a1 rrrr aaaa
LDS: 1010 00a1 rrrr aaaa

where rrrr is the src/dest register and aaaaa is the address of the ram byte, relative to the first byte.

You don't want to know what I had to do to figure that out :)

I'm using linux so I had to modify avra and give it "lds10" and "sts10" instructions, and use these instead of standard sts and lds.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:

STS and LDS instructions don't work as for the standard instruction set.

Aren't those what the latest issue of the opcode manual calls "STS (16bit)" ? They are fully documented there as far as I can see.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Maybe you need to use the correct assembler switch, then it will use the correct STS encoding for the ATTiny4/5/9/10. I'm using the AVR Studio, so I cant tell you what to do with GNU-as.

The STS (16 bit) coding is: 1010 1kkk dddd kkkk

Pages