Hi,
Does anybody know if it is possible to run a simulation, with all its functionality, but without the IDE being launched? (No GUI)
The aim here is to debug the windows application that communicates with this simulated device, and not the device code itself.
If possible, can it be done using the demo version, or do I need to purchase a full software license for it?
Many thanks in advance! Shahar.
I think not.
"The aim here is to debug the windows application that communicates with this simulated device, and not the device code itself."
But why does that preclude use of the GUI?
The uVision Manual tells you how you can start a debugging session from the command line - so you don't have to do it all manually.
How does the device communicate with windows app? If it's a UART link, then just direct the simulated UART to a COM port, and use a Null-modem cable to link that to the Windows App's COM port...
You are absolutely right.
I am already launching the simulation from the command line - and it is indeed easy to configure it to automatically start executing.
As you suspected, the windows application communicates with the simulated device via UART, and I'm using a NULL Modem cable.
The only issue is that I want to reduce the CPU and memory overheads induced by the IDE, which I don't need.
Thanks!
If that's an issue, then you must have a seriously under-specified PC!
I've never had problems running other apps due to the resources used by uVision!
You can, of course, run uVision on a different PC...
Regarding your comment about my PC - I must agree, the situation is indeed serious......
But the thing is I want to run several instances of uVision simulation on a single machine. (My Win application talks to several devices).
Just out of curiosity: The core simulation simulates in my case a C8051F133 (~100Mhz clock) CPU, and is (claimed) to be doing a cycle-accurate simulation. There are no Idle CPU cycles. How can it NOT induce a serious CPU penalty??
Anyhow, I don't know what are the CPU overheads caused directly by IDE/Debugger itself, which is what I wanted to try and find out in the first place.
Regarding the other issue I mentioned before, do you have any idea regarding Keil's licensing fees when it comes to "just running a simulation". (i.e: compiling / debugging is not needed)
Many thanks!
The simulator will process cycle-for-cycle. But that isn't the same as running in real time. If your PC is only fast enough to run the simulation at half real time, then that is what will happen. The simulator output will then count 1 second of real-time execution every 2 seconds wall-time for you.
When the simulation is only tested against debugger test scripts, then they will have their actions scaled accordingly. When mapping a PC serial port into your simulated processor, then you may get into troubles because of processing speed of the virtual system in relation to the expectations of the Windows application that communicates with the virtual machine.
IF the PC can't hack it, why not just use the real target hardware?
AFAIK, the simulator and debugger are integral parts of uVision - they are not available separately.
The reason for not using the real target Hardware is that I have also written a small dll for uVision (using their "AGSI" API) that controls the (simulated) behavior of my on-board peripherals. (e.g: external memory, SPI based devices...)
This approach should (hopefully) allow me to run - automatically - all kinds of scenarios - which is great mainly for my QA-ing purposes...
I hope that my I made that point clear...
Got your last answer. Thanks for your effort and insights! I appreciate it.
Shahar.
I am aware of the time accuracy issue you have mentioned.
Regarding the serial port mapping, I didn't experience actual communication faults, but only slightly delayed replies from the virtual system, compared to the hardware target.
"When the simulation is only tested against debugger test scripts, then they will have their actions scaled accordingly"
Can you please elaborate on that? (If it matters, please note that I don't use those C-scripts that are run from the uVision command line, or from anywhere else.)
Thanks.
View all questions in Keil forum