Bootloader for Megas - freeware BLIPS 2.0 + AVR code

see

http://www.avrfreaks.net/index.php?modu … pe=project

beta testers needed

revisions/improvements. Up to V2.5 now.

Source code for AVR-side updated 23 July.

This is Freeware.

http://www.avrfreaks.net/index.php?modu … pe=project

BLIPS 2.6 uploaded to Projects on the avrfreaks website.

Change corrects bug where XML part description files were not found on Windows XP for certain non-english-language versions of Windows XP.

Tested OK but I await confirmation from abroad.

Stevech,

I have some problem getting started with your bootloader.

The hardware was tested successfully as per chapter 5 of the tutorial found in sparkfun, although, I have chosen to use the atmega8 with a 4mhz resonator.

Both basic_in.c & basic_out.c work perfectly.

In the MegaBootloaderBlips.asm, I’ve changed

1).INCLUDE “m8def.inc”

2).equ clock = 4000000

3).equ bootldr_baud = 9600

The resultant hex file was programmed into the atmega8 with a homebrewed AVRISP, with the help from the Kanda software.

In the Kanda software, I 've selected for the fuses

1)1110 for the device clock (external crystal/ceramic resonator 3-8mhz.)

2)brown out level as 2.7V

3)all others “unselected”

In the lockbit & boot option page, I’ve selected

1)lock bits, BLB0, BLB1 ----no feature enabled.

2)Boot block size ---- 256 words.

3)Reset vector ----- Boot block.

The BLIP4 software keep saying “comport error. 13 type mismatch. Check Port No. and Baud rate choices”

“Incorrect (or no) response from chip’s bootloader”

Kindly suggest where I might have made a mistake, I’m quite new to avr.

Thanks & regards

yanctl:
Stevech,

I have some problem getting started with your bootloader.

The hardware was tested successfully as per chapter 5 of the tutorial found in sparkfun, although, I have chosen to use the atmega8 with a 4mhz resonator.

Both basic_in.c & basic_out.c work perfectly.

In the MegaBootloaderBlips.asm, I’ve changed

1).INCLUDE “m8def.inc”

2).equ clock = 4000000

3).equ bootldr_baud = 9600

The resultant hex file was programmed into the atmega8 with a homebrewed AVRISP, with the help from the Kanda software.

In the Kanda software, I 've selected for the fuses

1)1110 for the device clock (external crystal/ceramic resonator 3-8mhz.)

2)brown out level as 2.7V

3)all others “unselected”

In the lockbit & boot option page, I’ve selected

1)lock bits, BLB0, BLB1 ----no feature enabled.

2)Boot block size ---- 256 words.

3)Reset vector ----- Boot block.

The BLIP4 software keep saying “comport error. 13 type mismatch. Check Port No. and Baud rate choices”

“Incorrect (or no) response from chip’s bootloader”

Kindly suggest where I might have made a mistake, I’m quite new to avr.

Thanks & regards

OK, happy to help.

Assuming you have told the PC side of BLIPS to use 9600 baud…

Is the interface a standard PC com port such as COM1 rather than a USB-to-serial converter?

9600 baud with an external 4MHz crystal or a proper ceramic resonator should yield a baud rate error of about 0.1% which is OK. (see AVR Calc utility).

On the homebrew ISP (Kanda) - I can’t help you with those fuse setting numbers - don’t know that ISP. Seems correct. Have you run the ISP’s “Verify” to compare what is written in flash with what’s in the .hex file? Perhaps you used that ISP to download other than the bootloader so you know it’s OK.

I and others have used BLIPS with mega8’s.

There is a short time window for the BLIPS PC side to query the AVR… the bootloader looks for about a half second for a character from the PC before jumping to the application (if any) in flash. So you need to do something like hit the AVR reset button and immediately click on the READ CHIP ID button or some such. You can change the ASM code to make this delay longer.

Try this, too: use a terminal emulator like Bray’s. 9600baud. Hit the escape key in it just after resetting the AVR. Then hit the ‘s’ key and you should see the chip ID.

I built a .hex file I created just now for the mega8, 4MHz, 9600 baud. Perhaps identical to what you did, but give it a try or PM me with an email address; attachments not allowed here.

also, here’s the .hex as text herein

