KR20110037140A - System for providing virtual development environment for embedded software - Google Patents

System for providing virtual development environment for embedded software Download PDF

Info

Publication number
KR20110037140A
KR20110037140A KR1020090094438A KR20090094438A KR20110037140A KR 20110037140 A KR20110037140 A KR 20110037140A KR 1020090094438 A KR1020090094438 A KR 1020090094438A KR 20090094438 A KR20090094438 A KR 20090094438A KR 20110037140 A KR20110037140 A KR 20110037140A
Authority
KR
South Korea
Prior art keywords
virtual
software
component
platform
virtual platform
Prior art date
Application number
KR1020090094438A
Other languages
Korean (ko)
Inventor
권진백
Original Assignee
선문대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 선문대학교 산학협력단 filed Critical 선문대학교 산학협력단
Priority to KR1020090094438A priority Critical patent/KR20110037140A/en
Publication of KR20110037140A publication Critical patent/KR20110037140A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE: A system providing an embedded software virtual development environment is provided to develop embedded software which will be executed in target hardware on a produced virtual platform. CONSTITUTION: An eclipse platform(10) provides an integrated development environment. A component developing unit(40) develops component which configures a virtual platform. A configuration file generating unit(50) generates a configuring file. A SID(Simulation Identification) framework(20) manufactures the virtual platform. An image generating unit(60) writes software which will execute on the virtual platform. A debugger(70) performs debugging software.

Description

System for providing embedded software virtual development environment {SYSTEM FOR PROVIDING VIRTUAL DEVELOPMENT ENVIRONMENT FOR EMBEDDED SOFTWARE}

The present invention relates to a system for providing an embedded software virtual development environment, and more particularly, an embedded software virtual development environment that enables a virtual platform to be manufactured according to a given target hardware specification, and to develop embedded software to be executed on target hardware on the created virtual platform. It relates to a system for providing a.

An embedded system is a device that embeds a microprocessor or microcontroller to perform only the functions specified by the original manufacturer. Generally, an embedded system is a specific application that includes hardware and software to perform special tasks as part of a larger system. Say the system.

Such embedded systems are used in various application fields, such as factory automation, home automation, robot control, process control including process control, terminal device fields including mobile phones, PDAs, smartphones, LBSs, printers, Internet refrigerators, and game machines. , Information appliances including HDTVs, network devices including switchboards, routers, home servers, home gateways, and the like.

As described above, embedded systems are becoming more advanced in hardware specifications with advanced technology.

In order to secure market competitiveness, embedded system products must be manufactured to reflect user demands and be released quickly. Embedded system developers use design and test tools for rapid product development.

However, these tools have not developed as fast as the development of hardware components. To bridge this gap, the target system's simulation tools are used to simulate the target platform, or virtual platform, which allows embedded software developers to analyze and test their software on the virtual platform without having to wait for the development of real hardware. Will be.

Conventional simulation systems include SimOS, SkyEye, QEMU, and SID. SimOS is a simulation environment developed for the hardware and software research of computer systems. It mainly specializes in collecting statistical data on simulated behaviors. Simulate ARM-based processors and GDB / Armulator-based development boards, QEMU supports various processors and development boards such as x86, powerPC, SPARC, ARM, etc., and SID is a framework for creating virtual platforms. Consists of a set of weakly coupled components and defines a component interface, allowing the addition of new components.

Among them, SID and SimOS provide a reconfigurable simulation environment that allows users to build virtual target platforms according to target hardware specifications.

However, the conventional simulation system performs a function as a pure simulator and does not provide an integrated development environment such as an editor, a debugger, a compiler, etc. for a software developer, and therefore, there is a problem in that hardware and software cannot be developed at the same time.

SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and to produce a virtual platform according to a given target hardware specification, and to develop embedded software to be executed on the target hardware on the produced virtual platform, so that hardware and software can be developed simultaneously. The purpose is to provide a system that provides an embedded software virtual development environment.

