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
Unable to build platform
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Open Virtual Platforms Forum Index -> First time - readme
View previous topic :: View next topic  
Author Message
ShenYang



Joined: 07 Aug 2017
Posts: 7

PostPosted: Fri Aug 11, 2017 8:35 pm    Post subject: Unable to build platform Reply with quote

Compile most examples, the system will show the following similar mistakes, which configuration I did not do?
****************************************************
C:\Imperas\Examples\PlatformConstruction\simpleCpuMemory>example.bat
mingw32-make: Entering directory `C:/Imperas/Examples/PlatformConstruction/simpleCpuMemory/application'
# Compiling application.c
# Linking application.OR1K.elf
rm application.o
mingw32-make: Leaving directory `C:/Imperas/Examples/PlatformConstruction/simpleCpuMemory/application'
C:/Imperas/ImperasLib/buildutils/Makefile.module:60: *** missing `endif'. Stop.
mingw32-make: Entering directory `C:/Imperas/Examples/PlatformConstruction/simpleCpuMemory/module'
mingw32-make: Leaving directory `C:/Imperas/Examples/PlatformConstruction/simpleCpuMemory/module'


OVPsim (32-Bit) v20170511.0 Open Virtual Platform simulator from www.OVPworld.org.
Copyright (c) 2005-2017 Imperas Software Ltd. Contains Imperas Proprietary Information.
Licensed Software, All Rights Reserved.
Visit www.IMPERAS.com for multicore debug, verification and analysis solutions.

OVPsim started: Sat Aug 12 11:50:34 2017

Error (MDL_IFNF) Image file 'module/model.dll' not found
Error (OP_FIP) Failed to build platform
Back to top
View user's profile Send private message
ShenYang



Joined: 07 Aug 2017
Posts: 7

PostPosted: Sat Aug 12, 2017 7:33 pm    Post subject: I tried to modify the error, the compiler system has another Reply with quote

I deleted the previous space in "Makefile.platform: 60" and replaced it with TAB. And then use the "sample.bat" compiler, do not report the above error, but the following error (my operating system is win10)
******************************************************
C:\Imperas\Examples\PlatformConstruction\simpleCpuMemory>example.bat
mingw32-make: Entering directory `C:/Imperas/Examples/PlatformConstruction/simpleCpuMemory/application'
mingw32-make: Nothing to be done for `all'.
mingw32-make: Leaving directory `C:/Imperas/Examples/PlatformConstruction/simpleCpuMemory/application'
mingw32-make: Entering directory `C:/Imperas/Examples/PlatformConstruction/simpleCpuMemory/module'
# iGen Create OP MODULE module
# Copying STUBS module.c.igen.stubs to module.c
# Host Compiling Module obj/Windows32/module.o
# Host Linking Module object model.dll
gcc: Internal error: Aborted (program collect2)
Please submit a full bug report.
See <URL> for instructions.
mingw32-make: *** [model.dll] Error 1
mingw32-make: Leaving directory `C:/Imperas/Examples/PlatformConstruction/simpleCpuMemory/module'
Back to top
View user's profile Send private message
ShenYang



Joined: 07 Aug 2017
Posts: 7

PostPosted: Sat Aug 12, 2017 9:33 pm    Post subject: The problem has been solved Reply with quote

The problem has been solved: Win10 does not support, replaced by Win7 just fine, but to re-apply for licensing key
Back to top
View user's profile Send private message
DuncGrah
OVP Technologist
OVP Technologist


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

PostPosted: Tue Aug 22, 2017 3:17 am    Post subject: Reply with quote

I am suspecting that the problems are caused by an MSYS environment problem or a host compiler version problem.

I personally use a Windows 10 laptop machine with OVP installed and do not have any issues working in the MSYS environment when installed as described in the Installation and Getting Started guide
Back to top
View user's profile Send private message Visit poster's website
PriyamvadAcharya



Joined: 25 Sep 2019
Posts: 35

PostPosted: Tue Dec 10, 2019 10:22 pm    Post subject: Unable to build platform Reply with quote

Hello,
I am not able to build my peripheral model.
In simulation log messages it is showing :Error (MDL_IFNF)
I have checked for the above error solution through which I came to know that "model.dll" occurs if simulator is unable to find model.dll file but I have that file inside model directory of my peripheral model.

Below I am showing error which occurs when I run "./example.sh"

