JP2019114223A - Method and computing system for automatically generating built-in software on virtualized system - Google Patents

Method and computing system for automatically generating built-in software on virtualized system Download PDF

Info

Publication number
JP2019114223A
JP2019114223A JP2018066786A JP2018066786A JP2019114223A JP 2019114223 A JP2019114223 A JP 2019114223A JP 2018066786 A JP2018066786 A JP 2018066786A JP 2018066786 A JP2018066786 A JP 2018066786A JP 2019114223 A JP2019114223 A JP 2019114223A
Authority
JP
Japan
Prior art keywords
source code
software
virtual
embedded software
target board
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2018066786A
Other languages
Japanese (ja)
Other versions
JP6603746B2 (en
Inventor
チェ,スンヨブ
Seung Yueb Chae
チョー,ウォンジュン
Won Joon Cho
ヒュン キム,カプ
Kap Hyun Kim
ヒュン キム,カプ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Popcornsar Co Ltd
Original Assignee
Popcornsar Co Ltd
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 Popcornsar Co Ltd filed Critical Popcornsar Co Ltd
Publication of JP2019114223A publication Critical patent/JP2019114223A/en
Application granted granted Critical
Publication of JP6603746B2 publication Critical patent/JP6603746B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

To shorten build time of built-in software by reducing a degree of dependence on a size and performance of a resource.SOLUTION: The method includes: providing a tool for a user interface for enabling a user to edit a source code on a cloud development environment connectable via the Web; executing simulation to a source code edited by using the tool for the user interface on a first virtual system; feeding back a simulation result for the source code to the user by using the tool for the user interface; providing prebuild software generated in advance on the basis of an operating system for operating built-in software on a target board on a second virtual system; and connecting the source code with the prebuild software generated in advance for the target board to generate a binary output executable on the target board on the second virtual system.SELECTED DRAWING: Figure 5

Description

本発明は組み込みソフトウェア及び組み込みシステムに関するもので、より詳しくは仮想化されたシステム上で組み込みソフトウェア(組み込みシステムで実行されるソフトウェア)を自動で生成することができるワークフロー及びそのワークフローが実行されて組み込みソフトウェアを自動で生成するコンピューティングシステムに関するものである。   The present invention relates to embedded software and embedded systems, and more particularly, a workflow capable of automatically generating embedded software (software executed on the embedded system) on a virtualized system and the workflow executed and embedded It relates to a computing system that automatically generates software.

組み込みシステムはマイクロプロセッサ又はマイクロコントローラーを組み込んで(embedded)元の製作者が指定した機能のみを行う装置を意味し、一般的により大きなシステムの一部として特別な業務を遂行するためのハードウェアとソフトウェアを含んでいる特定の応用システムを言う。   An embedded system means a device that incorporates a microprocessor or microcontroller to perform only the functions specified by the original producer, and generally with hardware to perform special tasks as part of a larger system. A particular application system that includes software.

このような組み込みシステムは多様な応用分野、例えば工場自動化、家庭自動化、ロボット制御、工程制御を含む制御分野、携帯電話、PDA、スマートフォン、LBSなどを含む端末器機分野、プリンター、インターネット冷蔵庫、ゲーム機、HDTVなどを含む情報家電器機分野、交換器、ルーター、ホームサーバー、ホームゲートウェイなどを含むネットワーク器機分野、自動車のECU、カーナビゲーション、車両部品などの動作の制御を含む自動車分野などに多様に適用されている。   Such embedded systems are used in various application fields such as factory automation, home automation, robot control, control field including process control, mobile phone, PDA, smart phone, terminal field including LBS etc, printer, Internet refrigerator, game machine It is applied to various fields such as home information appliances field including HDTV, etc., network field including exchanges, routers, home servers, home gateways etc., automotive ECUs, car navigation, control of operations such as vehicle parts etc. It is done.

前述したような組み込みシステムは、先端技術の発展につれてハードウェアの仕様が高性能化している。   As described above, embedded systems are becoming more sophisticated in hardware specifications as advanced technology develops.

一方、市場競争力の確保のために、組み込みシステム製品は使用者の要求を反映して製作されなければならないうえに、早い時間内に発売されなければならないので、製品の迅速な開発のために、組み込みシステム開発者は設計及びテストツールを使う。   Meanwhile, to ensure market competitiveness, embedded system products must be manufactured to reflect the user's requirements, and must be released within a short period of time, so for rapid development of products. , Embedded system developers use design and test tools.

しかし、このようなツールはハードウェア部品の開発速度に追いつかない状況だった。このような速度差を埋めるために、ターゲットシステムのシミュレーションツールを使う。ターゲットプラットホームのシミュレーション、すなわち仮想プラットホームは組み込みソフトウェア開発者が実物ハードウェアの開発が完了することを待つ必要なしに仮想プラットホーム上で彼らのソフトウェアを分析して試してみることができるようになる。このような従来のシミュレーションシステムとしては、SimOS、SkyEye、QEMU、SIDなどがある。   However, such tools could not keep up with the development speed of hardware parts. In order to compensate for such speed differences, simulation tools of the target system are used. Target platform simulation, a virtual platform, will allow embedded software developers to analyze and try out their software on the virtual platform without having to wait for development of real hardware to complete. Such conventional simulation systems include SimOS, SkyEye, QEMU, and SID.

一方、このような従来の組み込みシステム及び組み込みシステムで実行される組み込みソフトウェアを開発する過程は、図1のように、仮想開発環境を構築したコンピューティングシステム上で行うことができる。他の従来技術の組み込みソフトウェア開発過程は、図2に示すように、ソフトウェア開発のためのツールの集合であるTool−chainをターゲットボードで実行するのに(S230)適した形態にシミュレーションして(S210)ターゲットボードで実行可能なソースコードでビルドする過程(S220)を含む。しかし、このようなソースコードのビルド過程(S220)はTool−chainの変更(S210)ごとに又はターゲットボードごとに毎度新しく実行しなければならなかったし、この過程で生成されるビルドのアウトプットはデータのサイズが膨大であり、ソースコードのビルド過程に長時間がかかるため、デバッギング又は修正の際に迅速な対処がなされにくい問題点があった。   On the other hand, the process of developing such conventional embedded systems and embedded software executed by the embedded systems can be performed on a computing system in which a virtual development environment is established as shown in FIG. Another prior art embedded software development process simulates Tool-chain, which is a collection of tools for software development, on a target board (S230), as shown in FIG. S210) A process (S220) of building with source code executable on the target board is included. However, the process of building such source code (S220) has to be executed anew every time the Tool-chain is changed (S210) or every target board, and the output of the build generated in this process Since the size of the data is enormous and the process of building source code takes a long time, there is a problem that it is difficult to take quick measures at the time of debugging or correction.

大韓民国公開特許第10−2011−0037140号の“組み込みソフトウェア仮想開発環境を提供するシステム”(公開日2011年4月13日)Republic of Korea Patent No. 10-2011-0037140 "System for Providing Embedded Software Virtual Development Environment" (Apr. 13, 2011)

従来の開発環境において開発環境ツールチェーン(Tool−chain)を構築するためには、開発者が自ら構築のためのノウハウを確保しなければならない問題点があり、ターゲットボード別に組み込みソフトウェア(バイナリーイメージ)を生成するためのビルドに平均的に数時間以上の長時間がかかった。   In order to build a development environment tool chain (Tool-chain) in the conventional development environment, there is a problem that the developer must secure the know-how for construction by himself, and embedded software (binary image) for each target board It took an average of several hours to build to generate.

また、従来の開発環境では、それぞれのターゲットボードに対して組み込みソフトウェアを生成するために数十ギガバイト以上のハードディスク容量が必要であった。   Also, in the conventional development environment, hard disk capacity of several tens of gigabytes or more was required to generate embedded software for each target board.

従来の開発環境では、チームワーク(Team work)によって組み込みソフトウェアを開発する場合、チームメンバー間のビルドファイル共有のために時間的及び物理的リソースを必要とした。各チームメンバーのコンピューティングシステムに開発環境の構築が必要であり、ターゲットボード別にビルドファイルを共有する必要があった。ビルドファイルを共有する過程、すなわちコピーのみを行うのにも多くの時間及び容量が必要であった。ビルドファイルを共有したとしても各コンピューティングシステムの環境によって正常に作動しない可能性が存在した。すなわち、意図せぬエラーによるデバッギングに時間が消費された。   In the conventional development environment, when developing embedded software by team work, time and physical resources are required for build file sharing among team members. It was necessary to build a development environment for each team member's computing system, and it was necessary to share a build file for each target board. The process of sharing the build file, i.e., copying only required a lot of time and space. Even if you share the build file, there is a possibility that it does not work properly depending on the environment of each computing system. That is, time was spent debugging due to an unintended error.

本発明は前記の従来技術の問題点を解決するためになされたもので、開発過程で開発者のコンピューティングシステムのリソース(ハードディスク、及びメモリ)のサイズ、及び性能に対する依存度を減少させ、ターゲットボード当たりの最終アウトプットである組み込みソフトウェアのビルド時間を大幅に減縮することを目的とする。   The present invention has been made to solve the above-mentioned problems of the prior art, and in the development process, reduces the dependence on the size and performance of the developer's computing system resources (hard disk and memory), and targets The goal is to significantly reduce the build time of embedded software, which is the final output per board.

また、本発明はクラウドに基づく統合開発環境を提供し、ブラウザーなどのウェブを介した使用者インターフェースで開発することができるように実装される開発システムを提供することを他の目的とする。   Another object of the present invention is to provide a cloud-based integrated development environment, and to provide a development system implemented so as to be able to develop with a user interface through the web such as a browser.

また、本発明はターゲットボード別のアウトプットであるバイナリーイメージを生成し、クラウドに基づく統合開発環境でこれを保存し、必要時に開発者がバイナリーイメージをダウンロードすることができるクラウドシステムを提供することをさらに他の目的とする。   Also, the present invention provides a cloud system that can generate binary images that are outputs per target board, store them in a cloud-based integrated development environment, and allow developers to download binary images as needed. For further purposes.

