Loading App via RIDE vs loading Appp via Commandline
Hi,
Im pretty new to this device (STM32 circle), and I have the following problem:
I compiled an App (.hex file) and tried loading it using the following command: <"d:\Program Files\Raisonance\Ride\bin\Cortex_pgm.exe" TSTM32F103RBT6 E PMyProg.hex> The device seemed to load the app, but windows did NOT recognize the virtual com port of the device.
I tried loading the same program (the same .hex file) using the RIDE - I build a project with that name, built the project, and overwrote the .hex file generated by the RIDE, with the .hex file I created by myself.
When loading the app with the RIDE, everything worked just fine, and windows DID recognize the virtual com port.
What is the difference between the two methods of loading ? and What should I do to load the App from the command line correctly ?
Re: Loading App via RIDE vs loading Appp via Commandline
Hi,
There should be no difference in the programming itself. However, when you use Ride it debugs after programming, and for debugging it configures a few things. Maybe your application needs one of these things to work properly.
Please try to program with Ride, check that the application works, and then see if it still works after power-OFF/power-ON.
The second thing to do is to check that the programming is really the same in both cases. To do that, program the flash using Ride, check that it works, and then dump the full content of the flash to a DumpRide.hex file using command D of cortex_pgm. Then, use cortex_pgm to program myProg.hex to the flash and dump the flash to another DumpCortexPgm.hex file. Then, see if the two dumps are identical. Depending on the result of this test I'll have other questions.
You can also use command V of cortex_pgm to compare directly, and you can also try to use cortex_pgm to program the flash using the hex file that you dumped from the flash after programming it with Ride. All these tests will help us understand the situation in order to find a solution.
Re: Loading App via RIDE vs loading Appp via Commandline
VincentC :
Hi,
There should be no difference in the programming itself. However, when you use Ride it debugs after programming, and for debugging it configures a few things. Maybe your application needs one of these things to work properly.
Please try to program with Ride, check that the application works, and then see if it still works after power-OFF/power-ON.
Yes, It works after Power Off->On
VincentC :
The second thing to do is to check that the programming is really the same in both cases. To do that, program the flash using Ride, check that it works, and then dump the full content of the flash to a DumpRide.hex file using command D of cortex_pgm. Then, use cortex_pgm to program myProg.hex to the flash and dump the flash to another DumpCortexPgm.hex file. Then, see if the two dumps are identical. Depending on the result of this test I'll have other questions.
The files dumped, after programming and dumping back to file, are NOT the same.
Although the .hex file used to load itself is the same (I used the commandine to load the program from the same directory from which the RIDE loads the .hex file to the target)
Re: Loading App via RIDE vs loading Appp via Commandline
VincentC :
Hi,
Which device do you select in the Ride project with which you manage to program?
Do you add some other elf or hex files (circleos, fat, ...) other than your myProject.hex?
Can you please try to reprogram the dumped DumpRide.hex using Cortex_pgm and see if it works? (and Verify the flash against it after prog)
Best Regards,
Vincent
Hi Vincent,
Im sorry for the delayed reply.
The device selected for the project is : STM32F103RBT6
I do not see any other elf or hex files in the project tree. The Circle OS is definetly not loaded (I previosly selected the STM32F103RBT6_CircleOS, but received a message that there would not be enough space on the flash, so I changed to plain STM32F103RBT6).
Re: Loading App via RIDE vs loading Appp via Commandline
Hi
I think you might forget to answer to one of the question. What happens when you program the dump file? I mean after programming your application with Ride7 and verified it is working you can make a dump of the memory and then erase your target and try to program this dump file.
Re: Loading App via RIDE vs loading Appp via Commandline
matloub :
Hi
I think you might forget to answer to one of the question. What happens when you program the dump file? I mean after programming your application with Ride7 and verified it is working you can make a dump of the memory and then erase your target and try to program this dump file.
Regards Matloub
Thanks for your reply.
I tested it, and - The dumped file loaded from the Ride did work (when loaded again with the command line), the Dumped file loaded from the commandline did not work (when loaded again with the command line).
(* if I send you the 3 files, could you figure out the what is the diference between them ? * 3 files : original compiled program, dumped file loaded from comand line, dumped file loaded from Ride) Thanks
Re: Loading App via RIDE vs loading Appp via Commandline
Hi
Yes you can send me the files. Please add to the email the result to another test: Do you have this problem with an example from ride installation or from this website
Re: Loading App via RIDE vs loading Appp via Commandline
matloub :
Hi
Yes you can send me the files. Please add to the email the result to another test: Do you have this problem with an example from ride installation or from this website
Regards Matloub
Thanks.
I have tested with an example and it worked just fine when loaded from the command line.
I did not check any of the examples on the site, since they all use the CircleOS, which I have erased from my device.
I Will send you the files in a short while - Im adding the 3 hex files, and the rapp and rprj files, maybe you could pin point what is being loaded by the RIDE that is skipped when loading from the command line