(57)【要約】【課題】Ｌｉｎｕｘ搭載支援プログラムにおいて、ＦＰＧＡ内蔵型ＳｏＣへのＬｉｎｕｘの搭載を容易に行うことができるようにする。【解決手段】支援プログラムにおける自動生成プログラム８１が、ユーザが入力したＰＳ（Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍ）部の情報と、ＰＬ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ）部の情報とを含む設定情報に基づいて、ＣＰＵコア上でＬｉｎｕｘを起動するのに必要なブートファイル（ＢＯＯＴ．ｂｉｎ９０、ｓｙｓｔｅｍ．ｄｔｂ９２、ｕＩｍａｇｅ９４、及びｕＥｎｖ．ｔｘｔ９５）の自動生成を行うようにした。これにより、ユーザが、ＦＰＧＡ内蔵型ＳｏＣへのＬｉｎｕｘの搭載を容易に行うことができる。【選択図】図８
2020177544.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵコアとＦＰＧＡとを備えたＦＰＧＡ内蔵型ＳｏＣへのＬｉｎｕｘ搭載を支援するためのプログラムであって、
コンピュータを、
前記ＣＰＵコアに対応したＰＳ（Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍ）部の情報と、前記ＦＰＧＡに対応したＰＬ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ）部の情報とを含む設定情報を入力するための設定情報入力手段と、
前記設定情報入力手段で入力された設定情報に基づいて、前記ＣＰＵコア上でＬｉｎｕｘを起動するのに必要なブートファイルの自動生成を行う自動生成手段として機能させるための、Ｌｉｎｕｘ搭載支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵコアとＦＰＧＡとを備えたＦＰＧＡ内蔵型ＳｏＣへのＬｉｎｕｘ搭載を支援するためのプログラム（Ｌｉｎｕｘ搭載支援プログラム）に関する。
【背景技術】
【０００２】
近年、ターゲット機器のシステム（ターゲット基板）として、Ｌｉｎｕｘ搭載型の汎用性及びリアルタイム性の高いシステムが求められている。そこで、ＺＹＮＱ（登録商標）等の、ＦＰＧＡと複数のＣＰＵとを内蔵したＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−Ｃｈｉｐ）が登場した。この種のＳｏＣは、ＦＰＧＡを内蔵しており、リアルタイム性の高いシステムに適している。また、この種のＳｏＣのＣＰＵには、ＡＲＭコアが用いられており、汎用性の高いシステムに適している。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところが、上記のようなＦＰＧＡ内蔵型のＳｏＣに、ＬＩＮＵＸを搭載して、ＦＰＧＡにターゲットとなるハード回路（ディジタル回路）を構築するとなると、ターゲット・システムの開発時に、必要とするソフトウエアとハードウエア（ＶＨＤＬ）環境の相方を用意し、必用とするＬｉｎｕｘソフトウエアと、ＦＰＧＡに必要な回路及び（ＺＹＮＱ等のＳｏＣのメーカが提供する）ＳｏＣコア（例えばＤＤＲのセットアップや諸々のドライバーソフト等）が使用できる様に、ブートファイルを生成する必要がある。このブートファイルの生成は、ＰＳ（Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍ）部（ＡＲＭコア側の部分）の情報と、ＰＬ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ）部（ＦＰＧＡ側の部分）の両方の情報を融合する面倒な作業であるため、ブートファイルの生成を簡単に行うことはできない。
【０００４】
本発明は、上記課題を解決するものであり、ユーザが、ＦＰＧＡ内蔵型ＳｏＣへのＬｉｎｕｘの搭載を容易に行うことが可能なＬｉｎｕｘ搭載支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明のＬｉｎｕｘ搭載支援プログラムは、ＣＰＵコアとＦＰＧＡとを備えたＦＰＧＡ内蔵型ＳｏＣへのＬｉｎｕｘ搭載を支援するためのプログラムであって、コンピュータを、前記ＣＰＵコアに対応したＰＳ（Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍ）部の情報と、前記ＦＰＧＡに対応したＰＬ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ）部の情報とを含む設定情報を入力するための設定情報入力手段と、
前記設定情報入力手段で入力された設定情報に基づいて、前記ＣＰＵコア上でＬｉｎｕｘを起動するのに必要なブートファイルの自動生成を行う自動生成手段として機能させるための、Ｌｉｎｕｘ搭載支援プログラムである。
【発明の効果】
【０００６】
本発明のＬｉｎｕｘ搭載支援プログラムによれば、入力したＰＳ（Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍ）部の情報と、ＰＬ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ）部の情報とを含む設定情報に基づいて、ＣＰＵコア上でＬｉｎｕｘを起動するのに必要なブートファイルの自動生成を行うことができる。これにより、ユーザが、ＦＰＧＡ内蔵型ＳｏＣへのＬｉｎｕｘの搭載を容易に行うことができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態に係るＬｉｎｕｘ搭載支援プログラムを用いたＬｉｎｕｘ搭載型ターゲット・システムの開発環境を示す図。
【図２】同Ｌｉｎｕｘ搭載支援プログラムにより自動生成されたブートファイルを用いて起動されるＦＰＧＡ内蔵型ＳｏＣを有するターゲット機器の例の概略のハードウェア構成図。
【図３】同Ｌｉｎｕｘ搭載支援プログラムにおいて用いられるスプレッドシートの全般タブの説明図。
【図４】同スプレッドシートのＰＳ側タブの説明図。
【図５】同スプレッドシートのＰＬ側タブの説明図。
【図６】同スプレッドシートのＬＩＮＵＸ関係タブの説明図。
【図７】同スプレッドシートのその他タブの説明図。
【図８】上記スプレッドシートから設定入力された情報を用いて行うブートファイルの生成処理を示すフローチャート。
【図９】図２中のＳＤメモリカードの第２パーテションに格納されるルートファイル（ＲｏｏｔＦＳ）の説明図。
【発明を実施するための形態】
【０００８】
以下、本発明を具体化した実施形態によるＬｉｎｕｘ搭載支援プログラムについて、図面を参照して説明する。図１は、本発明の一実施形態のＬｉｎｕｘ搭載支援プログラム１（以下、「支援プログラム」と略す）を用いた、ＦＰＧＡ内蔵型ＳｏＣ用のＬｉｎｕｘ搭載型ターゲット・システムの開発環境（支援プログラム１の推奨操作環境）について、図１を参照して説明する。この支援プログラム１は、ＣＰＵコアとＦＰＧＡとを備えたＦＰＧＡ内蔵型ＳｏＣへのＬｉｎｕｘ搭載を支援するためのプログラムである。この支援プログラム１の特徴は、ユーザが簡単なスプレッドシート上の項目に入力操作するだけで、直ぐに、Ｖｉｖａｄｏプロジェクト（ＦＰＧＡ用の回路図）の生成、インプリメンテーション（回路図の配置・配線）、Ｌｉｎｕｘカーネルのビルド等ができることにある。要するに、支援プログラム１によれば、ユーザが、ＦＰＧＡ内蔵型ＳｏＣにおけるＣＰＵコアに対応したＰＳ（Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍ）部の情報と、ＦＰＧＡに対応したＰＬ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ）部の情報とを含む設定情報を、スプレッドシート上の項目に入力することにより、入力された設定情報に基づいて、上記ＣＰＵコア上でＬｉｎｕｘを起動するのに必要なブートファイルの自動生成を行う。
【０００９】
図１は、上記のＬｉｎｕｘ搭載型ターゲット・システムの開発環境を備えたパーソナル・コンピュータであるＰＣ２の概略の構成を示す。ＰＣ２は、自装置全体の制御や演算処理を行うＣＰＵ３と、各種のプログラムやデータを格納したハードディスク４と、各種のプログラムの実行時に、実行するプログラムやデータをロードするメモリ５と、ＬＡＮ等のネットワークへの接続用の通信インタフェース６と、上記のスプレッドシート等を表示するディスプレイ７と、キーボードやマウス等の入力装置８（設定情報入力手段）と、ＳＤメモリカード１０との入出力インタフェースであるＳＤメモリカードＩＦ９とを備えている。
【００１０】
上記のハードディスク４には、上記の支援プログラム１に加えて、Ｗｉｎｄｏｗｓ１０等のＷｉｎｄｏｗｓ  ＯＳ１１と、Ｕｂｕｎｔｕ  Ｌｉｎｕｘ（以下、「Ｕｂｕｎｔｕ」と略す）１２と、ＶｅｒｔｕａｌＢｏｘ１３と、ＧＮＵプログラム開発環境１４と、Ｖｉｖａｄｏ１５と、ＳＤＫ１６とが含まれる。上記のＵｂｕｎｔｕ１２は、Ｄｅｂｉａｎ  ＧＮＵ／ＬｉｎｕｘをベースとしたＯＳであり、仮想マシンＯＳとして用いられる。ＶｅｒｔｕａｌＢｏｘ１３は、オラクル社が開発したｘ８６仮想化ソフトウェア・パッケージの一つであり、既存のオペレーティング・システム（ホストＯＳ）上にアプリケーションの一つとしてインストールされ、この中で追加のオペレーティング・システム（ゲストＯＳ）を実行することができる。例えば、Ｗｉｎｄｏｗｓ  ＯＳが「ホストＯＳ」として動作しているマシン（コンピュータ）上で、Ｌｉｎｕｘを、ゲストＯＳとすることができる。また、上記のＧＮＵプログラム開発環境１４には、ＧＣＣ（ＧＮＵ  Ｃｏｍｐｉｌｅｒ  Ｃｏｌｌｅｃｔｉｏｎ）が含まれている。
【００１１】
上記のＶｉｖａｄｏ１５は、ＦＰＧＡ設計用の論理合成・配置配線ツールである。上記のＳＤＫ１６は、ＺＹＮＱ（登録商標）等のＦＰＧＡ内蔵型ＳｏＣに対応したソフトウェアを開発するための開発キットである。また、上記の支援プログラム１は、ＰＣ３（のＣＰＵ３）を、請求項における自動生成手段として機能させる。
【００１２】
次に、図２を参照して、本実施形態の支援プログラム１により自動生成されたブートファイル２７を用いて起動されるＦＰＧＡ内蔵型ＳｏＣ２１を有するターゲット機器２０の構成例について、説明する。ターゲット機器２０は、ＦＰＧＡ内蔵型ＳｏＣ２１と、ＤＲＡＭの一種であるＤＤＲＩＩＩ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ３  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓs   Ｍｅｍｏｒｙ）２５（以下、「ＤＤＲ２５」と略す）とを有している。また、ターゲット機器２０の使用時には、ブートファイル２７を格納したＳＤメモリカード２６がターゲット機器２０に接続される。
【００１３】
上記のＦＰＧＡ内蔵型ＳｏＣ２１は、２つのＣＰＵコア２２ａ，２２ｂと、ＦＰＧＡ２３と、ＰＨＹ２４とを備えている。ＰＨＹ２４は、ＤＤＲ２５やＳＤメモリカード２６からの電気信号をディジタルデータに変換すると共に、ＦＰＧＡ内蔵型ＳｏＣ２１からのディジタルデータを電気信号に変換して、ＤＤＲ２５やＳＤメモリカード２６に出力する。
【００１４】
また、上記のブートファイル２７には、ＣＰＵコア２２ａ，２２ｂで動作するＬＩＮＵＸソフトウェアと、ＦＰＧＡ２３に必要な回路データ、及びＺＹＮＱ等のＦＰＧＡ内蔵型ＳｏＣのメーカが提供するＳｏＣコア（例えば、ＤＤＲ２５のセットアップ用のソフトウェアや種々のドライバーソフト等）が格納されている。
【００１５】
次に、本実施形態の支援プログラム１において、上記のＣＰＵコア２２ａ，２２ｂで動作するＬＩＮＵＸソフトウェアと、ＦＰＧＡ２３に必要なＶＨＤＬロジックのスケルトンの自動生成に用いられるスプレッドシート３０について、図３を参照して説明する。スプレッドシート３０は、後述する全般タブ３１、ＰＳ側タブ４１、ＰＬ側タブ５１、ＬＩＮＵＸ関係タブ６１、及びその他タブ７１から構成される。
【００１６】
まず、図３を参照して、上記の全般タブ３１について説明する。この全般タブ３１は、Ｖｉｖａｄｏプロジェクトの基本的な設定を行うための画面であり、プロジェクト名３２、ブロックデザイン名３３、（各種ファイルの保存先の）作業フォルダ３４、Ｖｉｖａｄｏインストール先フォルダ３５の設定欄から構成されている。
【００１７】
図４に示される上記のＰＳ側タブ４１は、ＣＰＵコア（例えば、上記のＣＰＵコア２２ａ，２２ｂ）に対応したＰＳ部の各種設定を行うための画面であり、ＰＳ内部ＰＬＬ設定エリア４２、ＰＬ部ＰＬＬ設定エリア４３、及びＰＳ部ＳｏＣ設定エリア４４を備えている。ＰＳ内部ＰＬＬ４２設定エリアは、ＰＳ部内部のＰＬＬクロックの設定欄から構成されている。また、ＰＬ部ＰＬＬ設定エリア４３は、ＰＬ部のＰＬＬの設定欄であるが、ＰＳ部のＰＬＬクロックが４本で足りない場合は、こちらのＰＬＬクロックが用いられる。また、ＰＳ部ＳｏＣ設定エリア４４は、ＰＳ部のＳｏＣの設定欄であり、ユーザがチェック状態にしたＳｏＣが使用される。
【００１８】
図５に示される上記のＰＬ側タブ５１は、ＦＰＧＡ２３の回路図上に配置するＩＰコア（スケルトン）の設定を行うための画面であり、ＩＰコア選択エリア５２、選択ＩＰコア基本設定エリア５３、入力ピン設定エリア５４、出力ピン設定エリア５５、及び割込ピン設定エリア５６を備えている。ＩＰコア選択エリア５２は、生成するＩＰコア（スケルトン）の個数設定欄と、編集するＩＰコアの選択欄から構成されている。選択ＩＰコア基本設定エリア５３は、選択中のＩＰコアの基本設定（ＩＰコア名、バージョン等の設定）を行うための設定欄から構成されている。入力ピン設定エリア５４は、選択中のＩＰコアの入力ピンの設定欄から構成されている。出力ピン設定エリア５５は、選択中のＩＰコアの出力ピンの設定欄から構成されている。割込ピン設定エリア５６は、選択中のＩＰコアの割込ピンの設定欄から構成されている。
【００１９】
図６に示される上記のＬＩＮＵＸ関係タブ６１は、ソフトウェアソースのダウンロード元のＵＲＬ等の設定を行うための画面であり、ダウンロード元設定エリア６２と、デバイスツリー・ジェネレータ格納先設定エリア６３とを備えている。ダウンロード元設定エリア６２は、Ｕ−ＢＯＯＴ（ブート・ローダ、カーネルを起動するためのソフトウェア）とＬｉｎｕｘカーネルについて、これらのソースのダウンロード元のＵＲＬと、ダウンロードするブランチ（ソースのバージョン）の設定欄から構成されている。デバイスツリー・ジェネレータ格納先設定エリア６３は、Ｖｉｖａｄｏのデバイスツリー・ジェネレータ（ＤｅｖｉｃｅＴｒｅｅＧｅｎｅｒａｔｏｒ）をインストールしたフォルダの設定欄を有している。
【００２０】
図７に示される上記のその他タブ７１は、ＢｌｏｃｋＲＡＭ設定エリア７２と、ＨＤＭＩ設定エリア７３とを備えている。ＢｌｏｃｋＲＡＭ設定エリア７２は、ＢｌｏｃｋＲＡＭを回路図上に作成するか否かのチェック欄や、ＢｌｏｃｋＲＡＭのアドレス及びレンジ（サイズ）の設定欄から構成されている。ＨＤＭＩ設定エリア７３は、ＨＤＭＩ表示用の回路を回路図上に作成するか否かのチェック欄や、ＶＤＭＡ（Ｖｉｄｅｏ  ＤＭＡ）のレジスタアドレスの設定欄や、ＶＤＭＡの割込み出力を受け取る番号の設定欄や、ＨＤＭＩ用の回路で使用するインタフェースとＩＰコアとのインストール先を指定するための設定欄（テキスト入力欄）とを備えている。
【００２１】
次に、図８を参照して、支援プログラム１が、ユーザにより上記のスプレッドシート３０から設定入力された設定情報を用いて行うブートファイルの生成処理について、説明する。図８における自動化部分８０は、このブートファイルの生成処理のうち、図１中のＰＣ２のＣＰＵ３が、上記の支援プログラム１に含まれる自動生成プログラム８１を用いて自動生成する部分を示す。また、図８におけるビルド部分９７は、上記の仮想マシンＯＳであるＵｂｕｎｔｕ１２上の作業として行われるＵ−Ｂｏｏｔソース８７とＬｉｎｕｘカーネルソース８８とのビルドの作業の部分である。
【００２２】
ユーザがディスプレイ７に表示されたスプレッドシート３０に対して、キーボード、マウス等の入力装置８を用いて設定入力して、Ｖｉｖａｄｏファイル生成処理の実行を指示すると、ＰＣ２のＣＰＵ３は、自動生成プログラム８１を用いて、Ｖｉｖａｄｏ１５でバッチ処理可能なビルド用のｔｃｌスクリプトであるｂｕｉｌｄ．ｔｃｌ８２ａを実行する。これにより、ＰＣ２のＣＰＵ３が、Ｖｉｖａｄｏ１５を呼び出して、スプレッドシート３０で設定された情報に基づいて、Ｖｉｖａｄｏプロジェクトをコンパイルして、ＢｉｔＳｔｒｅａｍ８３とＨＤＦ８４とを出力する。ここで、ＢｉｔＳｔｒｅａｍ８３は、ＰＬ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ）の配置・配線を行うコンフィグレーションデータであり、ＨＤＦ８４は、Ｖｉｖａｄｏプロジェクトをコンパイル後にハードウェア情報をエクスポートすることにより得られた、拡張子がｈｄｆのハードウェア情報のバイナリーファイルである。
【００２３】
上記のＨＤＦ８４の生成に成功すると、ＰＣ２のＣＰＵ３は、自動生成プログラム８１に従って、上記のＨＤＦ８４をＳＤＫ１６で読み込んで、このＳＤＫ１６に基づいて、ＬｉｎｕｘのファーストブートローダであるＦＳＢＬ８５（ｆｓｂｌ．ｅｌｆ）を生成する。
【００２４】
次に、上記の自動生成プログラム８１が行う処理のうち、Ｕ−Ｂｏｏｔ、Ｌｉｎｕｘカーネル、及びデバイスツリーの生成方法について、説明する。ユーザが、支援プログラム１が提供する画面上の「シェルスクリプト生成」ボタンを、ＰＣ２の入力装置８で選択すると、ＰＣ２のＣＰＵ３は、自動生成プログラム８１を用いて、Ｕ−Ｂｏｏｔ、Ｌｉｎｕｘカーネル、及びデバイスツリーの生成処理用のシェルスクリプト（ｂｕｉｌｄ．ｓｈ８２ｂ）を生成する。そして、ユーザが、仮想マシンＯＳであるＵｂｕｎｔｕ１２上で、上記のシェルスクリプト（ｂｕｉｌｄ．ｓｈ８２ｂ）に含まれるＵ−ＢｏｏｔとＬｉｎｕｘカーネルの生成（ビルド）用のシェルスクリプトを実行すると、ＰＣ２のＣＰＵ３は、Ｕ−Ｂｏｏｔソース８７のダウンロードとＵ−Ｂｏｏｔ８９のビルド、及びＬｉｎｕｘカーネルソース８８のダウンロードとＬｉｎｕｘカーネルのビルドを実行する。なお、上記のＵ−Ｂｏｏｔ８９とＬｉｎｕｘカーネル（ｕＩｍａｇｅ９４）のビルドは、ＡＲＭ用ＧＣＣ（ＧＮＵ  Ｃｏｍｐｉｌｅｒ  Ｃｏｌｌｅｃｔｉｏｎ：ＧＮＵプロジェクトが開発・配布している様々なＰＧ言語のコンパイラ群）に含まれるコンパイラを用いて、行われる。なお、図８に示すように、Ｌｉｎｕｘカーネルのビルドには、コンフィグレーションファイル（．ｃｏｎｆｉｇ）９３が用いられる。
【００２５】
また、ユーザが、支援プログラム１が提供する画面上の「ＢＯＯＴ．ｂｉｎ生成」ボタンを、ＰＣ２の入力装置８で選択すると、ＰＣ２のＣＰＵ３は、ＳＤＫ１６により、上記のＵ−Ｂｏｏｔ８９を、上述したＢｉｔＳｔｒｅａｍ８３及びＦＳＢＬ８５と結合して、ＢＯＯＴ．ｂｉｎ９０を生成する。
【００２６】
また、ユーザが、ＳＤＫ１６でデバイスツリーソース８６を生成した後、このデバイスツリーソース８６に含まれるＰＨＹのＩ／Ｆ記述を追加し、上記のＵｂｕｎｔｕ（Ｕｂｕｎｔｕ  Ｌｉｎｕｘ）１２上で、上記のシェルスクリプト（ｂｕｉｌｄ．ｓｈ８２ｂ）に含まれるデバイスツリーの生成処理用のシェルスクリプトを実行する。これにより、デバイスツリーソース８６のＵｂｕｎｔｕ（Ｕｂｕｎｔｕ  Ｌｉｎｕｘ）１２上におけるコンパイルが実行されて、ｓｙｓｔｅｍ．ｄｔｂ９２（デバイスツリー）が生成される。
【００２７】
さらに、ユーザが、支援プログラム１が提供する画面上の「ｕＥｎｖ．ｔｘｔ生成」ボタンを、ＰＣ２の入力装置８で選択すると、ＰＣ２のＣＰＵ３は、自動生成プログラム８１を用いて、ブート時の環境変数を書いたテキストファイルｕＥｎｖ．ｔｘｔ９５を生成する。
【００２８】
上記のようにして生成されたＢＯＯＴ．ｂｉｎ９０、ｓｙｓｔｅｍ．ｄｔｂ９２（デバイスツリー）、ｕＩｍａｇｅ９４（Ｌｉｎｕｘカーネル）、及びｕＥｎｖ．ｔｘｔ９５は、図２に示すＳＤメモリカード２６のブートファイルの一部として、ＳＤメモリカード２６の第１パーテション９６に格納される。
【００２９】
また、Ｌｉｎｕｘのルートファイルについては、ユーザが、使用したいものを、そのルートファイルを配布しているサイトのＵＲＬからダウンロードして、図９に示すように、ダウンロードした後の圧縮されたルートファイル（ＲｏｏｔＦＳ１００）を解凍して、解凍後のルートファイル（ＲｏｏｔＦＳ１０１）を、ＳＤメモリカード２６のブートファイルの一部として、ＳＤメモリカード２６の第２パーテション１０２に格納する。
【００３０】
上記のＳＤメモリカード２６の第１パーテション９６に格納されたＢＯＯＴ．ｂｉｎ９０、ｓｙｓｔｅｍ．ｄｔｂ９２、ｕＩｍａｇｅ９４、及びｕＥｎｖ．ｔｘｔ９５と、第２パーテション１０２に格納された解凍後のＬｉｎｕｘのルートファイル（ＲｏｏｔＦＳ１０１）により、ターゲット機器２０のＦＰＧＡ内蔵型ＳｏＣ２１において、Ｌｉｎｕｘを起動することができる。
【００３１】
上記のように、本実施形態の支援プログラム１によれば、ユーザがスプレッドシート３０上で入力したＰＳ（Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍ）部の情報と、ＰＬ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ）部の情報とを含む設定情報に基づいて、ＣＰＵコア上でＬｉｎｕｘを起動するのに必要なブートファイルの自動生成を行うことができる。これにより、ユーザが、ＦＰＧＡ内蔵型ＳｏＣ２１へのＬｉｎｕｘの搭載を容易に行うことができる。
【符号の説明】
【００３２】
１    支援プログラム（Ｌｉｎｕｘ搭載支援プログラム）
２    ＰＣ（コンピュータ）
３    ＣＰＵ（自動生成手段）
８    入力装置（設定情報入力手段）
２１  ＦＰＧＡ内蔵型ＳｏＣ
２２ａ，２２ｂ  ＣＰＵコア
２３    ＦＰＧＡ
【図１】
2020177544.tif 000003
【図２】
2020177544.tif 000004
【図３】
2020177544.tif 000005
【図４】
2020177544.tif 000006
【図５】
2020177544.tif 000007
【図６】
2020177544.tif 000008
【図７】
2020177544.tif 000009
【図８】
2020177544.tif 000010
【図９】
2020177544.tif 000011