本発明は前記の目的を達成するためになされたもので、本発明の一実施例による仮想化されたシステム上で組み込みソフトウェアを自動で生成するコンピューティングシステムは少なくとも一つ以上のプロセッサを含む。前記少なくとも一つ以上のプロセッサは、単独で又は集合的に使用者がソースコードを編集することができる使用者インターフェース用ツールを提供し、第1仮想システム上で前記使用者インターフェース用ツールを用いて編集した前記ソースコードに対するシミュレーションを実行し、前記ソースコードに対する前記シミュレーション結果を前記使用者インターフェース用ツールを用いて前記使用者にフィードバックし、ターゲットボードで組み込みソフトウェアを動作させるためのオペレーティングシステムに基づいて前もって生成したプリビルドソフトウェアを第2仮想システム上で提供し、前記ソースコードを前記ターゲットボードに対して前もって生成した前記プリビルドソフトウェアと結合して前記ターゲットボードで実行することができるバイナリー結果物を生成する。   The present invention has been made to achieve the above object, and a computing system for automatically generating embedded software on a virtualized system according to an embodiment of the present invention includes at least one or more processors. The at least one processor provides a tool for user interface that allows a user to edit source code individually or collectively, and uses the tool for user interface on a first virtual system. Based on an operating system for executing a simulation on the edited source code, feeding back the simulation result for the source code to the user using the user interface tool, and operating the embedded software on the target board Providing pre-generated pre-built software on a second virtual system, combining the source code with the pre-generated software previously generated for the target board, and executing on the target board DOO produces a binary result was possible.

ここで、第1仮想システムは使用者がソースコードをシミュレーションすることができるように実装される仮想マシン、仮想化されたシステム、仮想システム、又は仮想化ソフトウェアを意味し得る。例えば、QEMU IDEコンテナーの形態を取ることができる。   Here, the first virtual system may mean a virtual machine, a virtualized system, a virtual system, or virtualization software that is implemented to allow a user to simulate source code. For example, it can take the form of a QEMU IDE container.

第2仮想システムはそれぞれのターゲットボードのためのプリビルドソフトウェアを生成するために実装される仮想マシン、仮想化されたシステム、仮想システム、又は仮想化ソフトウェアを意味し得る。   The second virtual system may mean a virtual machine, a virtualized system, a virtual system or virtualization software implemented to generate pre-built software for each target board.

組み込みソフトウェアはターゲットボードに実行するための最終的なバイナリーファイルのアウトプットを意味し、組み込みソフトウェアがターゲットボードで実行されることによって組み込みシステムが実装されることができる。   The embedded software means the output of the final binary file to be executed on the target board, and the embedded system can be implemented by executing the embedded software on the target board.

本発明のコンピューティングシステムのプロセッサは前記第1仮想システムと前記第2仮想システムを同じホストオペレーティングシステム階層上で実行することができる。   The processor of the computing system of the present invention can execute the first virtual system and the second virtual system on the same host operating system hierarchy.

本発明のコンピューティングシステムのプロセッサは前記第2仮想システム上で前記プリビルドソフトウェアを生成する過程で活用(利用)された開発環境情報を前記第1仮想システム上で実行されるシミュレーション過程に共有することができる。   The processor of the computing system according to the present invention shares the development environment information used (utilized) in the process of generating the pre-built software on the second virtual system in the simulation process executed on the first virtual system. be able to.

本発明のコンピューティングシステムのプロセッサは前記第1仮想システム上で前記ソースコードに対する前記シミュレーション過程で得られる前記ソースコードに対する活用情報(利用情報)を前記第2仮想システム上で前記プリビルドソフトウェアを生成する過程に共有することができる。   The processor of the computing system according to the present invention generates, on the second virtual system, the pre-built software on usage information (usage information) for the source code obtained in the simulation process for the source code on the first virtual system. Can be shared in the process of

本発明のコンピューティングシステムのプロセッサはウェブを介して接続可能なクラウド開発環境上で前記使用者が前記ソースコードを編集することができるように前記使用者インターフェース用ツールを提供することができる。   The processor of the computing system of the present invention can provide the user interface tool so that the user can edit the source code on a cloud development environment connectable via the web.

本発明のコンピューティングシステムのプロセッサは前記ソースコードに対するファイルシステムを生成し、前記クラウド開発環境上に前記ソースコードに対するファイルシステムを保存することができる。   The processor of the computing system of the present invention may generate a file system for the source code and store the file system for the source code on the cloud development environment.

本発明のコンピューティングシステムのプロセッサは前記バイナリー結果物に対するファイルシステムを生成し、前記クラウド開発環境上に前記バイナリーアウトプットに対するファイルシステムを保存することができる。   The processor of the computing system of the present invention may create a file system for the binary result and store the file system for the binary output on the cloud development environment.

本発明の一実施例による仮想化されたシステム上で組み込みソフトウェアを自動で生成する方法は、ウェブを介して接続可能なクラウド開発環境上で使用者がソースコードを編集することができる使用者インターフェース用ツールを提供する段階;第1仮想システム上で前記使用者インターフェース用ツールを用いて編集した前記ソースコードに対するシミュレーションを実行し、前記ソースコードに対する前記シミュレーション結果を前記使用者インターフェース用ツールを用いて前記使用者にフィードバックする段階;ターゲットボードで組み込みソフトウェアを動作させるためのオペレーティングシステムに基づいて前もって生成したプリビルドソフトウェアを第2仮想システム上で提供する段階;及び前記ソースコードを前記ターゲットボードに対して前もって生成した前記プリビルドソフトウェアと結合して前記ターゲットボードで実行することができるバイナリーアウトプットを第2仮想システム上で生成する段階を含む。本発明の仮想化されたシステム上で組み込みソフトウェアを自動で生成する方法は、前記コンピューティングシステムの前記少なくとも一つ以上のプロセッサの単独で又は前記少なくとも一つ以上のプロセッサの集合となるクラウドコンピューティング技法によって実行することができる。   A method of automatically generating embedded software on a virtualized system according to an embodiment of the present invention is a user interface that allows a user to edit source code on a cloud development environment connectable via the web. Providing a tool for performing simulation on the source code edited using the tool for user interface on a first virtual system, and using the tool for user interface for simulation result of the source code Providing feedback to the user; providing pre-built software generated on the basis of an operating system for operating embedded software on a target board on a second virtual system; and The binary outputs that can be executed in advance the target board combine with the pre-built software generated for Tobodo comprising generating on the second virtual system. The method for automatically generating embedded software on a virtualized system according to the present invention is cloud computing, which is a collection of the at least one processor of the computing system alone or a collection of the at least one processor. It can be implemented by techniques.

本発明によれば、開発過程で開発者のコンピューティングシステムのリソース(ハードディスク、及びメモリ)のサイズ、及び性能に対する依存度を減少させ、ターゲットボード当たりの最終アウトプットである組み込みソフトウェアのビルド時間を大幅に減縮することができる。   According to the present invention, the development process reduces the dependency on the developer's computing system resources (hard disk and memory) and performance, and the build time of embedded software is the final output per target board It can be greatly reduced.

本発明によれば、クラウドに基づく統合開発環境を提供し、ブラウザーなどのウェブに基づく使用者インターフェースで開発することができるように実装される開発システムを提供することができる。   According to the present invention, a cloud-based integrated development environment can be provided, and a development system implemented so as to be able to be developed with a web-based user interface such as a browser can be provided.

本発明によれば、ターゲットボード別のアウトプットであるバイナリーイメージを生成し、クラウドに基づく統合開発環境でこれを保存し、必要時に開発者がバイナリーイメージをダウンロードすることができるクラウドシステムを提供することができる。
According to the present invention, there is provided a cloud system capable of generating a binary image which is output per target board, storing it in a cloud-based integrated development environment, and allowing a developer to download the binary image when necessary. be able to.

従来技術の組み込みソフトウェア開発システムの概要を示す図である。It is a figure which shows the outline | summary of the embedded software development system of a prior art. 従来技術の組み込みソフトウェア開発システムの概要を示す図である。It is a figure which shows the outline | summary of the embedded software development system of a prior art. 本発明の一実施例による仮想化されたシステム上で組み込みソフトウェアを自動で生成するクラウドサービスシステム又はクラウドコンピューティングシステムを示す図である。FIG. 2 illustrates a cloud service system or cloud computing system that automatically generates embedded software on a virtualized system according to an embodiment of the present invention. 本発明の一実施例による仮想化されたシステム上で組み込みソフトウェアを自動で生成するクラウドサービスシステム又はクラウドコンピューティングシステムを用いたソフトウェア開発プロセスの全般を示す図である。FIG. 8 is a diagram showing the overall software development process using a cloud service system or cloud computing system that automatically generates embedded software on a virtualized system according to an embodiment of the present invention. 本発明の一実施例による仮想化されたシステム上で組み込みソフトウェアを自動で生成する方法を示す動作フローチャートである。FIG. 6 is an operational flowchart illustrating a method of automatically generating embedded software on a virtualized system according to an embodiment of the present invention. 本発明の一実施例による仮想化されたシステム上で組み込みソフトウェアを自動で生成する方法を示す動作フローチャートである。FIG. 6 is an operational flowchart illustrating a method of automatically generating embedded software on a virtualized system according to an embodiment of the present invention.

前記目的、そして本発明の他の目的及び特徴は添付図面に基づく実施例の説明から明らかになるであろう。   The above object, and other objects and features of the present invention will be apparent from the description of the embodiments based on the attached drawings.

本発明の好適な実施例を添付図面に基づいて詳細に説明する。本発明の説明において、関連の公知の構成又は機能についての具体的な説明が本発明の要旨をあいまいにすることができると判断される場合にはその詳細な説明は省略する。   Preferred embodiments of the present invention will be described in detail with reference to the attached drawings. In the description of the present invention, when it is determined that the detailed description of the related known configurations or functions may obscure the gist of the present invention, the detailed description will be omitted.

