OVP Forums - A community of assistance, help, questions, and answers.
|
View previous topic :: View next topic |
Author |
Message |
GuilhemT
Joined: 05 Mar 2014 Posts: 12 Location: Gennevilliers
|
Posted: Thu Mar 13, 2014 5:19 am Post subject: Where can I download the ICM API ? |
|
|
Hello everybody,
All I want is in the title. I don't find a download link for the ICM API....
I just want to give a glance at this APi in order to understand how it works.
Hope you can help me
Regards,
Guilhem |
|
Back to top |
|
 |
LeeMoore OVP Technologist

Joined: 27 Feb 2008 Posts: 633
|
|
Back to top |
|
 |
GuilhemT
Joined: 05 Mar 2014 Posts: 12 Location: Gennevilliers
|
Posted: Thu Mar 13, 2014 7:19 am Post subject: |
|
|
Hi Lee,
Thanks for the answer.
I've already read this PDF file but if I understand the only thing I can try is the OVPSim ? ICM API is for customer version only ? |
|
Back to top |
|
 |
LarryL
Joined: 26 Feb 2008 Posts: 117
|
Posted: Thu Mar 13, 2014 6:42 pm Post subject: |
|
|
Hi Guilhem,
All of the demos on the OVP website use the ICM API for creating the virtual platform. One place to go to get the platform files which utilize the ICM API is the OVP Library. A good place is the Platforms area within the Library, at http://www.ovpworld.org/library/wikka.php?wakka=CategoryPlatform. You can download the source for the various platforms from the Library, and make changes to the platform using the ICM API, if you want.
Larry _________________ Larry Lapides
Imperas |
|
Back to top |
|
 |
GuilhemT
Joined: 05 Mar 2014 Posts: 12 Location: Gennevilliers
|
Posted: Wed Mar 19, 2014 12:56 am Post subject: |
|
|
Hi Larry,
Thank you for answering me. It there's still a lot of things I don't understand and after reading the documentation it's mentioned that "In the OVP web site there are presentations and videos available demonstrating ICM usage".
But in the videos area none shows the use of ICM....
Have you more details about it ?
Guilhem |
|
Back to top |
|
 |
DuncGrah OVP Technologist

Joined: 27 Feb 2008 Posts: 1643 Location: United Kingdom
|
Posted: Thu Mar 20, 2014 6:10 am Post subject: |
|
|
The ICM API is used to create a virtual platform by instancing components and connecting them together using buses. It is also used to control and inspect the simulation and the models of the components (processors and peripherals).
Have a look at the examples in Imperas/Examples/Platforms when you have installed the OVPsim product package.
All of these examples use the ICM API. |
|
Back to top |
|
 |
GuilhemT
Joined: 05 Mar 2014 Posts: 12 Location: Gennevilliers
|
Posted: Thu Mar 20, 2014 6:29 am Post subject: |
|
|
Thanks to your answer I understand now how ICM API works.
But I have still another question : When you instanciated a processor, is it the ELF file that you load which define the type and behaviour of the processor ?
Thanks a lot for your help
Guilhem |
|
Back to top |
|
 |
DuncGrah OVP Technologist

Joined: 27 Feb 2008 Posts: 1643 Location: United Kingdom
|
Posted: Thu Mar 20, 2014 7:12 am Post subject: |
|
|
In the OVPsim (or Imperas) installation you will be provided with some Demonstration examples. Have a look at the platform description, Imperas/Demo/OVPsim_arm/OVPsim_arm.c in which you will find a processor model being configured
Code: | char *variant = "Cortex-A9UP"; // the model variant (default)
.. snip ...
const char *armModel = icmGetVlnvString(NULL, "arm.ovpworld.org", "processor", "arm", "1.0", "model");
const char *armSemihost = icmGetVlnvString(NULL, "arm.ovpworld.org", "semihosting", "armNewlib", "1.0", "model");
icmAttrListP icmAttr = icmNewAttrList();
icmAddStringAttr(icmAttr, "endian", "little");
icmAddStringAttr(icmAttr, "compatibility", "nopSVC");
icmAddStringAttr(icmAttr, "variant", variant);
icmAddStringAttr(icmAttr, "UAL", "1");
// create a processor instance
icmProcessorP processor = icmNewProcessor(
"cpu0", // CPU name
"arm", // CPU type
0, // CPU cpuId
0, // CPU model flags
32, // address bits
armModel, // model file
"modelAttrs", // morpher attributes
SIM_ATTRS, // attributes
icmAttr, // user-defined attributes
armSemihost, // semi-hosting file
"modelAttrs" // semi-hosting attributes
);
|
This is further described in the OVPsim and CpuManager User Guide and other documentation. |
|
Back to top |
|
 |
GuilhemT
Joined: 05 Mar 2014 Posts: 12 Location: Gennevilliers
|
Posted: Thu Mar 20, 2014 8:25 am Post subject: |
|
|
You have helped a lot. Thank you very much, you can put the topic as "solved" if you want/can. |
|
Back to top |
|
 |
GuilhemT
Joined: 05 Mar 2014 Posts: 12 Location: Gennevilliers
|
Posted: Thu Mar 20, 2014 8:25 am Post subject: |
|
|
You have helped me a lot. Thank you very much, you can put the topic as "solved" if you want/can. |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Information regarding OVP © 2008-2022 Imperas Software
|