What is embARC?
embARC is an open software platform that provides a comprehensive software stack for embedded applications, based on industry-leading open source solutions.
embARC leverages the versatility of the DesignWare® ARC® EM Starter Kit to enable rapid software development, code porting, software debugging, and profiling of applications on an FPGA prototype. The platform is extensible using a wide range of Digilent Pmod modules (sensor, WiFi, RF, more) to create a broad range of IoT applications.
What software is included in embARC?
The embARC Open Software Platform offers a complete, IoT-ready software stack for embedded applications, consisting of the following:
- Support for multiple RTOSes choices, based on embedded application requirements
- Networking stack with support for IPv4, IPv6, 6lowPAN and RPL
- IoT communication protocol support including CoAP, MQTT and HTTP/REST
- Shell and file system utilities
- Device drivers for supported platforms
- Utility libraries
- Comprehensive suite of examples to help you get started
What development tools should I use with embARC?
Synopsys's premium toolchain for use with the ARC EM family of processors is the ARC MetaWare Development Toolkit. Licensing information is available at https://www.synopsys.com/dw/ipdir.php?ds=sw_metaware.
Synopsys's free GNU toolchain may also be used for embARC development, but some options and extensions of the configurable ARC EM family of processors may only be supported by the MetaWare Development Toolkit.
What are the differences between the MetaWare tools and the GNU tools for ARC?
The MetaWare Development Toolkit is a complete, highly optimized toolchain (cross-compiler, assembler, linker, and utilities) targeting the ARC CPU portfolio, intended for users looking for a high-quality commercial toolset backed by an industry-leading support team. The tools are available for use from an Eclipse-based IDE or directly from the command line. The MetaWare toolchain also includes a source-level debugger that can be invoked in the IDE or in standalone GUI or command-line modes. The debugger is fully ARC-aware and provides rich profiling capabilities to investigate application hot spots and to assist with size vs speed optimizations. The same debugger interface is used for connecting to the various supported simulators (ranging from RTL simulation through instruction-set simulators) as well as ASIC and FPGA targets. The debugger supports various third-party JTAG probes for connections to hardware targets.
The GNU tools for ARC are an open-source toolset based on GCC and GDB. They are intended for developers targeting the ARC Linux operating system as well as those working on bare-metal systems. Because of the importance of open-source tools in embedded software, Synopsys invests in open source projects, such as GNU and the Linux kernel for ARC processor cores. Synopsys ensures there is up-to-date open source GNU tools support for its processors and is continuously updating and optimizing the ARC GNU toolchain. The ARC GNU toolchain offers all of the benefits of open-source tools, including complete source code and a large install base. The tools include the GCC compiler and GDB debugger as well a number of utilities and libraries that make up a complete software toolchain. The tools are available in source-code format, and also as pre-built executables for both Windows and Linux. The pre-built Windows version includes an Eclipse-based IDE.
What development platforms are available for embARC?
embARC has been ported for use with the DesignWare ARC EM Starter Kit. More information is available from Synopsys at https://www.synopsys.com/dw/ipdir.php?ds=arc_em_starter_kit.
We are also working with community partners to bring silicon-based platforms to embARC.
Do I need a license to use the embARC software?
embARC includes FOSS software from Synopsys as well as several existing FOSS packages. Each package is distributed under its own open-source license. See the Synopsys_FOSS_Notice_embARC for complete license information.
Can I use embARC software in my products?
Use of embARC software in end-customer products is governed by the respective license under which each FOSS package is distributed. See the Synopsys_FOSS_Notice_embARC for complete license information.
What are the plans for future embARC releases?
The embARC software will be updated regularly, with new releases to the community planned at regular intervals. Each release will add additional FOSS titles, target platforms, and bug fixes, based on community feedback.
How do I get support with embARC
Users can ask for help or submit bug reports through the Support discussion on the User Forums.
How can I contribute to embARC?
If you have an enhancement suggestion, you can submit this through the Enhancements discussion on the User Forums. In the future, we may provide a method to submit code contributions to the embARC software.