一般的に使われる“ソースコード”は最終アウトプットであるバイナリーアウトプットを生成するためのコンパイル過程を経る前のコードセットを意味し、疑似コード(pseudo−code)からコンパイル直前段階のプログラムコードまで非常に広い範囲を意味する。本明細書で言及する“ソースコード”は特定の意味に制限されず、コンパイル直前段階のプログラムコードのみを意味するのにとどまらず、特に目標機能と仕様に対するチェックポイントのみを含む場合、すなわち開発者の立場で最終アウトプットを生成するための“ソース”に近いコードの場合までを含む概念として使われるであろう。   The commonly used "source code" refers to the code set prior to the compilation process to generate the final output binary output, from pseudo-code to program code immediately before compilation. It means a very wide range. The "source code" referred to herein is not restricted to any particular meaning, and goes beyond just meaning pre-compilation program code, in particular if it contains only checkpoints for target functions and specifications, ie developers It will be used as a concept that includes the case of code close to the "source" to generate the final output in the context of

以下で説明する図3及び図4のクラウドサービスシステムは、少なくとも一つ以上のサーバーコンピューティングシステムを含んでなることができる。少なくとも一つ以上のサーバーコンピューティングシステムはそれぞれ少なくとも一つ以上のプロセッサを含むことができ、少なくとも一つ以上のプロセッサは単独で又は集合的に本発明の特徴である第1仮想システムと第2仮想システムを生成し、使用者インターフェース用ツール、プリビルドソフトウェア、及び組み込みソフトウェアを生成及び提供することができる。   The cloud service systems of FIG. 3 and FIG. 4 described below may include at least one or more server computing systems. At least one or more server computing systems may each include at least one or more processors, and the at least one or more processors alone or collectively may be features of the first virtual system and the second virtual system. A system can be created, and user interface tools, pre-built software, and embedded software can be created and provided.

ここで、第1仮想システムは使用者がソースコードをシミュレーションすることができるように実装される仮想マシン、仮想化されたシステム、仮想システム、又は仮想化ソフトウェアを意味することができ、例えばQEMU IDEコンテナーの形態を取ることができる。第1仮想システムはクラウドサービスシステム又はクラウドコンピューティングシステム内で実行されるシミュレーターであってもよく、シミュレーターはターゲットボードでの動作を前もってシミュレーションすることができる、ターゲットボードを仮想化したソフトウェアを意味する。   Here, the first virtual system can mean a virtual machine, a virtualized system, a virtual system, or virtualization software that is implemented so that the user can simulate source code, for example, QEMU IDE It can take the form of a container. The first virtual system may be a cloud service system or a simulator executed in a cloud computing system, and the simulator means software for virtualizing a target board capable of simulating operation on the target board in advance. .

第2仮想システムはそれぞれのターゲットボードのためのプリビルドソフトウェアを生成するために実装される仮想マシン、仮想化されたシステム、仮想システム、又は仮想化ソフトウェアを意味し得る。   The second virtual system may mean a virtual machine, a virtualized system, a virtual system or virtualization software implemented to generate pre-built software for each target board.

組み込みソフトウェアはターゲットボードに実行するための最終的なバイナリーファイルのアウトプットを意味し、組み込みソフトウェアがターゲットボードで実行されることによって組み込みシステムが実装されることができる。   The embedded software means the output of the final binary file to be executed on the target board, and the embedded system can be implemented by executing the embedded software on the target board.

図3は本発明の一実施例による仮想化されたシステム上で組み込みソフトウェアを自動で生成するクラウドサービスシステム又はクラウドコンピューティングシステムを示す図である。   FIG. 3 is a diagram illustrating a cloud service system or cloud computing system for automatically generating embedded software on a virtualized system according to an embodiment of the present invention.

図3のシステム300はクラウドサービスシステム又はクラウドコンピューティングシステムと理解することができる。システム300は少なくとも一つ以上のプロセッサ(図示せず)を含む。少なくとも一つ以上のプロセッサは単独で又は集合的にシステム300内で以下の動作を行う主体になることができる。   The system 300 of FIG. 3 can be understood as a cloud service system or cloud computing system. System 300 includes at least one processor (not shown). At least one or more processors may be responsible for performing the following operations within the system 300 alone or collectively.

システム300は使用者がソースコードを編集することができるように使用者インターフェース用ツール340を提供し、第1仮想システム331上で前記使用者インターフェース用ツール340を用いて編集された前記ソースコードに対するシミュレーションを実行し、前記ソースコードに対する前記シミュレーション結果を前記使用者インターフェース用ツールを用いて前記使用者にフィードバックすることができる。   The system 300 provides a user interface tool 340 so that the user can edit source code, and for the source code edited using the user interface tool 340 on the first virtual system 331 A simulation can be performed and the simulation results for the source code can be fed back to the user using the user interface tool.

システム300は第1ターゲットボードで組み込みソフトウェアを動作させるためのオペレーティングシステムに基づいて前もって生成した第1プリビルドソフトウェアを第2仮想システム332上で提供し、第2ターゲットボードで組み込みソフトウェアを動作させるためのオペレーティングシステムに基づいて前もって生成した第2プリビルドソフトウェアを第3仮想システム333上で提供することができる。   The system 300 provides on the second virtual system 332 the first pre-built software generated in advance based on the operating system for operating the embedded software on the first target board, and operates the embedded software on the second target board The second pre-built software generated in advance based on the operating system of the third virtual system 333 may be provided on the third virtual system 333.

システム300は前記ソースコードを前記第1ターゲットボードに対して前もって生成した前記第1プリビルドソフトウェアと結合して前記第1ターゲットボードで実行することができる第1バイナリーアウトプットを前記第2仮想システム332上で生成することができ、前記ソースコードを前記第2ターゲットボードに対して前もって生成した前記第2プリビルドソフトウェアと結合して前記第2ターゲットボードで実行することができる第2バイナリーアウトプットを前記第3仮想システム333上で生成することができる。   The system 300 may combine the source code with the first pre-built software generated in advance for the first target board to generate a first binary output for the second virtual system, which may be executed on the first target board. A second binary output that can be generated on 332 and can be executed on the second target board by combining the source code with the second pre-built software generated beforehand for the second target board Can be generated on the third virtual system 333.

使用者は使用者インターフェース用ツール340を用いてソースコードを作成してアプリケーションを開発することができる(S311)。このために、システム300は使用者インターフェース用ツール340をもう一つの仮想システムとして実装して使用者に提供することができる。使用者インターフェース用ツール340は使用者のコンピューティングシステムに表示されて使用者に提供され、使用者インターフェース用ツール340で行われる演算及び情報処理はシステム300で実行される。もちろん、実施例によっては、使用者がシステム300を直接使ってアプリケーションを開発することもできる(S311)。この場合には、使用者のコンピューティングシステムが直ちにシステム300と一致する。   The user can develop source code and develop an application using the user interface tool 340 (S311). To this end, the system 300 can implement the user interface tool 340 as another virtual system and provide it to the user. The user interface tool 340 is displayed on the user's computing system and provided to the user, and the operation and information processing performed by the user interface tool 340 are executed by the system 300. Of course, depending on the embodiment, the user can use the system 300 directly to develop an application (S311). In this case, the user's computing system immediately matches system 300.

使用者インターフェース用ツール340を介して入力された使用者の伝送命令に従い、システム300は使用者によって使用者インターフェース用ツール340を用いて開発されたアプリケーション(ソースコード)をターゲットボード用にプリビルドされたプリビルドソフトウェアを提供することができる仮想システム332、333に伝送及び共有することができる(S313)。   According to the user's transmission command input through the user interface tool 340, the system 300 is pre-built for the target board with the application (source code) developed by the user using the user interface tool 340. It can be transmitted and shared to virtual systems 332, 333 that can provide pre-built software (S313).

第2仮想システム332は第1ターゲットボード用の第1組み込みソフトウェアの最終アウトプットを生成し(S314)、第1組み込みソフトウェアの最終アウトプットである第1バイナリーアウトプット(第1バイナリーイメージ)をシステム300内の第2ファイルシステム342に伝送することができる(S315)。同様に、第3仮想システム333は第2ターゲットボード用の第2組み込みソフトウェアの最終アウトプットを生成し(S314)、第2組み込みソフトウェアの最終アウトプットである第2バイナリーアウトプット(第2バイナリーイメージ)をシステム300内の第2ファイルシステム342に伝送することができる(S315)。第2ファイルシステム342は複数のターゲットボードに対応する組み込みソフトウェアの最終アウトプットである第1バイナリーアウトプット及び/又は第2バイナリーアウトプットを保存することができる。   The second virtual system 332 generates a final output of the first embedded software for the first target board (S 314), and generates a first binary output (first binary image) which is a final output of the first embedded software. It can be transmitted to the second file system 342 in 300 (S315). Similarly, the third virtual system 333 generates the final output of the second embedded software for the second target board (S 314), and the second binary output (second binary image) which is the final output of the second embedded software. Can be transmitted to the second file system 342 in the system 300 (S315). The second file system 342 may store the first binary output and / or the second binary output, which is the final output of embedded software corresponding to a plurality of target boards.

一方、システム300上の第1ファイルシステム341は使用者インターフェース用ツール340内でビルドされたアプリケーション開発のためのソースコードアプリ(App1、App2、...、ApppN)を保存することができる。ここで、図3に示されてはいないが、使用者インターフェース用ツール340で開発されたソースコードが第2仮想システム332及び第3仮想システム333に伝送される前、第2仮想システム332及び第3仮想システム333のそれぞれで第1プリビルドソフトウェア及び第2プリビルドソフトウェアがプリビルドされることができる。ここで、プリビルドソフトウェアはターゲットボードで動作するアプリケーションを除き、ターゲットボードに関連したオペレーティングシステムなどの情報を含んで前もって生成される疑似バイナリーイメージ形態の情報を意味し得る。   Meanwhile, the first file system 341 on the system 300 may store source code applications (App1, App2,..., ApppN) for application development built in the user interface tool 340. Here, although not shown in FIG. 3, before the source code developed by the user interface tool 340 is transmitted to the second virtual system 332 and the third virtual system 333, the second virtual system 332 and the third virtual system 333 may be The first and second pre-build softwares may be pre-built in each of the three virtual systems 333. Here, the pre-built software may mean information in the form of pseudo binary image generated in advance including information such as an operating system associated with the target board, except for an application operating on the target board.

