what is the relation between firmware file and src file?

![4M$[2%2L0T7~%]PECR](ZPB.png|454x113](upload://2GlHwIZVjJ53Bnk6kyyGQ3ZxN6k.png)
Hi, I am confused about this. Does anyone can help explain this? I see two posts about the firmware update in this community. When we upload the firmware.bin in firmware file,it is called firmware update. Also, when we add a new function to the imlib.c and py_image.c in src file, and then upload the new file to the board, this process is called firmware update as well. So what is the relationship between these two process?

The process of editing the C code creates a new firmware binary that you can then upload to the system.

Did I answer your question?

yep,part of my question.Thanks first. So do I need to combine the new firmware binary with the firmware.bin and then upload the new firmware.bin? Or I just need to upload the new firmware binary to the openmv board directly that has already included the firmware.bin? And what kind of tools can I use to edit the C codes to make it become a new firmware binary and upload it? Thanks for your reply.

The compile process produces a new firmware binary. As for uploading new code, you can use OpenMV IDE to do that. It has an Tools->Run Bootloader.

So what kinds of source codes, or which source code file,construct a complete original firmware.bin including all the functionalities such as communication, python compiling tool,image processing and so on?

All these C files here: openmv/src at master · openmv/openmv · GitHub

Not to be mean here… but, if you want to edit the firmware and such you’re looking at doing work where I can’t exactly help you every step of the way. I’m concerned about your ability to do this because the questions you’re asking tell me you’ve never done any firmware type development before. Is this the case? Because our firmware is pretty advanced stuff. We make it open source so you can modify it but we expect if you want to do this that you know what you are doing.

yes, this is the first time I work on the firmware stuff and I will spend some time doing this part. I am about to add some image algorithm to the firmware to fulfill certain function. So can you recommend some materials for this part of knowledge? I appreciate it a lot.

Jisheng

Um… not sure where to start. I didn’t learn my skills from a book. It took years of microcontroller development and university classes… I guess I would start with learning how STM32 MCUs work.

https://www.google.com/search?q=stm32+getting+started&oq=stm32+getting+started&aqs=chrome.0.0l6.4048j0j7&sourceid=chrome&ie=UTF-8

OK, thanks, I will go through this website.