Reply by larwe April 19, 20062006-04-19
Dave Hansen wrote:

> If you're using an STK-200 type programmer, you might try changing the > buffer. That generally solved any programming problems we had.
No, I'm using a USB JTAG-ICE (Olimex's). I tried it with the Atmel JTAG-ICE at work, same results. GRRRRRRR!!!!!!!
Reply by larwe April 19, 20062006-04-19
Allrighty... some progress.

Richard H. wrote:

> Now, no knowing why changing CKOPT didn't fix your other ailments. > Perhaps it caused some damage?
I put an 8MHz xtal on another board, and that brought the swing up to about 824mV. With a colorburst xtal, that went up to about 900mV. I figured this was probably safe to attempt another write operation. Per a couple of application notes I read from programmer vendors, I put a 100pF cap between TCK and ground. Next I tried writing 0x89 to the high fuse byte, and whomp! the swing when I put back the 16MHz xtal is from 760mV to 4.32V (3.56V) which is great. I was hoping that this would fix all my programming woes, but it doesn't. I tried writing hfuse, lfuse, efuse individually, in that order. Side effects!! Write hfuse = 0x89 -> changes efuse from 0xff to 0xfc Write lfuse = 0xff -> changes hfuse from 0x89 to 0x20 Write efuse = 0xff -> apparently no side effect. Incidentally, I discovered that the undocumented bits in the extended fuse byte seem to have a meaning related to clocking! Specifically, 0xFC results in the chip running _incredibly_ slow; while (1) { LED = ^LED; } on 16MHz clock results in blinking at about 4Hz!
Reply by larwe April 19, 20062006-04-19
BobG wrote:

> I spent several hours searching through the forums here. > ============================================= > By 'here' do you mean comp arch embedded?, or do you mean 'there' > (avrfreaks.net)?
avrfreaks.
Reply by BobG April 19, 20062006-04-19
larwe:
I spent several hours searching through the forums here.
=============================================
By 'here' do you mean comp arch embedded?, or do you mean 'there'
(avrfreaks.net)?

Reply by larwe April 19, 20062006-04-19
Richard H. wrote:

> that this scope reading means CKOPT is set to a value that does not > support >8MHz operation. The CKOPT value that supports 16MHz would > yield a rail-to-rail swing on the xtal.
Oh yes, I realize this.
> Now, no knowing why changing CKOPT didn't fix your other ailments. > Perhaps it caused some damage?
I think the problem is that when I tried to set CKOPT correctly, it wiped the other fuses. At the bottom of all this, I think the underlying problem is that JTAG programming is really unreliable on these new parts. I asked the customer to change the setting on CKOPT, and he said the values read back didn't match what I would expect (89FF FF).
Reply by Richard H. April 19, 20062006-04-19
larwe wrote:
> larwe wrote: > >>assumptions and basically losing hair apace. My circuit is based around >>an ATmega128, running at 16MHz off an ext xtal. The prototype board > > Well, hmm. I took a look on a scope at work and I'm seeing oscillation > at exactly the right frequency, with a 554mV p-p amplitude (462mV to > 1.016V). That's with the 997F fuse settings. > > AVR Studio's fuse dialog is designed to cause confusion regarding the > CKOPT setting.
Hmmm... maybe the UI is wrong? I'll be a broken record and point out that this scope reading means CKOPT is set to a value that does not support >8MHz operation. The CKOPT value that supports 16MHz would yield a rail-to-rail swing on the xtal. (FWIW, on a Mega128L @ 3.3v & 8MHz, IIRC the low-power osc mode was like a 1.5v swing.) Now, no knowing why changing CKOPT didn't fix your other ailments. Perhaps it caused some damage? Richard
Reply by larwe April 19, 20062006-04-19
BobG wrote:
> Larwe... this question is asked fairly often on avrfreaks.net..... > please come read some messages there....
I spent several hours searching through the forums here. I didn't find anything that seemed even vaguely relevant. Plenty of people asking about problems with programming, but mostly centered around difficulty talking to the programmer.
Reply by BobG April 19, 20062006-04-19
Larwe... this question is asked fairly often on avrfreaks.net.....
please come read some messages there....

Reply by larwe April 19, 20062006-04-19
larwe wrote:
> assumptions and basically losing hair apace. My circuit is based around > an ATmega128, running at 16MHz off an ext xtal. The prototype board
Well, hmm. I took a look on a scope at work and I'm seeing oscillation at exactly the right frequency, with a 554mV p-p amplitude (462mV to 1.016V). That's with the 997F fuse settings. AVR Studio's fuse dialog is designed to cause confusion regarding the CKOPT setting.
Reply by larwe April 18, 20062006-04-18
larwe wrote:

> > If fuse high byte = 0x99, that means CKOPT is the default - unprogrammed >
> Thank you for pointing this out!
Hmm. Well, I'm tired so I'm going to bed... but this wasn't it. In fact, programming that fuse has killed the board, I can't talk to it over JTAG any more :(