ここで、第1プリビルドソフトウェアは第2仮想システム332上でソースコードと結合する前にプリビルドされれば十分であるので、第1プリビルドソフトウェアのプリビルド過程は使用者が使用者インターフェース用ツール340を用いてアプリケーションを開発するうちに(S311)バックグラウンドで並列に実行されることもでき、使用者がアプリケーションを開発する前に実行されることもできる。   Here, since it is sufficient for the first pre-built software to be pre-built before combining with the source code on the second virtual system 332, the pre-building process of the first pre-built software is a tool 340 for the user interface of the user. While developing an application using (S311), it may be executed in parallel in the background, or may be executed before a user develops an application.

本発明によれば、例えば第1ターゲットボードのための第1プリビルドソフトウェアと第2ターゲットボードのための第2プリビルドソフトウェアが既に生成されているので、使用者は第1ターゲットボード及び第2ターゲットボードに共通して適用されるアプリケーションを開発する(S311)過程に数秒乃至数分程度の時間がかかったとすると、第2仮想システム332と第3仮想システム333のそれぞれでアプリケーションソースコードを第1プリビルドソフトウェア及び第2プリビルドソフトウェアのそれぞれと結合してコンパイルすることによって最終的に第1バイナリーアウトプットと第2バイナリーアウトプットを得るまでにかかる時間はコンパイルにかかる数秒乃至数分程度の時間であれば十分である。その後、それぞれのターゲットボードで実行する目標機能を修正することにしてアプリケーションを修正する場合にも、アプリケーションの開発にかかる時間及び最終結果物のコンパイル時間のみで修正された目標機能を満たす修正された最終アウトプットを得ることができる。   According to the present invention, for example, since the first pre-build software for the first target board and the second pre-build software for the second target board have already been generated, the user can select the first target board and the second target board. Assuming that it takes several seconds to several minutes to develop an application commonly applied to the target board (S311), the application source code is firstly generated in each of the second virtual system 332 and the third virtual system 333. The time taken to finally obtain the first binary output and the second binary output by compiling in combination with each of the pre-build software and the second pre-build software is a few seconds to several minutes for compilation. Is sufficient. After that, even when modifying the application by modifying the target function to be executed on each target board, the time taken for development of the application and the compilation time of the final result are satisfied only to meet the modified target function. Final output can be obtained.

従来には、このような目標機能の修正時ごとに、目標機能の修正後に新たにターゲットボードのそれぞれに対する最終アウトプットをビルドするのに平均的に数時間以上の長時間がかかったので、本発明によれば多数のターゲットボードに対して同時にアプリケーションを開発して適用する場合にも組み込みソフトウェアの開発時間を画期的に縮めることができる。また、本発明によれば、多数のターゲットボードのそれぞれに対する組み込みソフトウェアのそれぞれの生成過程が並列に行われることもできるので、開発者は自分のアプリケーション開発過程で導出された最終アウトプットをターゲットボードで速かに確認してみることができ、デバッギング時間と全体開発プロセスを極めて画期的な短縮を可能にする効果がある。   In the past, it took an average of several hours to build the final output for each of the target boards after modifying the target function every time the target function was modified. According to the invention, even when an application is developed and applied simultaneously to a large number of target boards, the development time of embedded software can be dramatically reduced. Also, according to the present invention, since each generation process of embedded software for each of a large number of target boards can be performed in parallel, a developer can make a target board the final output derived in his application development process. It is possible to check quickly and have the effect of enabling significant reduction in debugging time and overall development process.

システム300はウェブを介して接続可能なクラウド開発環境上で前記使用者が前記ソースコードを編集することができるように前記使用者インターフェース用ツール340を提供することができる。   The system 300 may provide the user interface tool 340 so that the user can edit the source code on a cloud development environment connectable via a web.

システム300はソースコードに対する第1ファイルシステム341を生成し、前記クラウド開発環境上にソースコードに対する第1ファイルシステム341を保存することができる。   The system 300 may generate a first file system 341 for source code and store the first file system 341 for source code on the cloud development environment.

システム300はバイナリーアウトプットに対する第2ファイルシステム342を生成し、前記クラウド開発環境上にバイナリーアウトプットに対する第2ファイルシステム342を保存することができる。   The system 300 may generate a second file system 342 for binary output, and store the second file system 342 for binary output on the cloud development environment.

図3にプリビルドソフトウェアを生成する二つの仮想システム332、333が示されているが、プリビルドソフトウェアを生成する仮想システムはターゲットボードごとに提供されることができるので、仮想システムの数はターゲットボードの数によって変わることができる。図3の実施例によって本発明の思想が限定的に解釈されてはいけない。   Although two virtual systems 332, 333 for generating pre-built software are shown in FIG. 3, the virtual systems for generating pre-built software can be provided for each target board, so the number of virtual systems is the target It can vary depending on the number of boards. The concept of the present invention should not be interpreted in a limited manner by the embodiment of FIG.

システム300内の第1ファイルシステム341及び第2ファイルシステム342はホストのファイルシステムを意味し得る。全てのコンテナー(仮想システム)が同じファイルシステム空間を共有することもでき、他の空間に分離してソースコード及びアウトプットを伝送することもできる。図3にはアプリケーション開発のためのソースコードを保存する第1ファイルシステム341と最終バイナリーアウトプット(バイナリーイメージ)を保存する第2ファイルシステム342が区分されるものとして示され、仮想システム上で生成されたバイナリーアウトプットが第2ファイルシステム342に伝送されるものとして示されている。このような伝送は論理的に設定された仮想のシステム上から同様の論理的に設定されたファイルシステム上への伝送であるだけ、必ずしも物理的に情報を伝送して受信する過程を伴うものではないのは当業者であれば明らかに理解可能であろう。   The first file system 341 and the second file system 342 in the system 300 may mean the file system of the host. All containers (virtual systems) can share the same file system space, or can be separated into other spaces to transmit source code and output. In FIG. 3, a first file system 341 for storing source code for application development and a second file system 342 for storing final binary output (binary image) are shown to be separated and generated on a virtual system. The binary output is shown as being transmitted to the second file system 342. Such a transmission is not only a transmission on a logically set virtual system but also on a similar logically set file system, which necessarily involves transmitting and receiving information physically. It will be clearly understood by those skilled in the art that there is not.

システム300内の第1仮想システム331は使用者インターフェース用ツール340と連動して使用者の開発過程で必要なソースコードのシミュレーションを実行する。第1仮想システム331は使用者アプリコンテナー、又は使用者インターフェース用ツール340が実行されるコンテナーであり得る。ここで、第1仮想システム331と第2仮想システム332は同じホストオペレーティングシステム360の階層上で実行される。同様に、第1仮想システム331と第3仮想システム333も同じホストオペレーティングシステム360の階層上で実行される。ホストオペレーティングシステム360は複数の仮想システムを生成して管理するためにコンテナーエンジン350を生成し、コンテナーエンジン350上で複数の仮想システムを生成及び管理することができる。   The first virtual system 331 in the system 300 works in conjunction with the user interface tool 340 to perform simulation of source code required in the development process of the user. The first virtual system 331 may be a user application container or a container in which a user interface tool 340 is executed. Here, the first virtual system 331 and the second virtual system 332 are executed on the same host operating system 360 hierarchy. Similarly, the first virtual system 331 and the third virtual system 333 are also executed on the same host operating system 360 hierarchy. Host operating system 360 may create container engine 350 to create and manage multiple virtual systems, and create and manage multiple virtual systems on container engine 350.

第1仮想システム331が提供する開発環境と第2仮想システム332(プリビルドソフトウェアが提供され、プリビルドとソースコードが結合されるコンテナー)が同じホストオペレーティングシステム360上で実行されるため、第1仮想システム331と第2仮想システム332が提供する開発環境が相当部分で共有するので、使用者がソースコードを修正しても第2仮想システム332でプリビルドソフトウェアとコードセットの修正なしに直ぐコンパイルすることができる。   Because the development environment provided by the first virtual system 331 and the second virtual system 332 (a container where pre-built software is provided and pre-build and source code are combined) are executed on the same host operating system 360, the first virtual system 331 Since the development environment provided by the system 331 and the second virtual system 332 is shared in a substantial part, even if the user modifies the source code, the second virtual system 332 compiles immediately without the prebuilt software and code set modification be able to.

システム300は第2仮想システム332上で第1プリビルドソフトウェアを生成する過程で活用された開発環境情報を第1仮想システム331上で実行されるシミュレーション過程に共有することができる。   The system 300 may share the development environment information utilized in the process of generating the first pre-built software on the second virtual system 332 in the simulation process executed on the first virtual system 331.

第2仮想システム332上で第1プリビルドソフトウェアを生成する過程で活用(利用)された情報が第1仮想システム331上でシミュレーション過程でそのまま活用及び/又は共有されるので、シミュレーション過程を経たソースコードと第1プリビルドソフトウェアの結合過程が容易であり、ソースコードと第1プリビルドソフトウェア間の結合時に簡単なコンパイル過程のみでも最終的な第1バイナリーアウトプット(第1組み込みソフトウェア)を生成することができる。   Since information used (utilized) in the process of generating the first pre-built software on the second virtual system 332 is used and / or shared as it is in the simulation process on the first virtual system 331, the source that has undergone the simulation process The process of combining the code and the first pre-built software is easy, and the final first binary output (the first embedded software) is generated only by a simple compilation process when combining the source code and the first pre-built software be able to.

