Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

custom bootloader for stm32f100rbt6b

Status
Not open for further replies.

akshada

Member level 3
Joined
Jun 29, 2010
Messages
67
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
india
Activity points
1,746
Hello all,
I am trying to design a custom boot loader for stm32f100rbt6,as i am new to boot loader got a lot of confusion .
I have gone through the application notes but couldn't get it.my controller has 128kb of flash.which i am dividing into 2 parts one bootloader:48kb and 2nd application program :80kb.
My project involves getting firmware binary file from server in packets using wifi module and storing into a sd card.once all data is received i will flash it.
here the problem is i want to jump from application code to bootloader program without reset.my senior said i can set a checkbit(fixed address) and check whether it is for firmware update or just reset.
-> what things need to set other than start address and vector address?

if you have any other opinion for this project please suggest.

thanks in advance
 

Hello!

I have done a few firmware updaters until now, including updaters running in ram space.
The safest possible boot loader is what you intend to do: a boot loader that boots from flash after
reset. Therefore, if for some reason the update fails, you are back on your feet after reboot.
What you did is right: split the flash into boot loader and firmware space.
However, I think that 48 kb is way too big for a simple loader. It takes more than 1/3 of your
flash. For your info, the one I developed takes about 2K (including debug messages).
Well, it's not an ARM device, but I think it shouldn't be significantly bigger.
I am also aware that you need a bit more than that because you have to manage the SD card,
however it should not be more than, say, 5~6K.
As for calling your boot loader from the application, why not simply jumping to the boot loader
address? That's what I do.

Dora.
 

Thanks for the reply Dora,
can you tell me do i need to do any memory remapping(vector table mapping).I am a newbie in bootloader so,can you suggest me if i need to remap. how can i do it?
does the vector table will be different for both bootloader and application code.
before jumping i need to set an fixed flash memory so that when i enter the bootloader i would know that this entry is from application code and not from reset.can you tell me how can i implement hard flash address. or is there some other way to do the same.

thanks again
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top