This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

DS-5 Bare-metal code - Accessing my host NIC card drivers

Hi there, 

Is there any way from DS-5 development studio to access my host NIC ethernet card? 

I want to write a bare metal code (Cortext A9),  creating an ARP packet on DS-5 and I would like to test it if its working with my host NIC Card drivers. 

Is it possible? 

Thanks!

  • In short, it is NOT. Please refer to this URL for details.

      - http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.100953_0528_00_en/deb1360054213489.html 

     

    Also excerpt the descriptions as below

    Using semihosting to access resources on the host computer

    Semihosting is a mechanism that enables code running on an Arm® target or emulator to communicate with and use the Input/Output facilities on a host computer. The host must be running the emulator, or a debugger that is attached to the Armtarget.

    Examples of these facilities include keyboard input, screen output, and disk I/O. For example, you can use this mechanism to enable functions in the C library, such as printf() and scanf(), to use the screen and keyboard of the host instead of having a screen and keyboard on the target system.

    This is useful because development hardware often does not have all the input and output facilities of the final system. Semihosting enables the host computer to provide these facilities.

    Semihosting is implemented by a set of defined software instructions, for example, SVCs, that generate exceptions from program control. The application invokes the appropriate semihosting call and the debug agent then handles the exception. The debug agent provides the required communication with the host.

    Semihosting uses stack base and heap base addresses to determine the location and size of the stack and heap. The stack base, also known as the top of memory, is an address that is by default 64K from the end of the heap base. The heap base is by default contiguous to the application code.

    Semihosting support in DS-5 Development Studio

    The suite of tools in DS-5 Development Studio supports the latest semihosting specification for both AArch64 and AArch32 states on both software models and real target hardware.

    The Semihosting for AArch32 and AArch64 Version 2.0 specification introduces support for semihosting in mixed AArch64 and AArch32 systems by using HLT trap instructions in the A64, A32, and T32 instruction sets.

    • In Arm Compiler v6.6 and later, to build a project using HLT-based semihosting, import the symbol __use_hlt_semihosting. HLT-based semihosting libraries are then selected automatically at link-time.

      See Using the C and C++ libraries with an application in a semihosting environment section in the Arm Compiler Arm C and C++ Libraries and Floating-Point Support User Guide for more information.

    • In Fast Models and FVPs, semihosting is enabled when the semihosting-enable=true option is set. See Configuring the model in the Fixed Virtual Platforms (FVP) Reference Guide for more information.

    • In DS-5 Debugger, semihosting is enabled automatically when an image is loaded that contains the special symbols __auto_semihosting or __semihosting_library_function, or if you explicitly enable semihosting using the set semihosting enabled on command. See the set semihosting command documentation for more information about the command.