したがって、本発明は、従来技術に比べ、組み込みソフトウェアの開発及び生成に必要な時間を縮めることができる。従来技術でソースコードをターゲットボードで実行するための最終バイナリーファイルにビルドするのに長時間がかかった理由は毎度ツールチェーン(カスタム化された機能と目標仕様などを記述するディスクリプション)とターゲットボードの環境情報、オペレーティングシステム情報などを結合してソースコードそのものを新しくビルドしなければならなかったからである。一方でツールチェーンはターゲットボード用イメージをビルドするための開発ツール及びソフトウェアの集合を意味し得る。本発明はターゲットボードに適用される開発環境、オペレーティングシステムについての主要情報が含まれたコードセットをプリビルドすることによってプリビルドソフトウェアと名付けられた形態として提供し、プリビルドソフトウェアを生成する時に使用された開発環境及びオペレーティングシステムについての情報をソースコードのシミュレーション上で活用する。ソースコードのシミュレーションはソースコードの機能が使用者の目標仕様に見合うかをチェックする過程で、ターゲットボードに全く従属しなくて論理に基づくシミュレーションであるので、早く実行及び検証されることができる。すなわち、プリビルドソフトウェアをプリビルド/生成する過程で使用された情報を同じオペレーティングシステム上の第1仮想システム331(使用者アプリコンテナー)でシミュレーションするときに前もってチェックして見ることができるので、ソースコードとプリビルドソフトウェア間の結合が容易である。また、ソースコードのシミュレーション時に負担となる要素は選択的に排除されるので、ソースコードのシミュレーション時間/費用がターゲットボードとの適合性検証によって増加することを防止することができる。   Thus, the present invention can reduce the time required to develop and generate embedded software as compared to the prior art. The reason why it took a long time to build the source code into the final binary file for execution on the target board in the prior art is the tool chain (the description that describes the customized function and target specification etc.) and the target board each time The source code itself had to be newly built by combining environment information, operating system information, and so on. On the other hand, toolchain may mean a collection of development tools and software for building an image for a target board. The present invention is provided as a form named pre-built software by pre-building a development environment applied to a target board and a code set including main information on an operating system, and is used when generating pre-built software. Use information about the development environment and operating system on source code simulation. The source code simulation can be performed and verified quickly because it is a logic-based simulation with no dependency on the target board in the process of checking whether the function of the source code meets the target specification of the user. That is, since information used in the process of pre-building / generating pre-built software can be checked and viewed in advance when simulating with the first virtual system 331 (user application container) on the same operating system, the source code Easy to combine with pre-built software. In addition, since the burden factor during source code simulation is selectively eliminated, it is possible to prevent the source code simulation time / cost from being increased by the verification of the compatibility with the target board.

これにより、シミュレーション及びフィードバックによる検証を経たソースコードがプリビルドソフトウェアと結合されれば、簡単なコンパイル過程によってバイナリーアウトプット(組み込みソフトウェア)を得ることができる。   Thus, if the source code that has undergone simulation and feedback verification is combined with the pre-build software, binary output (embedded software) can be obtained through a simple compilation process.

システム300は第1仮想システム331上で前記ソースコードに対する前記シミュレーション過程で得られる前記ソースコードについての活用情報を第2仮想システム332上で第1プリビルドソフトウェアを生成する過程で共有することができる。   The system 300 may share utilization information about the source code obtained in the simulation process for the source code on the first virtual system 331 in the process of generating the first pre-built software on the second virtual system 332. .

クラウドサービスシステムと連動する開発環境を提供する場合、クラウドシステム内のプリビルドソフトウェアのファイルシステム(例えば、バイナリーイメージのような形態に実装できる)とバイナリーアウトプットのファイルシステムが変更されれば、クラウドの全体で共有することができるようにアップデートされることができる。この時、クラウドシステム内に分散して保存されたファイルシステム間の不一致がチェックされ、同じソフトウェアコンテンツに対する全てのファイルシステムが同期化することができる。   When providing a development environment linked to a cloud service system, if the file system of pre-built software in the cloud system (which can be implemented, for example, in the form of a binary image) and the file system of binary output are changed It can be updated so it can be shared across. At this time, inconsistencies between file systems distributed and stored in the cloud system are checked, and all file systems for the same software content can be synchronized.

同じソフトウェアコンテンツに対する全てのファイルシステムの同期化とは別個に、プリビルドドソフトウェアのコンテンツがアップデートされることができる。一般に、上位階層のアプリケーションソフトウェア及びソースコードが変動すると言ってもアプライアンスと類似した役目を有するプリビルドソフトウェアが必ずしも再びビルドされなければならないのではない。本発明のプリビルドソフトウェアはソースコードの変動にもかかわらず、ソースコードと容易に結合して組み込みソフトウェアを生成することを要件とする。一方、実施例によってはターゲットボード及びターゲットボードで実行されなければならないオペレーティングシステムに基づいてプリビルドソフトウェアがアップデートされるとか再びプリビルドされることができる。この時、プリビルドソフトウェアは、ソースコードとターゲットボード間の関連性、ターゲットボードでソースコードの活用情報、ターゲットボードで活用されるソースコードの主要機能などについての情報に基づいて効率的にソースコードと結合することができるように前もって生成されるとか前もってアップデートされることができる。   The content of the pre-built software can be updated separately from the synchronization of all file systems to the same software content. In general, even if upper layer application software and source code change, pre-built software having a similar role to the appliance does not necessarily have to be re-built. The pre-built software of the present invention requires that the source code be easily combined with the source code to generate embedded software despite variations in the source code. Meanwhile, in some embodiments, the pre-built software may be updated or pre-built again based on the target board and the operating system to be executed on the target board. At this time, the pre-built software can efficiently source code based on information about the relationship between the source code and the target board, usage information of the source code on the target board, main functions of the source code used on the target board, etc. It can be pre-generated or pre-updated to be able to combine with.

ここで、第1仮想システム331上でソースコードに対する前記シミュレーション過程で得られるソースコードについての活用情報が第2仮想システム332上で前記プリビルドソフトウェアを生成する過程で共有されることにより、第2仮想システム332で次バージョンのプリビルドソフトウェアを生成するとき、使用者の目標機能にもっと見合うことができるプリビルドソフトウェアが生成されることができる。このような共有も第1仮想システム331と第2仮想システム332が同じホストオペレーティングシステム上で実行されるため可能である。第1仮想システム331で使用者がソースコードをシミュレーションして検証するのに用いられた情報、すなわち目的機能に対する要求、ソースコードの検証パターン、ソースコードを活用しようとする目的などの活用情報は累積してプリビルドソフトウェアの改善に用いられることができる。   Here, utilization information about source code obtained in the simulation process for source code on the first virtual system 331 is shared in the process of generating the pre-build software on the second virtual system 332, When the virtual system 332 generates the next version of pre-built software, pre-built software can be generated that can more closely match the user's goal function. Such sharing is also possible because the first virtual system 331 and the second virtual system 332 run on the same host operating system. Information used by the user to simulate and verify the source code in the first virtual system 331, that is, utilization information such as a request for an objective function, a verification pattern of the source code, and an objective of utilizing the source code Can be used to improve pre-built software.

以上では第1ターゲットボードのための第1組み込みソフトウェアを生成する過程について主に説明したが、他のターゲットボード、例えば第2ターゲットボードのための第2組み込みソフトウェアを生成する過程に対しても共通して適用可能である。すなわち、第1仮想システム331と第3仮想システム333が同じホストオペレーティングシステム360上で実行されるので、第1仮想システム331と第3仮想システム333の開発過程で情報共有が可能であり、よって第2プリビルドソフトウェアのプリビルド過程及び第2ターゲットボードに対するソースコードのアプリケーションシミュレーション過程が改善されることができる。   The above mainly describes the process of generating the first embedded software for the first target board, but the process is common to the process of generating the second embedded software for another target board, for example, the second target board. Is applicable. That is, since the first virtual system 331 and the third virtual system 333 are executed on the same host operating system 360, information sharing is possible in the development process of the first virtual system 331 and the third virtual system 333. The pre-build process of the pre-build software and the application simulation process of the source code for the second target board can be improved.

図4は本発明の一実施例による仮想化されたシステム上で組み込みソフトウェアを自動で生成するクラウドサービスシステム又はクラウドコンピューティングシステムを用いたソフトウェア開発プロセスの全般を示す図である。   FIG. 4 is a diagram showing the overall software development process using a cloud service system or cloud computing system that automatically generates embedded software on a virtualized system according to an embodiment of the present invention.

図4のシステム400は図3のシステム300と同様にクラウドサービスシステム又はクラウドコンピューティングシステムであってもよく、少なくとも一つ以上のプロセッサを含むことができる。以下のシステム400の動作はシステム400内の少なくとも一つ以上のプロセッサの単独又は集合的動作によって実行されることができる。   The system 400 of FIG. 4 may be a cloud service system or cloud computing system similar to the system 300 of FIG. 3 and may include at least one or more processors. The following system 400 operations may be performed by single or collective operations of at least one or more processors in system 400.

図3及び図4に共通した構成要素についての重複説明は省略する。例えば、図4の第1ファイルシステム441及び第2ファイルシステム442は図3の第1ファイルシステム341及び第2ファイルシステム342と同一であり、図4の使用者インターフェース用ツール440は図3の使用者インターフェース用ツール340と同一である。図4の第1仮想システム431、第2仮想システム432、第3仮想システム433、コンテナーエンジン450及びホストオペレーティングシステム460は図3の第1仮想システム331、第2仮想システム332、第3仮想システム333、コンテナーエンジン350及びホストオペレーティングシステム360と同一である。   The redundant description of the components common to FIGS. 3 and 4 will be omitted. For example, the first file system 441 and the second file system 442 of FIG. 4 are the same as the first file system 341 and the second file system 342 of FIG. 3, and the user interface tool 440 of FIG. It is identical to the user interface tool 340. The first virtual system 431, the second virtual system 432, the third virtual system 433, the container engine 450, and the host operating system 460 in FIG. 4 are the first virtual system 331, the second virtual system 332, and the third virtual system 333 in FIG. 3. , Container engine 350 and host operating system 360.

使用者はウェブブラウザーを介してシステム400に接続することができる(S410)。この時、使用者に実際にシミュレーション環境を提供するものは第1仮想システム431である。第1仮想システム431は、例えばIDEコンテナーの形態に実装されることができる。ここで、第1仮想システム431の実装のためにIDEコンテナーの形態を取ることができるだけ、従来のIDEコンテナーで提供しない第2仮想システム432との情報共有及び環境共有などは本発明の固有した特徴であることが当業者に明らかに理解可能であろう。   The user can connect to the system 400 via the web browser (S410). At this time, it is the first virtual system 431 that actually provides the user with a simulation environment. The first virtual system 431 may be implemented, for example, in the form of an IDE container. Here, information sharing and environment sharing with the second virtual system 432 not provided by the conventional IDE container, which can only take the form of an IDE container for the implementation of the first virtual system 431, are unique features of the present invention Those skilled in the art will clearly understand that.