:020000020000FC
:101E00008FE594E08DBF9EBF89E189B988E18AB9E9
:101E100081E087BB88BB7727882790E37A9549F4D0
:101E20008A9539F498BB9A9521F4EE27FF27EAB9F1
:101E300009940BB107FFF2CF0CB10B3179F303C05A
:101E4000C1D00B31E9F3013611F409E5AAC0013420
:101E500039F4B8D0B02FB6D0A02FAA0FBB1FA0C0A6
:101E6000023631F409E5A9D000E0A7D000E499C01A
:101E70000234A1F40ED0063489F4A4D0002EA2D0EE
:101E8000102EFD0131E037BFE89512962297A9F791
:101E90003AC098D0D02F96D0C02F94C0033619F4F2
:101EA00091D0602F7DC0033449F48CD0702FFD0198
:101EB0000B0181E087BFE895129672C0073661F486
:101EC000E8DF063449F4FD01059177D0059175D01E
:101ED0002297D1F7DF01B4CF053691F4EE27FF2723
:101EE000EE0FFF1F13E017BFE89571D0F795E79548
:101EF000E05EFF4F80E09FE0E817F90788F350C0ED
:101F00000D3631F4FD0115E017BFE89560D048C0EB
:101F10000035E9F30C34D9F3053431F40DE04DD03C
:101F20000BB106FFFDCF81CF003711F403E539C0B7
:101F3000023539F4FD01859105913FD0DF01082F6D
:101F400030C0043429F43ED00DBB16E02CD028C09C
:101F5000043619F411E027D024C0043721F407E730
:101F60002CD000271EC0043511F42CD019C0033525
:101F700039F4ECEDFFE105910023A1F01ED0FBCF79
:101F8000063521F401E319D002E30BC0033731F425
:101F900007E013D003E911D00EE103C00FE301C045
:101FA0000DE00BD04DCFAEBBBFBB119611FDE29A39
:101FB0001CBBE199FECF0DB308952BB025FEFDCFDC
:101FC0000CB908950BB107FFFDCF0CB1089507B709
:101FD00000FDFDCF01E107BFE89508954D656761FC
:041FE0003820200085
:00000001FF

Hi Stevech,

Thank you for offering to help. Followings are my observation.

The os in my desktop is win2k and the communication is RS232 via COM1.

The serial settings in the BLIPS version4 are:

1)connection ---- use serial

2)serial setting — COM1, 9600

3)control user program — 9600

4)terminal mode — 9600

When the BLIPS4 is first launched, the dialogue box is white with the following message

"Serial Ports discovered…

COM1: is a Local Port, flags: 1

COM2: …as above

COM3: …as above

COM4: …as above

4 COM Ports were discovered by enumeration

basic_in.hex modified …120 lines (my attempt to use serial port for debugging)

Ready"

LED connected to PB0 pulsing continously, after reset.

Keying in “Read Chip ID” or any other request, immediately after releasing the reset, causes the dialogue box to turn red with a message as described in my earlier post.

Not sure how to fill up the Programmer ID, Features, eeprom etc etc… yet.

I’ve compared your hex listing & mine and found the only difference is in the third line. However, I am not knowledgeable enough to decipher.

your third line:

:101E100081E087BB88BB7727882790E37A9549F4D0

my third line:

:101E100081E087BB88BB7727882798E17A9549F4CA

The hardware is still working ok as evident from flashing basic_in.hex and selecting application instead of bootloading.

I’m stumped, when I load your hex listing into the Kanda software. It occupied from address 0 to 590 instead of 1E00 to almost 1FFF.

Appreciate if I can have the assembly file, made specially for me?

gee thanks…I shall send you an email as a starter.

Regards

Keying in “Read Chip ID” or any other request, immediately after releasing the reset, causes the dialogue box to turn red with a message as described in my earlier post.

Not sure how to fill up the Programmer ID, Features, eeprom etc etc… yet.

these data items are automatically filled in when BLIPS does connect with the AVR side code.

Try using the dumb terminal to talk to the AVR chip with the bootloader running, as I summarized earlier.

This seems like a baud rate problem or weird RS232/grounding problem.

Stevech,

Thank you for the assembly file. We are getting some progress now.

Comparing yours & my asm files, I do not see any difference…unless my commenting out ;.equ clock = 16000000 and the baud rate, count.

Yet there is a difference in the hex files, not sure why.

Anyway, I shall leave this for the time being.

As per your suggestion, I’ve downloaded the bray’s terminal emulator and did exactly your “escape & s” sequence.

The bootloader (loaded with my hex file) answered with the chip’s ID of 07 93 1E. I’ve counterchecked with the chip’s “signature” as displayed by the Kanda software and it says 1E9307. Clearly, the bootloader had been working all this while.

Tried the BLIPS 4 again… no joy.

Now, I must somehow borrow a computer with XP os to try.

regards

OK. So the bootloader on the AVR side is OK.

BLIPS on Windows NT. Maybe some odd thing about the serial port DLL/OCX for NT as opposed to XP. Haven’t heard anyone complain about NT but then, maybe you’re the first to use NT with BLIPS! Sorry - I have never tested with NT.