OVP Forums - A community of assistance, help, questions, and answers.
  FAQFAQ    SearchSearch      RegisterRegister  ProfileProfile    Log in to check your private messagesLog in to check your private messages    Log inLog in
Where can I download the ICM API ?

 
Post new topic   Reply to topic    Open Virtual Platforms Forum Index -> First time - readme
View previous topic :: View next topic  
Author Message
GuilhemT



Joined: 05 Mar 2014
Posts: 12
Location: Gennevilliers

PostPosted: Thu Mar 13, 2014 5:19 am    Post subject: Where can I download the ICM API ? Reply with quote

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
View user's profile Send private message
LeeMoore
OVP Technologist
OVP Technologist


Joined: 27 Feb 2008
Posts: 633

PostPosted: Thu Mar 13, 2014 6:39 am    Post subject: Reply with quote

Hi Guilhem

From the Forum at the top of the page click "Documentation",

from here you will see a link to
Creating, Modifying, and compiling platforms using the OVP ICM API

http://www.ovpworld.org/creating-modifying-and-compiling-platforms-using-the-ovp-icm-api

This contains the PDF file

Thx
Lee
Back to top
View user's profile Send private message
GuilhemT



Joined: 05 Mar 2014
Posts: 12
Location: Gennevilliers

PostPosted: Thu Mar 13, 2014 7:19 am    Post subject: Reply with quote

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
View user's profile Send private message
LarryL



Joined: 26 Feb 2008
Posts: 115

PostPosted: Thu Mar 13, 2014 6:42 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail
GuilhemT



Joined: 05 Mar 2014
Posts: 12
Location: Gennevilliers

PostPosted: Wed Mar 19, 2014 12:56 am    Post subject: Reply with quote

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
View user's profile Send private message
DuncGrah
OVP Technologist
OVP Technologist


Joined: 27 Feb 2008
Posts: 1639
Location: United Kingdom

PostPosted: Thu Mar 20, 2014 6:10 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
GuilhemT



Joined: 05 Mar 2014
Posts: 12
Location: Gennevilliers

PostPosted: Thu Mar 20, 2014 6:29 am    Post subject: Reply with quote

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
View user's profile Send private message
DuncGrah
OVP Technologist
OVP Technologist


Joined: 27 Feb 2008
Posts: 1639
Location: United Kingdom

PostPosted: Thu Mar 20, 2014 7:12 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
GuilhemT



Joined: 05 Mar 2014
Posts: 12
Location: Gennevilliers

PostPosted: Thu Mar 20, 2014 8:25 am    Post subject: Reply with quote

You have helped a lot. Thank you very much, you can put the topic as "solved" if you want/can.
Back to top
View user's profile Send private message
GuilhemT



Joined: 05 Mar 2014
Posts: 12
Location: Gennevilliers

PostPosted: Thu Mar 20, 2014 8:25 am    Post subject: Reply with quote

You have helped me a lot. Thank you very much, you can put the topic as "solved" if you want/can.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Open Virtual Platforms Forum Index -> First time - readme All times are GMT - 8 Hours
Page 1 of 1

 
Jump to:  
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