また、図4の第1仮想システム431が支援するシミュレーターは公知のQEMUシミュレーターの形態として提供されることができる。ただ、QEMUシミュレーターは使用者とのインターフェースとシミュレーションのための基本的な設定に対する構成要素で、本発明の構成の一部として含まれるだけ、本発明の第1仮想システム431が有する固有した特徴、例えば第2仮想システム432との情報共有及び環境共有によるプリビルドソフトウェアの性能改善及びソースコードのシミュレーション過程の改善は公知のQEMUシミュレーターのみを用いて達成することができる特徴ではないのは当業者に明らかに理解可能であろう。   Also, a simulator supported by the first virtual system 431 of FIG. 4 may be provided as a form of a known QEMU simulator. However, the QEMU simulator is a component for the interface with the user and the basic setting for the simulation, and is a unique feature that the first virtual system 431 of the present invention has, which is included as a part of the configuration of the present invention, For example, to the person skilled in the art, the performance improvement of the pre-built software and the improvement of the simulation process of the source code by information sharing and environment sharing with the second virtual system 432 are not features that can be achieved using only known QEMU simulators. Clearly understandable.

また、QEMUシミュレーターはIDEコンテナーという手段を活用して提供することができる。QEMUシミュレーターはIDEコンテナーと必ずしも一緒に含まれなければならないものではなく、QEMUシミュレーターとIDEコンテナーが論理的に分離された状態に実装されることもできるのもやはり当業者に明らかに理解可能であろう。このような実施例によって本発明の思想が限定的に理解されてはいけない。   Also, the QEMU simulator can be provided utilizing an IDE container. The QEMU simulator does not necessarily have to be included together with the IDE container, and it is also clearly understood by those skilled in the art that the QEMU simulator and the IDE container can be implemented in logically separated states. I will. The spirit of the present invention should not be understood in a limited manner by such embodiments.

使用者は前記接続(S410)の後に使用者インターフェース用ツール440を用いてソースコードを作成してアプリケーションを開発することができる(S411)。この時、システム400は使用者インターフェース用ツール440及び第1仮想システム431を生成して使用者に提供することで使用者のアプリケーション開発過程(S411)を支援する。   After the connection (S410), the user can develop source code and develop an application using the user interface tool 440 (S411). At this time, the system 400 generates the tool for user interface 440 and the first virtual system 431 and provides it to the user to support the application development process (S411) of the user.

システム400は開発されたアプリケーション(ソースコード)をターゲットボード用にプリビルドされたプリビルドソフトウェアを提供することができるコンテナー432、433に伝送(共有)することができる(S413a、S413b)。すなわち、同じソースコードを第1ターゲットボードのための第2仮想システム432に伝送することができ(S413a)、第2ターゲットボードのための第3仮想システム433に伝送することができる(S413b)。第1ターゲットボードはA社の製品、第2ターゲットボードはB社の製品であれば、同じソースコードと言ってもターゲットボードのオペレーティングシステムによってバイナリーアウトプットは変わることができるのは当業者に明らかに理解可能であろう。   The system 400 can transmit (share) the developed application (source code) to containers 432 and 433 that can provide pre-built software pre-built for the target board (S413a, S413b). That is, the same source code may be transmitted to the second virtual system 432 for the first target board (S413a), and may be transmitted to the third virtual system 433 for the second target board (S413b). It will be apparent to those skilled in the art that if the first target board is a product of company A and the second target board is a product of company B, the binary output can be changed depending on the operating system of the target board even if the same source code is used. It will be understandable.

システム400は第1ターゲットボードのための第1バイナリーアウトプットを第2仮想システム432上で生成し、第2ファイルシステム442に第1バイナリーアウトプットを伝送することができる(S415a)。同様に、システム400は第2ターゲットボードのための第2バイナリーアウトプットを第3仮想システム433上で生成し、第2ファイルシステム442に第2バイナリーアウトプットを伝送することができる(S415b)。   The system 400 may generate a first binary output for the first target board on the second virtual system 432, and transmit the first binary output to the second file system 442 (S415a). Similarly, the system 400 may generate a second binary output for the second target board on the third virtual system 433 and transmit the second binary output to the second file system 442 (S 415 b).

使用者は最終的にビルドの完了したバイナリーアウトプットをそれぞれダウンロードしてそれぞれのターゲットボードで実行することができる(S416a、S416b)。この時、システム400は第1バイナリーアウトプットを第1ターゲットボードで実行することができるように伝送することができ(S416a)、第2バイナリーアウトプットを第2ターゲットボードで実行することができるように伝送することができる(S416b)。図4では段階S416aとS416bを“伝送”という用語で表現したが、これは一実施例に過ぎないもので、本発明の思想がこれに限られて理解されてはいけない。図4で、段階S416aとS416bで例示しようとする事項は次の技術思想の一部を反映して表現される。クラウド又はスタンドアローンシステムで本発明の動作が実行される場合、バイナリーアウトプットは使用者が接続した(S410)コンピューティングシステムを介してダウンロードされなければならず、実行のために使用者が接続した(S410)コンピューティングシステムを介して又は他の記録媒体(例えば、USBメモリ、ポータブルハードディスク、SSDドライブなど)を介してターゲットボードにイメージライトされる過程を必要とする。   The user can finally download the completed binary outputs and execute them on the respective target boards (S416a, S416b). At this time, the system 400 may transmit the first binary output so that it can be executed on the first target board (S 416 a), and the second binary output may be executed on the second target board (S416b). Although steps S416a and S416b are represented by the term "transmission" in FIG. 4, this is merely an example, and the concept of the present invention should not be understood as limited thereto. In FIG. 4, items to be illustrated in steps S416a and S416b are expressed reflecting a part of the following technical idea. When the operation of the present invention is performed in a cloud or stand-alone system, the binary output must be downloaded via the computing system that the user connected (S410), and the user connected for the execution (S410) A process of image writing on the target board through the computing system or through another recording medium (eg, USB memory, portable hard disk, SSD drive, etc.) is required.

本発明によれば、ターゲットボードのそれぞれで実行のための組み込みソフトウェアの最終アウトプットをビルドするのに必要な時間を縮めることができるので、使用者は使用者インターフェース用ツール440及び第1仮想システム431内のシミュレーターで多様なツールチェーンを試して見ることができ、よってツールチェーンを簡便に構築することができる。   According to the present invention, since the time required to build the final output of the embedded software for execution on each of the target boards can be reduced, the user can use the tool 440 for the user interface and the first virtual system. The simulator in the 431 allows you to try out various toolchains, so you can build them easily.

本発明によれば、使用者はクラウド開発環境を用いる場合、使用者のコンピューティングシステムのリソースを不必要に使わなくても便利にアプリケーションを開発することができる。   According to the present invention, when using a cloud development environment, a user can conveniently develop an application without unnecessarily using the resources of the user's computing system.

本発明によれば、使用者がチームワークによって組み込みソフトウェアを開発する場合にも、チームメンバー間のビルドファイルを互いに共有する過程でファイル複製ではないリンク共有によって時間及びリソースを節減することができる。   According to the present invention, even when a user develops embedded software by teamwork, time and resources can be saved by link sharing which is not file replication in the process of sharing build files among team members with each other.

本発明によれば、多数のチームメンバーが同じクラウド開発環境内で開発を進行する場合、全てのチームメンバーの開発環境の構成が同一であるので、他のチームメンバーの全てのビルドファイルが相互間のシミュレーターでシミュレーションすることができ、相互間の環境で実行可能である。また、チームメンバーAによるシミュレーション及び実行の結果とチームメンバーBによるシミュレーション及び実行の結果が同一であるので、エラー発生の確率を減少させ、デバッギングにかかる時間とリソースを節減することができる。   According to the present invention, when many team members proceed with development within the same cloud development environment, since all team members have the same configuration of development environment, all the build files of other team members are mutually Can be simulated by the simulator and can be executed in the environment between each other. In addition, since the result of simulation and execution by the team member A and the result of simulation and execution by the team member B are the same, the probability of error occurrence can be reduced and debugging time and resources can be saved.

図5は本発明の一実施例による仮想化されたシステム上で組み込みソフトウェアを自動で生成する方法を示す動作フローチャートである。図5の方法はシステム300、400内の少なくとも一つ以上のプロセッサによって単独で又は集合的に実行されることができる。   FIG. 5 is an operation flowchart illustrating a method of automatically generating embedded software on a virtualized system according to an embodiment of the present invention. The method of FIG. 5 may be performed alone or collectively by at least one or more processors in systems 300,400.

システム300、400はウェブを介して接続可能なクラウド開発環境上で使用者がソースコードを編集することができる使用者インターフェース用ツール340、440を提供する(S510)。   The system 300, 400 provides user interface tools 340, 440 that allow the user to edit source code on a cloud development environment connectable via the web (S510).

システム300、400は第1仮想システム331、431上で前記使用者インターフェース用ツール340、440を用いて編集された前記ソースコードに対するシミュレーションを実行し(S520)、システム300、400は前記ソースコードに対する前記シミュレーション結果を前記使用者インターフェース用ツール340、440を用いて前記使用者にフィードバックする(S530)。   The system 300 400 executes a simulation on the source code edited using the user interface tool 340 440 on the first virtual system 331 431 (S520), and the system 300 400 operates on the source code The simulation result is fed back to the user using the user interface tools 340 and 440 (S530).

システム300、400はターゲットボードで組み込みソフトウェアを動作させるためのオペレーティングシステムに基づいて前もって生成したプリビルドソフトウェアを第2仮想システム332、432又は第3仮想システム333、433上で提供することができる(S540)。   The system 300, 400 may provide pre-built software generated in advance based on an operating system for operating embedded software on the target board on the second virtual system 332, 432 or the third virtual system 333, 433 (see FIG. S540).

システム300、400は前記ソースコードを前記ターゲットボードに対して前もって生成したプリビルドソフトウェアと結合して前記ターゲットボードで実行することができるバイナリープリビルドを第2仮想システム332、432又は第3仮想システム333、433上で生成することができる(S550)。   The system 300 400 can combine the source code with the pre-built software generated in advance for the target board to execute a binary pre-build on the second board 332, 432 or a third virtual system 333, 433 can be generated (S550).

図6は本発明の一実施例による仮想化されたシステム上で組み込みソフトウェアを自動で生成する方法を示す動作フローチャートである。図6の方法はシステム300、400内の少なくとも一つ以上のプロセッサによって単独で又は集合的に実行されることができる。   FIG. 6 is an operation flowchart illustrating a method of automatically generating embedded software on a virtualized system according to an embodiment of the present invention. The method of FIG. 6 may be performed alone or collectively by at least one or more processors in the systems 300,400.

