M163 <-> 8535 Flash programming differences

Go To Last Post
6 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Aside from a different vecs structure & lots more fuses, Does anyone have a definitive view on what the differences are in the actual programming cycle between the 8535 & the M163.

The plan was to set the fuses with the STK500 ISP & then use our original 8535 ISP/Devel system to do the burn cycles on the M163.

As expected ( deeply negative ... ;-) it didn't work

Any ideas or suggestions. ( no the original ISP developer isn't interested at present )

admin's test signature
 

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

Apart from a slightly different sequence for entering the programming mode, the main differences are the different programming methods and the fuses.
You apparently already know about the fuses so let me explain shortly on the programming side:

The 8535 uses programming-per-byte and 163 uses programming-per page programming. The 8535 programs each byte seperately, the 163 loads a number of bytes (128 If I am not mistaken) in an internal RAM area after which the command is issued to program the page into Flash. This scheme is more similar to the 103 than to the 8535.
By the way, the datasheets can inform you of the details. Look under the section 'Serial programming'.

So now to a solution. One possibility is to get CodeVision. Excellent C-compiler including a programmer-driver (for f.e. the STK200 dongle) which can program the 163. This, I believe, is already possible with the demo-version of CodeVision. You can get it at http://dhptechn.ir.ro

I am not too sure but the PonyProgrammer might also be able to get your 163 programmed. Their site includes schematics of dongles to be used with PonyProgrammer and CodeVision also, should you require them. The siteaddress is http://www.cs.unibo.it/~lanconel...

And on another note; I am currently writing my own programmer software to be used with the STK200. It'll support projects, checksums, production programming facilities and the 163. I'll post it on the web in a couple of weeks, I guess.

Good luck with the 163!
Cheers,
Jan Martin Wagenaar

admin's test signature
 

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

Hello,

The ATmega163 is backwards compatible with the AT90S8535. You should be able to take your code and re-build it with the 'mega163's include file, then run it without problems. The reason why you must re-build it, is that the interrupt vectors are different.

Of course there are differences between the two, but if you only want to port an '8535 code, this should suffice. That is, if you've not inadvertedly accessed features in the 'mega163 that were just ignored by the '8535, such as an "extra-MSB" above the '8535's MSB etc.

Please note that if you want to access all the 'mega163's features, some instructions from the '8535 are inadequate. An example is the RJMP instruction, which cannot reach the entire '163 memory. You must use the 2-cycle JMP instruction instead.

If you've got more problems, we'd like to know. The ISP protocol should be compatible. Are you using one of our programmers?

Morten, AVR tech. support, Atmel FAE

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

>>If you've got more problems, we'd like to know. The ISP protocol should be compatible. Are you >>using one of our programmers?

No.... & therein lies the problem. We develop in Forth. The ISP is tied to the development system & allows a degree of interactivity with the target during development.

I can adjust the vecs & burn an executable with the STK500 ISP but if the 8535 programmer can't download to the 163 ( sounds like the case ) we lose the interactivity.

Cheers

Don

admin's test signature
 

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

Hi Don,

I've no knowledge of the Forth programmer, so I'm at a loss, sorry :( The ISP protocols for both parts are very well documented in the respective datasheets, however. I'm glad the program itself proved compatible :)

This looks like a problem with the programmer, and as such must be handled by the developer. Or by creative people :) Does anyone have experiences with the Forth system?

Morten, AVR tech. support, Atmel FAE

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

>>The plan was to set the fuses with the STK500 ISP & then use our original 8535 ISP/Devel system to do the burn cycles on the M163.

How about makeing a cable to go from the 6/10 pin header on the stk500 to your target board. This way you could use AVR studio to do the programming cycle with the M163. I think that you have to install a jumper cable on the stk500 in order to do this.

admin's test signature