The system for providing an embedded software virtual development environment according to an embodiment of the present invention for achieving the above object provides an integrated development environment, but has a plug-in structure, thereby serving as an integrated point of a plurality of tools. Eclipse platform for performing the; A plug-in provided by the Eclipse platform, the C / C ++ development unit including tools for developing a C / C ++ program; A component development unit which is plugged into the C / C ++ development unit, and develops a component to configure a virtual platform based on source code input from a developer according to a target hardware specification; A configuration file generation unit configured to generate a configuration file based on information about each component name and interconnection relationship received from a developer; A SID framework for loading the components into memory and associating with each other to create a virtual platform as specified in the configuration file; An image generator which plugs into the C / C ++ development unit, creates software to be executed on the virtual platform based on source code input from a developer according to a software specification, and outputs it as an execution image; A debugger plugged into the C / C ++ development unit, for loading the execution image onto the virtual platform and controlling the execution to debug the software; It is preferable to include a system monitor showing the property values of all components included in the currently running virtual platform.

Further, the SID framework, the component storage unit for storing the component developed through the component development unit in the form of a library; It is preferable to include a SID simulation activation unit for loading components into a memory and connecting them together to activate a virtual platform as specified in the configuration file.

In addition, the image generation unit, it is preferable to provide a cross-development environment using the GNU cross toolchain (cross toolchain).

According to the system for providing an embedded software virtual development environment of the present invention, a virtual platform can be manufactured according to a given target hardware specification, and embedded software to be executed on the target hardware on the created virtual platform can be developed at the same time. do. This reduces market timeliness and improves the competitiveness of embedded system products. In addition, since the program is already open, development costs can be lowered.

Hereinafter, a system for providing an embedded software virtual development environment according to a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.

1 is a view schematically showing the configuration of a system for providing an embedded software virtual development environment according to an embodiment of the present invention.

First, in FIG. 1, the Eclipse platform 10 is a platform that provides an integrated development environment, and has a plug-in structure, and serves as an integration point of a plurality of tools.

As described above, since the Eclipse platform 10 has a plug-in structure, it is possible to implement a tool or application as an Eclipse plug-in. This allows them to integrate with other tools or applications based on the Eclipse platform 10.

The C / C ++ development tool (hereinafter referred to as 'CDT') 30 is a plug-in provided by the Eclipse platform 10 and includes tools for developing C / C ++ programs.

The component development tool 40 is plugged into the CDT 30, and develops a component that composes a virtual platform based on source code input from a developer according to a target hardware specification.

Components developed by the component development unit 40 are stored in a component storage unit (Component Pool) 23 in the form of a library.

The configuration builder 50 receives information about the name of each component and the interconnection relationship of the components from the developer, and based on the input name and the interconnection relationship of each component, all components and components Create a configuration file describing the interconnections between them.

Meanwhile, the simulation identification (SID) framework 20 loads the components into memory and connects them to each other as specified in the configuration file generated by the configuration file generator 50 to activate the virtual platform.

As described above, the SID framework 20 includes a component storage unit 23 for storing components developed through the component development unit 40 in a library form, and loads the components in a memory as described in a configuration file and connects them to each other to form a virtual. SID simulation activation unit 25 for activating the platform is made.

As described above, the virtual platform activated by the SID simulation activation unit 25 is made up of a connection of components, and the components include hardware components, software components, various devices, control and external interfaces, and the like.

On the other hand, the image generating unit 60 is plugged into the CDT 30 to provide a cross-development environment, based on the source code input from the developer according to the software specification to create the software to be executed on the virtual platform, the created software virtual platform Outputs an executable image that can be run on the system.

In general, the host platform for developing embedded software is different from the target platform on which it runs. As such, an embedded software development environment must be able to create an executable image that can run on a target platform other than the host, which is called a cross development environment.

As described above, the image generator 60 preferably provides a cross development environment by using a GNU cross toolchain such as arm-elf-gcc, arm-elf-as, and the like.

Meanwhile, the GDB (GNU Debugger) 70 is a standard platform debugger of GNU, which is plugged into the CDT 30, and the virtual platform activated by the SID simulation activator 25 activates the execution image generated through the image generator 60. Debug the software by controlling the execution of the executable image loaded on the virtual platform.