zaman@DESKTOP-5105D48 MINGW32
/c/Imperas/Examples/Models/Peripherals/gpio/register
$ ./example.sh
Warning (CHECK_MPV) Multiple Product Versions installed, found
'20190628.0', previously found major version '20191106'. Please check
'C:\Imperas/InstallLog.txt'
Warning (CHECK_MPV) Multiple Product Versions installed, found
'20191106.0', previously found major version '20190628'. Please check
'C:\Imperas/InstallLog.txt'
make: Entering directory
'/c/Imperas/Examples/Models/Peripherals/gpio/register/application'
make: Nothing to be done for 'all'.
make: Leaving directory
'/c/Imperas/Examples/Models/Peripherals/gpio/register/application'
make: Entering directory
'/c/Imperas/Examples/Models/Peripherals/gpio/register/module'
make: Nothing to be done for 'all'.
make: Leaving directory
'/c/Imperas/Examples/Models/Peripherals/gpio/register/module'
make: Entering directory
'/c/Imperas/Examples/Models/Peripherals/gpio/register/peripheral/pse'
make: Nothing to be done for 'all'.
make: Leaving directory
'/c/Imperas/Examples/Models/Peripherals/gpio/register/peripheral/pse'
Warning (LIC_EXP) License feature 'IMP_OVPSIM' will expire in 5 days


OVPsim (32-Bit) v20191106.0 Open Virtual Platform simulator from
www.OVPworld.org.
Copyright (c) 2005-2019 Imperas Software Ltd. Contains Imperas
Proprietary Information.
Licensed Software, All Rights Reserved.
Visit www.IMPERAS.com for multicore debug, verification and analysis
solutions.

OVPsim started: Mon Dec 09 12:18:57 2019



OVPsim (32-Bit) 20191106.0 from www.IMPERAS.com.
Copyright (c) 2005-2019 Imperas Software Ltd. Contains Imperas
Proprietary Information.
Licensed Software, All Rights Reserved.
Visit www.IMPERAS.com for multicore debug, verification and analysis
solutions.

Error (MDL_IFNF) Image file 'int1' not found Fatal (LD_OPE)
opSharedDataListenerUnregister(mi) does not point to a valid object
Info Exiting
Back to top
View user's profile Send private message
DuncGrah
OVP Technologist
OVP Technologist


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

PostPosted: Wed Dec 11, 2019 12:18 am    Post subject: Reply with quote

You should resolve this warning
Quote:
Warning (CHECK_MPV) Multiple Product Versions installed, found
'20190628.0', previously found major version '20191106'. Please check
'C:\Imperas/InstallLog.txt'
Warning (CHECK_MPV) Multiple Product Versions installed, found
'20191106.0', previously found major version '20190628'. Please check
and make sure that only one version of the product is being used!

I would also suggest that you do NOT work within the OVP/Imperas release but instead work in a new direectory. If you un-install the release all your work here will be deleted!

I assume you are intending adding some native code as part of your model?
I would not expect to do this unless you want to interact directly with a native host application/driver. Is this your intension?

In the pse.tcl file you will have indicated that this peripheral model has a native component by adding the flag -extensionfile <name> where name can be a directory in which the model shared object/dll is found or the full path to the model, the simulator tries several ways of locaating the model file.
In your case the simulator cannot find the shared object/dll

You do not show your source code but I would expect a layout similar to that shown in the example Examples\Models\Peripherals\creatingDMAC\5.nativeBehaviour
Have you done this?
Have you built both the pse and model part of the peripheral model?
Back to top
View user's profile Send private message Visit poster's website
PriyamvadAcharya



Joined: 25 Sep 2019
Posts: 35

PostPosted: Wed Dec 11, 2019 1:14 am    Post subject: Unable to build platform Reply with quote

Hello DuncGraph,
I want to share gpio peripheral model with you so that you can run and check what is the reason for error while building it.

Please provide your e-mail where I can share files

Thanks,
Priyamvad Acharya
Back to top
View user's profile Send private message
DuncGrah
OVP Technologist
OVP Technologist


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

PostPosted: Wed Dec 11, 2019 1:21 am    Post subject: Reply with quote

I have sent you an email
Back to top
View user's profile Send private message Visit poster's website
PriyamvadAcharya



Joined: 25 Sep 2019
Posts: 35

PostPosted: Wed Dec 11, 2019 1:47 am    Post subject: Reply with quote

DuncGrah wrote:
I have sent you an email
I have sent you peripheral model code at <address>.

Thanks,
Priyamvad
Back to top
View user's profile Send private message
DuncGrah
OVP Technologist
OVP Technologist


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

PostPosted: Wed Dec 11, 2019 11:43 pm    Post subject: Reply with quote

