Linuxを使わずにOSレス環境でプログラムを動かす方法 Alte Xilin ra & x 共通 ! U-Boot を使った ベアメタル・アプリケーションの作り方 石原 ひでみ Hidemi Ishihara ARM コア内蔵 FPGA で走らせる OS は Linux だけではありません.アプリケーションの規模が小さい,またはリアルタイム性が必 要な処理では,OS を使わないベアメタル・アプリケーションを実行することもあります.ここでは Altera と Xilinx で共通で使える U-Boot を使ったベアメタル・アプリケーションの作り方を解説します.ARM プロセッサは,キャッシュを使うために MMU の初期化 が必要になりますが,ここでもキャッシュを有効にして CPU パワーを発揮させます. (a)評価ボード DE1-SoC (b)評価ボード ZYBO 写真 1 DE1-SoC と ZYBO の両方で動作するベアメタル・アプリケーションの作成 1 ベンダ純正 SDK と俺々 Linux ディストリビューション SDK 本書 No.12 の特集と No.13 の記事で,いわゆる俺々 Linux ディストリビューションを構築し,Cyclone V SoC 搭載評価ボード DE1-SoC および,Zynq 搭載評価 ボード ZYBO を動かしてきました.しかし「OS なん ぞいらない!」,「ベアメタル・アプリケーションで十 分だ!」という方もいるでしょう. そこで今回は,FPGA マガジン No.12 の俺々 Linux ディストリビューションで構築したクロス開発環境 (SDK)を使用して,DE1-SoC と ZYBO で動作するベ アメタル・アプリケーションを開発していきます. ● ベアメタル・アプリケーションの欠点 ベアメタル・アプリケーションの欠点と言えば,使 用する全ての制御を自分で行わなければいけない(自 分で作成しなければいけない)ことではないでしょう か.逆に言えば,Linux ディストリビューションはそ の点をカバーするために使用したと言っても過言では ありません. 現実的には,使用する全ての制御を自前で用意する 116 のは大変なので,Altera 社も Xilinx 社もベアメタル・ アプリケーションを作成するためのライブラリを用意 しています.Altera 社の場合は ARM 純正開発環境で あ る ARM DS-5 の Altera Edition(AE) ,Xilinx 社 の 場合は Vivado HLx 環境に Vivado SDK が用意されて おり,ベアメタル・アプリケーションをサポートする 周辺ペリフェラルや両社の IP コアなどのライブラリ が用意されています.それぞれ,自社向けデバイスを サポートするために,Altera 社の場合は“alt_”で始 まる関数が,Xilinx 社の場合は“x”で始まる関数が準 備されています.通常はこれらメーカ製 SDK を使用 して開発していることでしょう. ● Altera & Xilinx 共通開発環境! 今回は DE1-SoC と ZYBO の両方で動作するベアメ タ ル・ ア プ リ ケ ー シ ョ ン の 開 発 を 行 っ て い き ま す (写真 1) .両方で動作するソースコードはそれぞれ用 に作成するのではなく,同じソースコードを使用しま す. 同じソースコードと言っても,それぞれのメーカの SDK を使用すると,Cylcone V SoC(以下 SoC FPGA) で作成するときは alt_ で始まる,Zynq で作成する U-Boot を使ったベアメタル・アプリケーションの作り方
© Copyright 2024 ExpyDoc