AnsweredAssumed Answered

STM32F103C8 Remotely programming flash memory(bootloader firmware update) over GSM(GPRS module)(C++,C)

Question asked by ohayo.John on Aug 5, 2016
Latest reply on Aug 6, 2016 by peacock.jack
Hello everyone,

I would like to inform you that  I'm new in ARM CPU usage and programming.I was working at one specific automation project in my job and they assigned me to remote monitoring device after finishing this project.

This device includes includes;

1)GPRS module(Telit_GL865) via (USART2)
2)GPS module (Ublox_Max_M8Q) via (USART3)
3)32 bit arm cpu(STM32F103C8)

They already prepared this project and it sends data recieved from GPS over GPRS module to our server.Thus we are able to track where the vehicle is.

In this case, They want to add a new future to this device.This is , remotely programmable device.

But Unfortunately, I have no idea how to add this new future to device.Also I would like to inform you that, there is an external eeprom device which will be communicated via I2C for flashing program.

So, According to my research(Could you please confirm);

1)I started to investigate about how to host c programming file on the server.Most of developers have made it by loading the program file in the server as .hex file(Is it correct or proper solution ?)

2)How can i download .hex file by using GPRS module(there are bunch of "AT" commands).Should ı connect to server and open file by c commands and read char values one by one? or Is it possible to download and send it to external EEPROM.What should I search about this condition?

 3)After handling these issues(1. and 2.), how can i take the file from eeprom or transfer to flash memory and loading it using bootloader method.

I need some example codes, ideas and working principle of flash memory, eeprom and arm (registers,interrupts,initiation structure)

I know, I want too much but I have to handle this.

Any kind of help will be greatly appreciated.

Thank you.