2016-04-02 03:57 AM
HI,
i facing a problem with UART / IAP, i want to download file(.BIN or .HEX) in to FLASH by using UART only.i check example project from ST but i won't YMODEM, i just wan't to send file using terminal(TERA-TERM) and store it in flash.How can i do this please help. #uart-/-iap #uart-/-iap #flash. #iap #uart2016-04-02 04:32 AM
Dear moradiya.bhavesh,
Why do not use Hyperterminal. It has inbuilt Ymodem file sending utility. If you do not want to use Ymodem, then you will have to write your own FTP./*Please
mark helpfull
if this post helps you or solves your problem.*/
/* If you need any personal support for your work please contact at
embeddeddesign.help@gmail.com*/
2016-04-02 06:15 AM
One of the problems writting flash is that it is vey slow and stalls the processor. You need some protocol that has inherent flow control.
For .hex files you might want to parse a line at a time decoding and writing the data described2016-04-06 12:25 AM
HI,
Thanks for suggestion,I check example project available on ST site and it's work fine, but problem is in that - ''Y' MODEM'' is used But, I want to use only serial communication (Example: File''.Hex/ .Bin'' will be download from server through GPRS (M95 GPRS modem used)). I have used simple UART receive function to receive .Hex / .Bin file byte by byte. can you suggest how to implement ''Y-MODEM protocol'' with the help of M95 GPRS.2016-04-06 01:08 AM
Hi, Clive1
Here is a attachment in which you can see I am able to receive complete new file from the terminal with no error. I have received .bin file of 28 kb (size on HDD) That means in a single controller there will be two file when OTA update function is called. Now the problem is the delay, i.e. delay of 30 ms to send one byte from the hyper-terminal is the constraint if I decrease the delay of the hyperterminal to send one byte then error will occur during loading a file into the flash memory.So can you suggest some other way to load new file into the flash memory of STM32? Right now loading a new file using OTA update is taking time of approx 18 min. for 28KB of .bin file only serialcommunicationis used here and if file size is lower than ~10 KB I able to download without any delay and its work fine. and also it execute also. I cross check decrease delay in Hyper Terminal it lowest point is 2 ms but it won't be 0 ms it depend on file size(Example: if i send 6 KB file no delay require at Hyper-Terminal). Note: Delay is notperformin STM32 Program we are putting delay from the Terminal side to transfer file Byte by Byte ________________ Attachments : Dev_vd_Bin.png : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006I188&d=%2Fa%2F0X0000000bip%2FXfHRX6AapSgl7YLM3IuWvO9vrScP__ZRobQJexFwSZU&asPdf=false2016-04-06 05:35 AM
Not really illustrative of the failure condition.
Are you erasing the sectors as you go? I think you need some flow-control, so you can manage the write/erase of flash2016-04-06 09:12 AM
Hi moradiya.bhavesh,
Thhe IAP using USART embedded software takes the Tera Term emulator as example. You find related information in the relevant Application note ; under ''2.1 Tera Term configuration'' part. -Hannibal-2016-04-06 10:10 AM
I think the desire here is to send the firmware as a continuous stream of bytes. I don't think that's is entirely practical on a raw serial channel, but would work at a higher level, like via HTTP, where the transfer protocol is handled in the background.
2016-04-07 02:16 AM
Hi, Clive1 & kk
Thank you for your time,Thanks to help solving my problem and now, I able to download .bin file byte by byte using hyper terminal without any delay.2016-04-07 02:32 AM
Hi, Hannibal
Thanks for file, I will have look at it.