図6に示した段階のうち、段階(S610、S620、S630、S640、及びS650)は図5に示された段階(S510、S520、S530、S540、及びS550)と類似しているので、重複説明は省略する。   Of the steps shown in FIG. 6, steps S610, S620, S630, S640, and S650 are similar to the steps shown in FIG. 5 (S510, S520, S530, S540, and S550). The description is omitted.

システム300、400はターゲットボードのためのプリビルドソフトウェアを第2仮想システム332、432又は第3仮想システム333、433上で生成することができる(S612)。この時、使用者インターフェース用ツール340、440で開発されたソースコードが第2仮想システム332、432及び第3仮想システム333、433に伝送される前、第2仮想システム332、432及び第3仮想システム333、433のそれぞれで第1プリビルドソフトウェア及び第2プリビルドソフトウェアがプリビルドされることができる。この時、プリビルドソフトウェアはターゲットボードで動作するアプリケーションを除き、ターゲットボードと連関したオペレーティングシステムなどの情報を含んで前もって生成される疑似バイナリーイメージ形態の情報を意味し得ることは前述したようである。   The system 300, 400 may generate pre-built software for the target board on the second virtual system 332, 432 or the third virtual system 333, 433 (S612). At this time, before the source code developed by the user interface tools 340 and 440 is transmitted to the second virtual systems 332 and 432 and the third virtual systems 333 and 433, the second virtual systems 332 and 432 and the third virtual systems 332 and 432 may be used. The first pre-build software and the second pre-build software may be pre-built in each of the systems 333, 433. At this time, as described above, the pre-built software may mean information in the form of pseudo binary image generated in advance including information such as an operating system associated with the target board, except for an application operating on the target board. .

段階(S610)はシステム300、400によってウェブを介して接続可能なクラウド開発環境上で前記使用者が前記ソースコードを編集することができるように前記使用者インターフェース用ツール340、440を提供する方式で実装されることもできる。   In operation S610, the user interface tools 340 and 440 are provided to allow the user to edit the source code on a cloud development environment connectable by the system 300 and 400 via the web. Can also be implemented.

システム300、400はソースコードに対する第1ファイルシステム341、441を生成し、前記クラウド開発環境上に前記ソースコードに対する第1ファイルシステム341、441を保存することができる(S660)。   The system 300 400 may generate a first file system 341 441 for source code, and may store the first file system 341 441 for the source code on the cloud development environment (S 660).

システム300、400は少なくとも一つ以上のバイナリーアウトプットに対する第2ファイルシステム342、442を生成し、前記クラウド開発環境上に前記少なくとも一つ以上のバイナリーアウトプットに対する第2ファイルシステム342、442を保存することができる(S670)。   The system 300, 400 generates a second file system 342, 442 for at least one or more binary output, and stores the second file system 342, 442 for the at least one or more binary output on the cloud development environment. (S670).

図6には段階(S660)が各ソースコードに対するバイナリーアウトプットが生成される段階(S650)以後に実行されるものとして示されている。ここで、ソースコードが第1ファイルシステム341、441の形態として保存されることは使用者の開発シーケンスがある程度進行して最終アウトプットが得られた場合である。この時には、段階(S660)及び段階(S670)が実質的に同時又は順次実行されることができる。   FIG. 6 shows that step (S660) is performed after step (S650) of generating binary output for each source code. Here, the source code is stored in the form of the first file system 341 or 441 when the user's development sequence has progressed to some extent and the final output is obtained. At this time, steps S660 and S670 may be performed substantially simultaneously or sequentially.

図6には示されていない本発明の他の実施例によれば、ソースコードに対する第1ファイルシステム341、441の保存はソースコードに対するシミュレーション実行(S620)及びシミュレーション結果を使用者にフィードバックした(S630)直後に行われることもできる。すなわち、シミュレーション過程の中間精算及び検討時点ごとにソースコードに対するバックアップが行われることもできる。   According to another embodiment of the present invention not shown in FIG. 6, the storage of the first file system 341, 441 for the source code fed back the simulation execution (S620) for the source code and the simulation result to the user ( S630) can be performed immediately after. That is, backup may be performed on the source code at each intermediate settlement of the simulation process and at each examination time.

本発明の仮想化されたシステム上で組み込みソフトウェアを自動で生成する技法はクラウドサービスシステム300、400上で実装されることを前提として説明したが、本発明の思想はこれに局限されない。実施例によっては、スタンドアローン(stand−alone)状態のコンピューティングシステムとそのプロセッサによっても仮想化されたシステムを実装し、プリビルドソフトウェア及び組み込みソフトウェアを生成することができる。   Although the technique for automatically generating embedded software on the virtualized system of the present invention has been described on the premise that it is implemented on the cloud service system 300, 400, the idea of the present invention is not limited to this. In some embodiments, a stand-alone computing system and a system virtualized by the processor may be implemented to generate pre-built software and embedded software.

本発明の一実施例による組み込みソフトウェアを自動で生成する方法は多様なコンピュータ手段を介して実行可能なプログラム命令の形態に実装されてコンピュータ可読媒体に記録されることができる。前記コンピュータ可読媒体は、プログラム命令、データファイル、データ構造などを単独で又は組み合わせて含むことができる。前記媒体に記録されるプログラム命令は本発明のために特別に設計及び構成されたものであるかコンピュータソフトウェア当業者に知られて使用可能なものであり得る。コンピュータ可読記録媒体の例としては、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体(magnetic media)、CD−ROM、DVDのような光記録媒体(optical media)、フロプティカルディスク(floptical disk)のような磁気光媒体(magneto−optical media)、及びROM(Read Only Memory)、RAM、フラッシュメモリなどのような、プログラム命令を保存して実行することができるように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって作られるもののような機械語コードだけではなく、インタープリターなどを介してコンピュータによって実行可能な高級言語コードを含む。前記のようなハードウェア装置は本発明の動作を遂行するために一つ以上のソフトウェアモジュールとして作動するように構成されることができ、その逆もまた同様である。   A method of automatically generating embedded software according to an embodiment of the present invention may be implemented in the form of program instructions executable through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specifically designed and configured for the present invention or may be known to and used by computer software skilled in the art. Examples of computer readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs, DVDs, and floppy disks. Hardware specially configured to be able to store and execute program instructions such as magneto-optical media, and read only memory (ROM), RAM, flash memory, etc. Includes the device. Examples of program instructions include not only machine language code such as that produced by a compiler, but also high-level language code that can be executed by a computer via an interpreter or the like. Such hardware devices may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

しかし、本発明が実施例によって制限されるとか限定されるものではない。各図に提示した同じ参照符号は同じ部材を示す。本発明の実施例と図面に例示した長さ、高さ、サイズ、幅などは理解を深めるために誇張して示したものもあり得る。   However, the present invention is not limited or limited by the examples. The same reference numerals as shown in the figures indicate the same parts. The lengths, heights, sizes, widths, etc. illustrated in the embodiments of the present invention and the drawings may be exaggerated for better understanding.

以上のように、本発明では具体的な構成要素などの特定事項と特定の実施例及び図面に基づいて説明したが、これは本発明のより全般的な理解を深めるために提供したものであるだけ、本発明は前記実施例に限定されるものではなく、本発明が属する分野で通常の知識を有する者であればこのような記載から多様な修正及び変形が可能である。   As described above, the present invention has been described based on specific items such as specific components and the like and specific examples and drawings, which are provided to deepen the overall understanding of the present invention. The present invention is not limited to the above-described embodiment, and various modifications and variations can be made from such description by those skilled in the art to which the present invention belongs.

したがって、本発明の思想は前述した実施例に限られて決定されてはいけなく、後述する特許請求範囲だけではなくこの特許請求範囲と均等乃至等価の変形の全ては本発明の思想範疇に属すると言える。   Therefore, the spirit of the present invention should not be limited to the above-described embodiments, and all modifications that are equivalent to or equivalent to the claims and not the claims described below belong to the scope of the present invention. It can be said.

300、400 クラウドサービスシステム又はクラウドコンピューティングシステム
331、431 第1仮想システム
332、432 第2仮想システム
333、433 第3仮想システム
340、440 使用者インターフェース用ツール
341、441 第1ファイルシステム
342、442 第2ファイルシステム
350、450 コンテナーエンジン
360、460 ホストオペレーティングシステム
300, 400 Cloud service system or Cloud computing system 331, 431 First virtual system 332, 432 Second virtual system 333, 433 Third virtual system 340, 440 Tool for user interface 341, 441 First file system 342, 442 Second file system 350, 450 Container engine 360, 460 host operating system

Claims (14)

