# Upload and run your custom example

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/cross-platform/ipexplorer/)
- [Run a pre-installed example and compare performance](https://learn.arm.com/learning-paths/cross-platform/ipexplorer/preinstall/)
- [Create a custom example](https://learn.arm.com/learning-paths/cross-platform/ipexplorer/custom1/)
- [Upload and run your custom example](https://learn.arm.com/learning-paths/cross-platform/ipexplorer/custom2/)
- [Next Steps](https://learn.arm.com/learning-paths/cross-platform/ipexplorer/_next-steps/)

## Upload and run example
Return to the `IP Explorer` home page, and select `Simulate Processors`.

The `My Cortex-M0` and `My Cortex-M7` instances you created previously should be listed at the top.

Select `My Cortex-M0` and navigate to `Software Simulation` section. Click `+New` to open the `Start a new Software Simulation` pane.

From the `Select/Upload Software` pulldown, select `+New`.

Browse for the `custom-software.tgz` tarball created previously, and upload.

When processed, select `my_example` from the pulldown.

Select `AC6` (`Arm Compiler for Embedded`) as the compiler, and then click `Run`.

While the Cortex-M0 simulation is being processed, you can repeat for the `My Cortex-M7` system.

**Notifications**  
You will receive email notification when each simulation run is complete.

## Compare results
When execution is complete, you will see a summary of the performance of your application for each system.

The Cortex-M7 used in the simulation includes a Floating-Point Unit (FPU) which could execute the floating point addition directly. The Cortex-M0 used a C library routine.

### Cortex-M0
![Screenshot of IP Explorer simulation results for Cortex-M0 running the custom floating-point benchmark. The results show the processor used a C library software routine for floating-point operations since the Cortex-M0 does not include a hardware FPU, resulting in higher cycle counts.](https://learn.arm.com/learning-paths/cross-platform/ipexplorer/images/m0_custom.png)

### Cortex-M7
![Screenshot of IP Explorer simulation results for Cortex-M7 running the custom floating-point benchmark. The results demonstrate significantly improved performance as the Cortex-M7’s hardware FPU executes floating-point additions directly without requiring software emulation.](https://learn.arm.com/learning-paths/cross-platform/ipexplorer/images/m7_custom.png)

## Show details
To further understand how the code executed, click `Show details`. It provides additional information on how the code executed, as well as output of any `printf()` statements you may have used.
