OVP Forums - A community of assistance, help, questions, and answers.
|
View previous topic :: View next topic |
Author |
Message |
ShenYang
Joined: 07 Aug 2017 Posts: 7
|
Posted: Fri Aug 11, 2017 8:35 pm Post subject: Unable to build platform |
|
|
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 |
|
 |
ShenYang
Joined: 07 Aug 2017 Posts: 7
|
Posted: Sat Aug 12, 2017 7:33 pm Post subject: I tried to modify the error, the compiler system has another |
|
|
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 |
|
 |
ShenYang
Joined: 07 Aug 2017 Posts: 7
|
Posted: Sat Aug 12, 2017 9:33 pm Post subject: The problem has been solved |
|
|
The problem has been solved: Win10 does not support, replaced by Win7 just fine, but to re-apply for licensing key |
|
Back to top |
|
 |
DuncGrah OVP Technologist

Joined: 27 Feb 2008 Posts: 1654 Location: United Kingdom
|
Posted: Tue Aug 22, 2017 3:17 am Post subject: |
|
|
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 |
|
 |
PriyamvadAcharya
Joined: 25 Sep 2019 Posts: 35
|
Posted: Tue Dec 10, 2019 10:22 pm Post subject: Unable to build platform |
|
|
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 |
|
 |
DuncGrah OVP Technologist

Joined: 27 Feb 2008 Posts: 1654 Location: United Kingdom
|
Posted: Wed Dec 11, 2019 12:18 am Post subject: |
|
|
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 |
|
 |
PriyamvadAcharya
Joined: 25 Sep 2019 Posts: 35
|
Posted: Wed Dec 11, 2019 1:14 am Post subject: Unable to build platform |
|
|
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 |
|
 |
DuncGrah OVP Technologist

Joined: 27 Feb 2008 Posts: 1654 Location: United Kingdom
|
Posted: Wed Dec 11, 2019 1:21 am Post subject: |
|
|
I have sent you an email |
|
Back to top |
|
 |
PriyamvadAcharya
Joined: 25 Sep 2019 Posts: 35
|
Posted: Wed Dec 11, 2019 1:47 am Post subject: |
|
|
DuncGrah wrote: | I have sent you an email | I have sent you peripheral model code at <address>.
Thanks,
Priyamvad |
|
Back to top |
|
 |
DuncGrah OVP Technologist

Joined: 27 Feb 2008 Posts: 1654 Location: United Kingdom
|
Posted: Wed Dec 11, 2019 11:43 pm Post subject: |
|
|
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 |
|
 |
PriyamvadAcharya
Joined: 25 Sep 2019 Posts: 35
|
Posted: Thu Dec 12, 2019 3:06 am Post subject: Unable to build platform |
|
|
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 |
|
 |
PriyamvadAcharya
Joined: 25 Sep 2019 Posts: 35
|
Posted: Thu Dec 12, 2019 3:41 am Post subject: Gpio Peripheral Modelling |
|
|
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 |
|
 |
DuncGrah OVP Technologist

Joined: 27 Feb 2008 Posts: 1654 Location: United Kingdom
|
Posted: Thu Dec 12, 2019 5:00 am Post subject: |
|
|
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 |
|
 |
PriyamvadAcharya
Joined: 25 Sep 2019 Posts: 35
|
Posted: Mon Dec 16, 2019 11:23 pm Post subject: |
|
|
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 |
|
 |
PriyamvadAcharya
Joined: 25 Sep 2019 Posts: 35
|
Posted: Mon Dec 16, 2019 11:30 pm Post subject: |
|
|
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 |
|
 |
|
|
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
|