使用者がソースコードを編集することができる使用者インターフェース用ツールを提供する段階;
第1仮想システム上で前記使用者インターフェース用ツールを用いて編集した前記ソースコードに対するシミュレーションを実行し、前記ソースコードに対する前記シミュレーション結果を前記使用者インターフェース用ツールを用いて前記使用者にフィードバックする段階;
ターゲットボードで組み込みソフトウェアを動作させるためのオペレーティングシステムに基づいて前もって生成したプリビルドソフトウェアを第2仮想システム上で提供する段階;及び
前記ソースコードを前記ターゲットボードに対して前もって生成した前記プリビルドソフトウェアと結合して前記ターゲットボードで実行することができるバイナリーアウトプットを生成する段階;
を含む、仮想化されたシステム上で組み込みソフトウェアを自動で生成する方法。
Providing a user interface tool that allows the user to edit the source code;
Performing simulation on the source code edited using the user interface tool on the first virtual system, and feeding back the simulation result on the source code to the user using the user interface tool ;
Providing on the second virtual system pre-generated pre-built software based on an operating system for operating embedded software on the target board; and said pre-built software previously generating the source code for the target board Generating a binary output that can be executed on said target board in combination with
How to automatically generate embedded software on a virtualized system, including:
前記第1仮想システムと前記第2仮想システムは同一のホストオペレーティングシステム階層上で実行される、請求項1に記載の仮想化されたシステム上で組み込みソフトウェアを自動で生成する方法。   The method of automatically generating embedded software on a virtualized system according to claim 1, wherein the first virtual system and the second virtual system are executed on the same host operating system hierarchy. 前記第2仮想システム上で前記プリビルドソフトウェアを生成する過程で活用された開発環境情報が前記第1仮想システム上で実行されるシミュレーション過程に共有される、請求項2に記載の仮想化されたシステム上で組み込みソフトウェアを自動で生成する方法。   3. The virtualized system according to claim 2, wherein development environment information utilized in the process of generating the pre-built software on the second virtual system is shared in a simulation process executed on the first virtual system. How to automatically generate embedded software on a system. 前記第1仮想システム上で前記ソースコードに対する前記シミュレーション過程で得られる前記ソースコードに対する活用情報が前記第2仮想システム上で前記プリビルドソフトウェアを生成する過程に共有される、請求項2に記載の仮想化されたシステム上で組み込みソフトウェアを自動で生成する方法。   The utilization information for the source code obtained in the simulation process for the source code on the first virtual system may be shared in the process of generating the pre-built software on the second virtual system. How to automatically generate embedded software on a virtualized system. 前記使用者インターフェース用ツールを提供する段階は、
ウェブを介して接続可能なクラウド開発環境上で前記使用者が前記ソースコードを編集することができるように前記使用者インターフェース用ツールを提供する、請求項1に記載の仮想化されたシステム上で組み込みソフトウェアを自動で生成する方法。
Providing the user interface tool may include
The virtualized system according to claim 1, wherein the user interface tool is provided so that the user can edit the source code on a cloud development environment connectable via the web. How to automatically generate embedded software.
前記ソースコードに対するファイルシステムを生成し、前記クラウド開発環境上に前記ソースコードに対するファイルシステムを保存する段階をさらに含む、請求項5に記載の仮想化されたシステム上で組み込みソフトウェアを自動で生成する方法。   The embedded software is automatically generated on the virtualized system according to claim 5, further comprising the steps of: generating a file system for the source code; and storing the file system for the source code on the cloud development environment. Method. 前記バイナリーアウトプットに対するファイルシステムを生成し、前記クラウド開発環境上に前記バイナリーアウトプットに対するファイルシステムを保存する段階をさらに含む、請求項5に記載の仮想化されたシステム上で組み込みソフトウェアを自動で生成する方法。   The embedded software may be automatically generated on the virtualized system according to claim 5, further comprising: generating a file system for the binary output; and storing the file system for the binary output on the cloud development environment. How to generate. プロセッサを含むコンピューティングシステムであって、
前記プロセッサは、
使用者がソースコードを編集することができる使用者インターフェース用ツールを提供し、
第1仮想システム上で前記使用者インターフェース用ツールを用いて編集した前記ソースコードに対するシミュレーションを実行し、前記ソースコードに対する前記シミュレーション結果を前記使用者インターフェース用ツールを用いて前記使用者にフィードバックし、
ターゲットボードで組み込みソフトウェアを動作させるためのオペレーティングシステムに基づいて前もって生成したプリビルドソフトウェアを第2仮想システム上で提供し、
前記ソースコードを前記ターゲットボードに対して前もって生成した前記プリビルドソフトウェアと結合して前記ターゲットボードで実行することができるバイナリーアウトプットを生成する、仮想化されたシステム上で組み込みソフトウェアを自動で生成するコンピューティングシステム。
A computing system including a processor,
The processor is
Provide a tool for user interface that allows the user to edit source code,
A simulation is performed on the source code edited using the user interface tool on the first virtual system, and the simulation result for the source code is fed back to the user using the user interface tool.
Providing pre-built software generated in advance on the second virtual system based on the operating system for operating the embedded software on the target board,
Automatically generate embedded software on a virtualized system that combines the source code with the pre-built software previously generated for the target board to generate binary output that can be executed on the target board Computing system.
前記プロセッサは前記第1仮想システムと前記第2仮想システムを同じホストオペレーティングシステム階層上で実行する、請求項8に記載の仮想化されたシステム上で組み込みソフトウェアを自動で生成するコンピューティングシステム。   The computing system for automatically generating embedded software on a virtualized system according to claim 8, wherein the processor executes the first virtual system and the second virtual system on the same host operating system hierarchy. 前記プロセッサは前記第2仮想システム上で前記プリビルドソフトウェアを生成する過程で活用された開発環境情報を前記第1仮想システム上で実行されるシミュレーション過程に共有する、請求項9に記載の仮想化されたシステム上で組み込みソフトウェアを自動で生成するコンピューティングシステム。   10. The virtualization according to claim 9, wherein the processor shares development environment information utilized in the process of generating the pre-built software on the second virtual system in a simulation process executed on the first virtual system. Computing system that automatically generates embedded software on a distributed system. 前記プロセッサは前記第1仮想システム上で前記ソースコードに対する前記シミュレーション過程で得られる前記ソースコードに対する活用情報を前記第2仮想システム上で前記プリビルドソフトウェアを生成する過程に共有する、請求項9に記載の仮想化されたシステム上で組み込みソフトウェアを自動で生成するコンピューティングシステム。   10. The method according to claim 9, wherein the processor shares utilization information for the source code obtained in the simulation process for the source code on the first virtual system in a process of generating the pre-built software on the second virtual system. A computing system that automatically generates embedded software on the described virtualized system. 前記プロセッサはウェブを介して接続可能なクラウド開発環境上で前記使用者が前記ソースコードを編集することができるように前記使用者インターフェース用ツールを提供する、請求項8に記載の仮想化されたシステム上で組み込みソフトウェアを自動で生成するコンピューティングシステム。   The virtualized server according to claim 8, wherein the processor provides the user interface tool so that the user can edit the source code on a cloud development environment connectable via web. A computing system that automatically generates embedded software on a system. 前記プロセッサは前記ソースコードに対するファイルシステムを生成し、前記クラウド開発環境上に前記ソースコードに対するファイルシステムを保存する、請求項12に記載の仮想化されたシステム上で組み込みソフトウェアを自動で生成するコンピューティングシステム。   The computer system of claim 12, wherein the processor generates a file system for the source code and stores the file system for the source code on the cloud development environment. System. 前記プロセッサは前記バイナリーアウトプットに対するファイルシステムを生成し、前記クラウド開発環境上に前記バイナリーアウトプットに対するファイルシステムを保存する、請求項12に記載の仮想化されたシステム上で組み込みソフトウェアを自動で生成するコンピューティングシステム。   The embedded software is automatically generated on the virtualized system according to claim 12, wherein the processor generates a file system for the binary output, and stores the file system for the binary output on the cloud development environment. Computing system.
JP2018066786A 2017-12-21 2018-03-30 Method and computing system for automatically generating embedded software on a virtualized system Active JP6603746B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170177147A KR102054980B1 (en) 2017-12-21 2017-12-21 Computing system and method for automatically generating embedded software on virtualized system
KR10-2017-0177147 2017-12-21

Publications (2)

Publication Number Publication Date
JP2019114223A true JP2019114223A (en) 2019-07-11
JP6603746B2 JP6603746B2 (en) 2019-11-06

Family

ID=67222709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018066786A Active JP6603746B2 (en) 2017-12-21 2018-03-30 Method and computing system for automatically generating embedded software on a virtualized system

Country Status (2)

Country Link
JP (1) JP6603746B2 (en)
KR (1) KR102054980B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905185A (en) * 2021-01-25 2021-06-04 浙江大学 Embedded Linux kernel dynamic analysis platform based on QEMU

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102237877B1 (en) 2019-12-06 2021-04-09 주식회사 오픈드래프트 Intelligent software auto development system with real-time collaboration support and method thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110037140A (en) 2009-10-06 2011-04-13 선문대학교 산학협력단 System for providing virtual development environment for embedded software
KR102335715B1 (en) * 2015-12-04 2021-12-06 한국전자기술연구원 Embedded hardware development and verification framework based on virtualization

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905185A (en) * 2021-01-25 2021-06-04 浙江大学 Embedded Linux kernel dynamic analysis platform based on QEMU
CN112905185B (en) * 2021-01-25 2023-10-31 浙江大学 QEMU-based embedded Linux kernel dynamic analysis platform

Also Published As

Publication number Publication date
KR102054980B1 (en) 2019-12-12
KR20190075508A (en) 2019-07-01
JP6603746B2 (en) 2019-11-06

Similar Documents

Publication Publication Date Title
EP3518098B1 (en) Cross platform content management and distribution system
Mubeen et al. Provisioning of predictable embedded software in the vehicle industry: The rubus approach
Pathania Learning Continuous Integration with Jenkins: A Beginner's Guide to Implementing Continuous Integration and Continuous Delivery Using Jenkins 2
Marshall Mastering VMware VSphere 6
CN109413189B (en) Electronic transaction system based on bottom translation
JP6603746B2 (en) Method and computing system for automatically generating embedded software on a virtualized system
Nüst et al. The rockerverse: packages and applications for containerization with r
Junghanns et al. Building virtual ECUs quickly and economically
Thomas et al. Simulation factory: Taming application configuration and workflow on high-end resources
Park TREDE and VMPOP: Cultivating multi-purpose datasets for digital forensics–A Windows registry corpus as an example
Chen et al. Architecture-based integrated management of diverse cloud resources
Werner et al. Cloud-based design and virtual prototyping environment for embedded systems
Ciliberti ASP. NET Core Recipes: A Problem-Solution Approach
US11048479B2 (en) Software conversion simulation mode
Thompson Vagrant virtual development environment cookbook
Lukavsky Building Big Data Pipelines with Apache Beam: Use a single programming model for both batch and stream data processing
Bjørnson et al. D5. 1 Model development guidelines
Kohli et al. Troubleshooting Docker
Behere et al. Educating embedded systems hackers: a practitioner's perspective
Reznikov Creating tailored OS images for embedded systems using Buildroot
Soni et al. MockRest—A generic approach for automated mock framework for REST APIs generation
Berzins et al. Putting teeth into open architectures: Infrastructure for reducing the need for retesting
Staroletov et al. Testing Methods for Blockchain Applications
Jobanputra Cloud Interface for LiveHD
Behere et al. Educating embedded systems hackers: A practitioner's perspective

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190722

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190917

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191011

R150 Certificate of patent or registration of utility model

Ref document number: 6603746

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250