This is a very simple GPIO model that you are trying to create. Please have a look at one of the existing GPIO models which may help you.

If you open IMPERAS_HOME/ImperasLib/libraryREADME.html and select GPIO you will get a list of all the peripheral models that provide GPIO functionality.

In particular, please look at models in ImperasLib/source with VLNV references:
xilinx.ovpworld.org\peripheral\axi-gpio\1.0
xilinx.ovpworld.org\peripheral\zynq_7000-gpio
sifive.ovpworld.org\peripheral\gpio\1.0
Back to top
View user's profile Send private message Visit poster's website
PriyamvadAcharya



Joined: 25 Sep 2019
Posts: 35

PostPosted: Thu Dec 12, 2019 3:06 am    Post subject: Unable to build platform Reply with quote

Hey DuncGraph,
Have you run my gpio peripheral model code in your machine?
What are the possible reasons for below error?

Quote:

OVPsim (32-Bit) 20191106.0 from www.IMPERAS.com.
Copyright (c) 2005-2019 Imperas Software Ltd. Contains Imperas
Proprietary Information.
Licensed Software, All Rights Reserved.
Visit www.IMPERAS.com for multicore debug, verification and analysis
solutions.

Error (MDL_IFNF) Image file 'int1' not found Fatal (LD_OPE)
opSharedDataListenerUnregister(mi) does not point to a valid object
Info Exiting



Thanks,
Priyamvad
Back to top
View user's profile Send private message
PriyamvadAcharya



Joined: 25 Sep 2019
Posts: 35

PostPosted: Thu Dec 12, 2019 3:41 am    Post subject: Gpio Peripheral Modelling Reply with quote

DuncGrah wrote:
This is a very simple GPIO model that you are trying to create. Please have a look at one of the existing GPIO models which may help you.

If you open IMPERAS_HOME/ImperasLib/libraryREADME.html and select GPIO you will get a list of all the peripheral models that provide GPIO functionality.

In particular, please look at models in ImperasLib/source with VLNV references:
xilinx.ovpworld.org\peripheral\axi-gpio\1.0
xilinx.ovpworld.org\peripheral\zynq_7000-gpio
sifive.ovpworld.org\peripheral\gpio\1.0


Hi DuncGraph,

Thanks for sharing the references to understand gpio peripheral model.
From the examples of gpio peripheral model,what I understand is that we can use nets to inculcate gpio pins functionality in C model of peripheral.
But all these can be done in peripheral modelling code.

What I don't understand is that if user write some code to test peripheral from application layer then how can he write into these nets from application layer code?
Back to top
View user's profile Send private message
DuncGrah
OVP Technologist
OVP Technologist


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

PostPosted: Thu Dec 12, 2019 5:00 am    Post subject: Reply with quote

Think of the hardware that the virtual platform represents ;-)

On the hardware the GPIO pins are connected to wires that go somewhere, software cannot see these wires! On the virtual platform the wires are represented by nets, there is no change in what the software can see.

On the hardware if you want to see the values and interact with the GPIO input and output you may add switches, LEDs or other hardware; again this is the same on the virtual platform.

On the virtual platform you can create a test harness to monitor or change nets (see Examples/SimulationControl/monitoringNets and other OP API functions for accessing Nets) or you can use visualisation to add LEDs and switches (see Examples/Models/Peripherals/visualization/switch_led) or you can add additional hardware (for example another GPIO peripheral) that the application software can access to obtain the state of the GPIO signals (nets).
Back to top
View user's profile Send private message Visit poster's website
PriyamvadAcharya



Joined: 25 Sep 2019
Posts: 35

PostPosted: Mon Dec 16, 2019 11:23 pm    Post subject: Reply with quote

DuncGrah wrote:
Think of the hardware that the virtual platform represents ;-)

On the hardware the GPIO pins are connected to wires that go somewhere, software cannot see these wires! On the virtual platform the wires are represented by nets, there is no change in what the software can see.

On the hardware if you want to see the values and interact with the GPIO input and output you may add switches, LEDs or other hardware; again this is the same on the virtual platform.

On the virtual platform you can create a test harness to monitor or change nets (see Examples/SimulationControl/monitoringNets and other OP API functions for accessing Nets) or you can use visualisation to add LEDs and switches (see Examples/Models/Peripherals/visualization/switch_led) or you can add additional hardware (for example another GPIO peripheral) that the application software can access to obtain the state of the GPIO signals (nets).


Hello DuncGraph,
I have checked the example given in Examples/SimulationControl/monitoringNets and understood it.