In addition, the system monitor 80 displays property values such as pins, registers, and the like of all components included in the currently running virtual platform, so that the user can observe the state of each component of the virtual platform.

Hereinafter, an operation process of developing embedded software using a system for providing an embedded software virtual development environment according to an embodiment of the present invention will be described with reference to FIG. 2.

First, a developer develops a component to configure a virtual platform according to a target hardware specification through a component development unit 40 plugged into the CDT 30. The component development unit 40 plugged into the CDT 30 targets the target. According to the hardware specification, the component that composes the virtual platform is created based on the source code input from the developer.

As such, the components generated by the component development unit 40 and the CDT 30 are stored in the component storage unit 23 mounted in the SID framework 20.

Then, the developer inputs the information of the names of each component and the interconnection relationship between the components in order to generate a configuration file describing the interconnection relationship between the component and the component according to the target hardware specification through the configuration file generation unit 50 The configuration file generation unit 50 generates a configuration file describing all components and interconnections between components based on the names and interconnections of each component input from the developer.

Thereafter, the developer generates software to be executed on the virtual platform according to the target software specification through the image generation unit 60 plugged into the CDT 30. The image generation unit 60 plugged into the CDT 30 According to the software specification, the software to be executed on the virtual platform is created based on the source code input from the developer, and the created software is output as an executable image that can be executed on the virtual platform.

As described above, after the component, the configuration file and the execution image to be executed on the virtual platform are generated, the components are loaded into the memory as specified in the configuration file through the SID simulation activation unit 25 and connected to each other to activate the virtual platform. After loading, the execution image is loaded on the virtual platform through the GDB 70, and the software is debugged by controlling the execution of the execution image loaded on the virtual platform.

The system for providing an embedded software virtual development environment of the present invention is not limited to the above-described embodiments and can be modified and implemented in various ways within the scope of the technical idea of the present invention.

1 is a view schematically showing the configuration of a system for providing an embedded software virtual development environment according to an embodiment of the present invention.

2 is a view for explaining an operation process for developing embedded software using a system for providing an embedded software virtual development environment according to an embodiment of the present invention.

*** Explanation of symbols for the main parts of the drawing ***

10. Eclipse platform, 20. SID framework,

23. Component storage section, 25. SID simulation activation section,

30. C / C ++ Development Tools, 40. Component Development Department,

50. configuration file generator, 60. image generator,

70.GDB (GNU Debugger), 80. System Monitor

Claims (3)

An Eclipse platform that provides an integrated development environment but has a plug-in structure and serves as an integration point for multiple tools; A plug-in provided by the Eclipse platform, the C / C ++ development unit including tools for developing a C / C ++ program; A component development unit which is plugged into the C / C ++ development unit, and develops a component to configure a virtual platform based on source code input from a developer according to a target hardware specification; A configuration file generation unit configured to generate a configuration file based on information about each component name and interconnection relationship received from a developer; A SID framework for loading the components into memory and associating with each other to create a virtual platform as specified in the configuration file; An image generator which plugs into the C / C ++ development unit, creates software to be executed on the virtual platform based on source code input from a developer according to a software specification, and outputs it as an execution image; A debugger plugged into the C / C ++ development unit, for loading the execution image onto the virtual platform and controlling the execution to debug the software; A system for providing an embedded software virtual development environment including a system monitor showing property values of all components included in a currently running virtual platform. The method of claim 1, wherein the SID framework, A component storage unit for storing a component developed through the component development unit in a library form; And a SID simulation activation unit configured to load components into a memory and connect them to each other to activate a virtual platform as specified in the configuration file. The method of claim 1, wherein the image generating unit, A system for providing an embedded software virtual development environment, characterized by providing a cross development environment using GNU cross toolchain.
KR1020090094438A 2009-10-06 2009-10-06 System for providing virtual development environment for embedded software KR20110037140A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090094438A KR20110037140A (en) 2009-10-06 2009-10-06 System for providing virtual development environment for embedded software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090094438A KR20110037140A (en) 2009-10-06 2009-10-06 System for providing virtual development environment for embedded software

