Who wants to write a Bootloader for ATMEGA32M1 and SPI EEPROM (job offer)

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

Hi,

i’m looking for someone to program a bootloader for AVR ATMEGA32M1 in C language, which gets  new  firware from a SPI EEPROM and updates it to the flash of the AVR.

Datasheets:

ATMEGA32M1:

http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7647-Automotive-Microcontrollers-ATmega16M1-32M1-64M1-32C1-64C1_datasheet.pdf

 

EEPROM 25AA640-I/P (SPI, 64k)

https://www.mouser.ch/datasheet/2/268/21223G-70499.pdf

 

Background

I want to expand a device with the possibility of a software update by a change of a EEPROM by the end user. Bootloaders are all pretty new to me, and currently, i have no time available to do the r&d to do it by myself. That’s why i’m looking for someone with AVR and bootloader experience who is willing to do it.

The following material will be supplied by me:

  • Fully assembled test pcb + power supply
  • Eeproms
  • Framework of applications software
  • Schematics and layout of test pcb

The following material should be avaiable by the programmer who takes the job:

  • AVR programmer (i use ATMEL ICE, 6pin ISP header on PCB)
  • Eeprom programmer

 

Costs / salery

Of course you should get appropriate paid. Please send me a offer by pm (complete project price or hourly with an estimate of needed hours)

 

Let me know if you want to know more !

If someone is interested in taking this small project, hit me up 😊

Thanks! Best greetings,

markus

 

 

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

markus652 wrote:
in C language
Which C? If you mean the avr-gcc that comes with AS7 then in its library code is this:  https://www.nongnu.org/avr-libc/user-manual/group__avr__boot.html  The "API Usage Example" they give there is pretty much 90% of a bootloader. The only missing bit then is the loop that feeds the data to this to be programmed.

Last Edited: Wed. Jun 12, 2019 - 08:11 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

for mega32M1, CAN and AES bootloaders via search for 'boot' in ATmega32M1 - 8-bit AVR Microcontrollers (edit : Documents tab)

External storage attached to an AVR is in AN_8390 AVR2054: SerialBootloader User Guide

 

"Dare to be naïve." - Buckminster Fuller

Last Edited: Wed. Jun 12, 2019 - 10:21 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

awesome, super helpful community here :D

thanks for the information and documents! 

thing is, this is all very new to me, and i'm currently very busy, so not that much time to learn everything about it by myself. 

would be awesome if someone with experience is interested in taking the job :)

 

cheers guys :)

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

I would suggest you look at community member alank2 programmer instead. It essentially does what you want to do withour the bootloader.

His programmer is a self managed ISP programmer. What you are looking to do sounds like putting a socket on a pc board then ship an IC with the firmware update.

Alank2 device does all this for you and saves you board space and the cost of an eeprom socket. I use alank2's programmers just for this purpose. Super easy. Power down the product, plug programmer on to ISP pins, power up product and wait for green light on programmer. Remove programmer and walk away.

Jim

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

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

jgmdesign wrote:
What you are looking to do sounds like putting a socket on a pc board then ship an IC with the firmware update.

 

hi jim, 

that's exactly what i intend to do. ship IC with the new firmware to the customers so they can update the firmware by them self (changing the eeprom). 

so alank's auto programmer is not really a convinient way to do it, as every customer would have to get such a device, which is way more costly? or am i missing something?

 

thanks!

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

markus652 wrote:
or am i missing something?

I see a lot of bent pins and chips inserted backwards! 

 

Jim

 

Click Link: Get Free Stock: Retire early! PM for strategy

share.robinhood.com/jamesc3274
get $5 free gold/silver https://www.onegold.com/join/713...

 

 

 

 

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

What Is an iButton Device? - Application Note - Maxim

...

 

DS1977 

iButton 32KB EEPROM

 

...

Microchip CryptoMemory could be packaged as an alternative; one is 32KB in a "module" though don't know its fit and form.

CryptoMemory | Microchip Technology

 

"Dare to be naïve." - Buckminster Fuller

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

I don't understand the need of a eeprom chip as a device for transporting the binary content.

I have such a thing on one of my products, a sd card bootloader. But the product has a sd card in the first place, the bootloader is using it because it's just there, and convenient.

Your product probably has some communication interfaces. Use one of these.

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

rammon wrote:
probably has some communication interfaces
markus652 wrote:
a bootloader for AVR ATMEGA32M1
As people presumably choose 32M1 principally because it's got CAN then I guess the main comms interface is CAN? But I suppose that then raises the question of "if you are going to inject new firmware over CAN then how do you get that data onto the CAN bus in the first place?"

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

markus652 wrote:
so alank's auto programmer is not really a convinient way to do it, as every customer would have to get such a device, which is way more costly? or am i missing something?

 

Yes, you are missing a lot.

 

I do not know how your board is laid out, but I would hope there are 6 ISP pins on it to accommodate programming.  What I would suggest you do is buy a couple of alank2's programmers and load the updates in them, and send them to your customers that need the update.  THey load the update into their product and then mail the programmer back to you.  Simple as that.  Sending out a DIP eeprom is a pain in the A$$.  If the customer puts the EEPROM  in backwards, or breaks a leg off the part what happens?  Also, Can a bootloader change fuse settings if you need to?  The programmer can.

 

Customer has to purchase nothing, you buy a few of them and if the customer does not return them in good working order then you bill them for it, or no more service/updates till the bill is paid.  THis is my policy, and thankfully I have never had to enforce it.

 

Who pays for the eeprom you are sending out?  Can you guarantee that you will always be able to source them?

 

JIm

I would rather attempt something great and fail, than attempt nothing and succeed - Fortune Cookie

 

"The critical shortage here is not stuff, but time." - Johan Ekdahl

 

"Step N is required before you can do step N+1!" - ka7ehk

 

"If you want a career with a known path - become an undertaker. Dead people don't sue!" - Kartman

"Why is there a "Highway to Hell" and only a "Stairway to Heaven"? A prediction of the expected traffic load?"  - Lee "theusch"

 

Speak sweetly. It makes your words easier to digest when at a later date you have to eat them ;-)  - Source Unknown

Please Read: Code-of-Conduct

Atmel Studio6.2/AS7, DipTrace, Quartus, MPLAB, RSLogix user

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

And...
What usually happens when you try to remove a dip package with your fingers?

There will be blood

Tom Pappano
Tulsa, Oklahoma