In Below OVP simulator output shown:-


Code:

OVPsim (32-Bit) v20190628.0 Open Virtual Platform simulator from www.OVPworld.org.
Copyright (c) 2005-2019 Imperas Software Ltd.  Contains Imperas Proprietary Information.
Licensed Software, All Rights Reserved.
Visit www.IMPERAS.com for multicore debug, verification and analysis solutions.

///////////////////////////////////////////////////////////////

OVPsim started: Tue Dec 17 12:22:41 2019


monitorNets(simpleHierarchy/write0to1)
monitorNets(simpleHierarchy/write1to0)
[application1] Initializing KinetisUART
[application1]  Reading from uart

[application0] Initializing KinetisUART
[application0]  Writing to uart

netCallback(write0to1) = H
netCallback(write0to1) = e
netCallback(write0to1) = l
netCallback(write0to1) = l
netCallback(write0to1) = o
netCallback(write0to1) =
netCallback(write0to1) = U
netCallback(write0to1) = A
netCallback(write0to1) = R
netCallback(write0to1) = T
netCallback(write0to1) =
netCallback(write0to1) = w
netCallback(write0to1) = o
netCallback(write0to1) = r
netCallback(write0to1) = l
netCallback(write0to1) = d
netCallback(write0to1) =

Hello UART world
netCallback(write0to1) =


netCallback(write0to1) = x
[application1]  Read termination char(x) from uart

///////////////////////////////////////////////////////////////////

How the net callback gets called when user writes "Hello UART world" from application?
Is net callback is mapped to some address in application layer?

Hope you understand what I am trying to ask

Thanks,
Priyamvad
Back to top
View user's profile Send private message
PriyamvadAcharya



Joined: 25 Sep 2019
Posts: 35

PostPosted: Mon Dec 16, 2019 11:30 pm    Post subject: Reply with quote

DuncGrah wrote:
Think of the hardware that the virtual platform represents ;-)

On the hardware the GPIO pins are connected to wires that go somewhere, software cannot see these wires! On the virtual platform the wires are represented by nets, there is no change in what the software can see.

On the hardware if you want to see the values and interact with the GPIO input and output you may add switches, LEDs or other hardware; again this is the same on the virtual platform.

On the virtual platform you can create a test harness to monitor or change nets (see Examples/SimulationControl/monitoringNets and other OP API functions for accessing Nets) or you can use visualisation to add LEDs and switches (see Examples/Models/Peripherals/visualization/switch_led) or you can add additional hardware (for example another GPIO peripheral) that the application software can access to obtain the state of the GPIO signals (nets).


Hello DuncGraph,
Please ignore previous message as it was wrong.
Please go through current message.

I have checked the example given in Examples/SimulationControl/monitoringNets and understood it but have some doubts.

In Below OVP simulator output shown:-

////////////////////////////////////////////////////////////////////////
Quote:

OVPsim (32-Bit) v20190628.0 Open Virtual Platform simulator from www.OVPworld.org.
Copyright (c) 2005-2019 Imperas Software Ltd. Contains Imperas Proprietary Information.
Licensed Software, All Rights Reserved.
Visit www.IMPERAS.com for multicore debug, verification and analysis solutions.

OVPsim started: Tue Dec 17 12:22:41 2019


monitorNets(simpleHierarchy/write0to1)
monitorNets(simpleHierarchy/write1to0)
[application1] Initializing KinetisUART
[application1] Reading from uart

[application0] Initializing KinetisUART
[application0] Writing to uart

netCallback(write0to1) = H
netCallback(write0to1) = e
netCallback(write0to1) = l
netCallback(write0to1) = l
netCallback(write0to1) = o
netCallback(write0to1) =
netCallback(write0to1) = U
netCallback(write0to1) = A
netCallback(write0to1) = R
netCallback(write0to1) = T
netCallback(write0to1) =
netCallback(write0to1) = w
netCallback(write0to1) = o
netCallback(write0to1) = r
netCallback(write0to1) = l
netCallback(write0to1) = d
netCallback(write0to1) =

Hello UART world
netCallback(write0to1) =


netCallback(write0to1) = x
[application1] Read termination char(x) from uart


OVPsim finished: Tue Dec 17 12:22:42 2019


I have following doubts
-How net callback gets called when application writes "Hello UART World"?
-Is there is some kind of address mapping of application with net callback?

Hope you understood my question?

Thanks,
Priyamvad
R&D Engineer
Agnisys Inc[/code]
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
Goto page 1, 2  Next
Page 1 of 2

 
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