Publications (1)

Publication Number Publication Date
KR20110037140A true KR20110037140A (en) 2011-04-13

Family

ID=44044667

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090094438A KR20110037140A (en) 2009-10-06 2009-10-06 System for providing virtual development environment for embedded software

Country Status (1)

Country Link
KR (1) KR20110037140A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101459299B1 (en) * 2012-10-22 2014-11-07 주식회사 비디 Apparatus ofautomating software development for smart device, method of the same and storage media storing the same
US8930905B2 (en) 2012-03-05 2015-01-06 Samsung Electronics Co., Ltd. System and method for providing a guideline for optimizing platform
KR20170065965A (en) * 2015-12-04 2017-06-14 전자부품연구원 Embedded hardware development and verification framework based on virtualization
KR20190075508A (en) 2017-12-21 2019-07-01 주식회사 팝콘사 Computing system and method for automatically generating embedded software on virtualized system
CN112597006A (en) * 2020-12-14 2021-04-02 中国航发控制系统研究所 Embedded software integration test automatic execution system and method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8930905B2 (en) 2012-03-05 2015-01-06 Samsung Electronics Co., Ltd. System and method for providing a guideline for optimizing platform
KR101459299B1 (en) * 2012-10-22 2014-11-07 주식회사 비디 Apparatus ofautomating software development for smart device, method of the same and storage media storing the same
KR20170065965A (en) * 2015-12-04 2017-06-14 전자부품연구원 Embedded hardware development and verification framework based on virtualization
KR20190075508A (en) 2017-12-21 2019-07-01 주식회사 팝콘사 Computing system and method for automatically generating embedded software on virtualized system
CN112597006A (en) * 2020-12-14 2021-04-02 中国航发控制系统研究所 Embedded software integration test automatic execution system and method
CN112597006B (en) * 2020-12-14 2023-10-03 中国航发控制系统研究所 Automatic execution system and method for embedded software integrated test

Similar Documents

Publication Publication Date Title
JP2019516167A5 (en)
US9898388B2 (en) Non-intrusive software verification
CN101630258A (en) Embedded Linux software integration development system on Windows platform and construction method thereof
Nayyar An encyclopedia coverage of compiler's, programmer's & simulator's for 8051, pic, avr, arm, arduino embedded technologies
Woskowski Applying industrial-strength testing techniques to critical care medical equipment
KR20110037140A (en) System for providing virtual development environment for embedded software
US9117018B2 (en) Method of debugging software and corresponding computer program product
CN117422026A (en) RISC-V architecture-based processor verification system
Iyenghar et al. Towards model-based test automation for embedded systems using UML and UTP
Forin et al. Giano: The two-headed system simulator
JP6362821B2 (en) Control device, control method and instruction set
Zeng et al. Graphical model debugger framework for embedded systems
CN112765018B (en) Instrument and meter debugging system and method
CN109144849A (en) A kind of embedded software adjusting, measuring method
Júnior et al. Preserving the exception handling design rules in software product line context: A practical approach
Iyenghar et al. An architecture for deploying model based testing in embedded systems
Ambrose et al. Argus: A framework for rapid design and prototype of heterogeneous multicore systems in fpga
US8914274B1 (en) Method and system for instruction set simulation with concurrent attachment of multiple debuggers
Wehrmeister et al. Framework to simulate the behavior of embedded real-time systems specified in UML models
Prakasia Investigating Hardware Simulation for Continuous Integration/Continuous Delivery
Satria et al. VDEES: A virtual development environment for embedded software using open source software
Liu et al. A real-time UEFI functional validation tool with behavior Colored Petri Net model
Sastry et al. TESTING DISTRIBUTED EMBEDDED SYSTEMS THROUGH INSTRUCTION SET SIMULATORS
Bartosinski et al. Integrated environment for embedded control systems design
Drivers et al. Wind river simics

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application