Creation of bootloader for remote firmware updates via UART

For general Flowcode discussion that does not belong in the other sections.
Post Reply
george_b
Posts: 24
http://meble-kuchenne.info.pl
Joined: Fri Jul 01, 2022 5:00 pm
Has thanked: 11 times
Been thanked: 3 times

Creation of bootloader for remote firmware updates via UART

Post by george_b »

Hello all!

I wish you have a great summer so far!


I would like to implement remote firmware update on a PIC (16F & 18F) target devices.

After a few minutes of reading, I learned that I will need a bootloader burned in to the flash of my device.
Then this bootloader will handle the image which will be send serially via UART hardware pins.


First i will try to achieve firmware upload to the desired target device with a UART to USB serial connector.

Then I will move on a wireless serial communication device like HC-12 module and try to achieve the same firmware upload wirelessly.

The devices i am interested to use are 18F4680,18F46k80,18F4523.

Is there any instruction or application manual for creating the bootloader?

What else am I missing to achieve my goal?


Thank you in advance

Best Regards
George

mnfisher
Valued Contributor
Posts: 1671
Joined: Wed Dec 09, 2020 9:37 pm
Has thanked: 144 times
Been thanked: 772 times

Re: Creation of bootloader for remote firmware updates via UART

Post by mnfisher »

Take a look at https://ww1.microchip.com/downloads/en/ ... 00851b.pdf

A Microchip bootloader for MCUs that allow self-programming....

Martin

george_b
Posts: 24
Joined: Fri Jul 01, 2022 5:00 pm
Has thanked: 11 times
Been thanked: 3 times

Re: Creation of bootloader for remote firmware updates via UART

Post by george_b »

Thanks for the details.

I am wondering if i could use flowcode to write a bootloader for pic 18F devices?

mnfisher
Valued Contributor
Posts: 1671
Joined: Wed Dec 09, 2020 9:37 pm
Has thanked: 144 times
Been thanked: 772 times

Re: Creation of bootloader for remote firmware updates via UART

Post by mnfisher »

It wouldn't be easy. In theory, Flowcode is C, could be used - some chips have only 512bytes available for the bootloader which might be tight?
If you have a chip that allows more space to be allocated to the bootloader then chances improve.
You will need to do lots of low level register handling and this will be C (or asm) - a Google showed up some possibly helpful code...

Martin

george_b
Posts: 24
Joined: Fri Jul 01, 2022 5:00 pm
Has thanked: 11 times
Been thanked: 3 times

Re: Creation of bootloader for remote firmware updates via UART

Post by george_b »

Hi, I hope you are all well!

Since creating this topic, I have been reading online articles and application notes to learn more. To be honest, I don’t feel fully ready to develop my own bootloader at this point. However, I am working on a project that requires continued progress, and therefore, I am seeking an expert who can assist me with this task.

Currently, I have a Flowcode program running properly on an 18F46 K 80 device. The device uses UART to communicate remotely with a server.

My goal is to enable the device to receive a new firmware remotely via UART communication.

If anyone has the expertise to handle this task, I would be glad to discuss the details and be happy to compensate accordingly.

Thank you very much in advance!
George

Post Reply