サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
www.aps-web.jp
概要1.1 インターネットの標準セキュリティ・プロトコル: TLSこのシリーズでは、製品開発に携わるソフトウェアエンジニアが、製品組み込みのためのセキュリティ機能に関するプログラミングを進めるにあたり必要となる知識について、整理して具体的にまとめます。一口にセキュリティといっても最近は非常に幅広い分野を含みます。ここでは、主にネットワークのセキュリティプロトコルや暗号アルゴリズムなど、製品に直接組み込んで利用するような機能を中心に取りあげて行きます。 今回は、その第一回としてインターネットのセキュリティプロトコルの代表選手TLS(Transport Layer Security)の製品組み込みに関してです。TLSはもともとSSL(Secure Socket Layer)と呼ばれていたデファクト標準をインターネットの標準化団体IETF(Internet Engineering Task Fo
【8本すべて無料】基礎から応用までしっかり学ぶ!組み込みLinuxウェビナー(Yocto/Docker/起動シーケンス 他) 講演概要2020年にAPSで公開した初心者向け組み込みLinuxウェビナー3回分、合計8本を、1回のお申し込みでまとめて視聴可能なサブスクウェビナーとして用意しました。組み込みLinuxの基礎知識、Linuxディストリビューション解説、「Docker」を利用したコンテナ技術の開発方法、さらには起動シーケンスを理解し、実際のLinuxアプリ開発も学ぶことが可能です。ウェビナー内で行っている実際の開発デモはRaspberry Pi 4を使用していますので、受講後すぐにYoctoベースの組み込みLinux「Wind River Linux」を使った開発を、皆様のお手元でお試しいただける内容です。是非この機会に組み込みLinux開発に活用できる知識をわかりやすい解説と丁寧な
現在の組み込みシステムは、たくさんのデバイスから構成されています。組み込みシステムに高い付加価値が求められる時流に伴い、ひとつの組み込みシステムには入出力デバイスはもとより、ネットワークデバイス、ストレージデバイス、セキュリティ管理デバイス、ユーザーから直接操作されることのない電源管理デバイスなど、様々な種類のデバイスが統合されています。これらのハードウェアを適切に運用するには、デバイスを製造したベンダーが定めた制御シーケンスに従い、ソフトウェアからデバイスを操作する必要があります。ここで活躍するソフトウェアモジュールが、デバイスドライバです。デバイスドライバは、デバイスベンダーが変わるたびにアプリケーションを再実装せずに済むよう、各デバイスの違いを吸収し、アプリケーションから使いやすいように機能を抽象化するソフトウェアです(図1)。 今回の初心者講座では、組み込みLinuxに同梱されてい
組み込みLinuxの魅力は、オープン・コミュニティから収集した多彩なコンポーネントと自社開発のコンポーネントを自由自在に組み合わせ、サービスを手早く構築し、これまでに無かった価値を創造できることです。今回の初心者講座ではLinuxディストリビューションの起動シーケンスを例に、Linuxディストリビューションにはどういったコンポーネントが含まれているのか、Linux上にて各コンポーネントはどのように連携しているのかについて解説いたします。また、こうしたLinuxのコンポーネント上で実行できるアプリケーションの開発方法を記事後半で解説。開発するPC(ex. Intel CPU)と異なるCPUアーキテクチャのターゲットデバイス(ex. 64bit Arm)を扱うためのクロスプラットフォーム開発の導入部を紹介いたします。是非、最後までお楽しみください。 8本すべて無料!組み込みLinuxウェビナー
講演概要医療、車載、産業、航空宇宙、通信、ウェアラブルやサイネージなど、あらゆる組み込みシステムが高度化する現在、様々な機能を簡単に統合できる「組み込みシステム向けのLinux(組み込みLinux)」の注目は益々高まり、多くの製品に活用されています。一方で、Linuxディストリビューションの種類も爆発的に増大しており、自社の組み込み製品には、どのLinuxディストリビューションが最適なのかという選定が難しく、なかなか組み込みLinux開発に着手できない、PoCから先に進めない現場も多いと耳にします。 【受講費:無料】本ウェビナーは3つのセッションから構成されています。 1セッション目は、組み込みLinuxに求められる要件を整理し、安全でセキュアな組み込みシステムを、Linuxを使って効率的に開発する方法を紹介します。また、商用Linux製品と、オープンコミュニティ/無償Linuxディストリ
Yoctoベースの組み込みLinux「Wind River Linux」を使って、Raspberry Pi上で動作するLinuxディストリビューションをゼロから作る 今回の初心者講座では、商用組み込みLinuxシェアNo.1のWind River Linuxによる「Linuxディストリビューションの開発手順」を紹介いたします。Wind River Linuxは固定的なパッケージ型の製品ではなく、自由自在に新しいLinuxディストリビューションを設計できる、革新的な製品です。 本記事前半では、Wind River LinuxのベースとなっているYocto Projectの概略と、Wind River Linuxの提供する「商用Linux製品ならではの付加価値」を解説いたします。本記事後半では「Wind River Linuxの無償版を実際にダウンロードし、Raspberry Pi 4 Mod
組み込みからクラウドに至るまで、今日様々なシステムがLinux基盤上に構築されています。Linuxが選ばれる一因として、標準化されたインタフェース「ANSI/POSIX準拠インターフェース(Portable Operating System Interface:POSIXインタフェース)」を提供しているという点があげられます。 POSIXインタフェースは「アプリケーションからどのような方法でOS、ライブラリ、ユーティリティ等を制御できるか」というインタフェース設計のルールを定義するIEEEの規格です。POSIXインタフェースを使って実装されたアプリケーションは、POSIXインタフェースを提供する他のOS上へと簡単に移植することができ、実行可能です。Linuxには無数のディストリビューション(OSのバリエーション)がありますが、いずれを選んだとしてもLinux向けに開発されたアプリケーション
秒間32兆回の演算で日本の課題を解決。Jetson AGX Xavierがつくる、AI製品成功までの確かな道筋。 CPUやDSPに比べて圧倒的なコア数を有する「GPU」。このGPUの性能を日々進化させることにより、クラウドからエッジまで、世界中のシステムに革新を起こしてきた「NVIDIA」。そして、2018年12月に発売された、組み込みシステムにAIを統合するためのプラットフォーム「NVIDIA Jetson AGX Xavier」。IoT×AIが始まる今だからこそ、NVIDIAが考えるAIの在り方は大きな羅針盤になる。ブームだけではない、本質的なAIをテーマに、豊富な事例を交えながら最新情報と将来的な展望をNVIDIAに聞いた。 集合写真(左より) エヌビディア インダストリー事業部 事業部長 齋藤 弘樹 氏 エヌビディア フィールドアプリケーションエンジニア 小室 正明 氏 エヌビディ
RISC-Vを使うにはいろんな手段があります。ASICチップが乗っているボードを買ってくることもできますし、FPGAにデザインを焼いて動作させることもできます。特にFPGAを使う場合は、自分で簡単にカスタマイズすることもできますので独自のRISC-V環境を作ることもできます。 今回は、実際にRISC-Vを使う場合にどのような手段があるのか、特にオープンソースで公開されているものを中心に、RISC-Vプロセッサの実装について見ていきます。 入手できる評価ボードまだ数は多くありませんが、RISC-Vチップが乗っている評価ボードもすでに製品化されています。有名なものを2つ挙げると、HiFive1という小型のArduinoインタフェースとの互換性のあるボードと、HiFive UnleashedというマルチコアのRISC-Vボード環境です。どちらも、米国のベンチャー企業であるSiFive社が開発・販
産業機器、オーディオ製品、通信デバイスをはじめとする多くの組み込みアプリケーションは、わずかなタイミングの違いで動きが変化します。そのため、開発・検証のためにprintfなどを仕掛けることが難しく、開発効率が伸び悩むケースも増えています。そこで今回の実験室では、システムを止める事なく内部状態を取得できるデータ計測ツール「EVRICA」を紹介いたします。組み込みアプリケーションの開発や検証に欠かせない、新しい開発ツールです。 EVRICAが開発に貢献しているアプリケーション例を見る EVRICA無料貸出をご希望される方はこちらから 利用しているユーザの声を見る 止めることができない、組み込みアプリケーション組み込みアプリケーションの開発現場では「システムの動きを止めずに、内部状態を取得し、開発や品質保証に活用したい」という声が高まっています。 1ms未満のジッタすら許されないアプリケーシ
前回はRISC-Vの実装について紹介し、ASICチップとボードについても少し紹介しました。エンドユーザが遊ぶことができるRISC-Vチップというのはまだまだ数が少ないですが、その中でも、SiFive社が唯一、エンドユーザでも購入できるRISC-Vチップを搭載したボードを販売しています。 ここでは、RISC-V互換プロセッサを搭載した評価ボードである HiFive1に焦点を当て、HiFive1の特徴とアプリケーション開発を体験してみましょう。 HiFive1 概要HiFive1は、SiFiveが開発したRISC-Vチップを搭載した評価ボードです。SiFive社はRISC-Vコアを搭載したデザインやチップを開発しライセンシングするベンチャー企業で、UCBのRISC-V開発メンバーによって創設され、RISC-Vコアを搭載したSoCの開発や、サポートライセンス込みでSoCデザインをIPとして販売し
SOLID-OSによる割り込みは、Toppers/ASP3がベースになっており、カーネルの管理下で割り込みの処理を行いますので、「割り込みサービスルーチン(ISR)」または「管理内割り込み」と呼んだりします。それ以外のものは、「割り込みハンドラ」もしくは「カーネル管理外割り込み」と呼びます。
ソフトウェアツール群の紹介前回は、RISC-Vのシステムレジスタやスーパバイザ命令について紹介しました。 ハードウェアとしての仕様については、第2回と第3回で紹介した程度の知識があれば十分と思います。では、次にソフトウェア環境について見てみましょう。いくらハードウェアが揃っていても、ソフトウェア環境が不十分ではユーザは開発を行うことができません。RISC-Vのエコシステムを支える、ソフトウェア群について今回は簡単にご紹介します。 ソフトウェア群が豊富なので、RISC-Vは簡単に始めやすいRISC-Vの特徴はこれまでもご紹介したとおり、アーキテクチャの仕様がシンプルであること、仕様が全てオープンであることですが、さらにもう一つ特徴的なこととして、ソフトウェア群が充実していることが上げられます。 筆者がRISC-Vについて調査をはじめたのはおよそ3年前ですが、RISC-Vは当時知名度がほとんど
RISC-Vのシステムレジスタ前回は、RISC-Vを学ぶにあたり最も基本となる命令セットについて紹介しました。 RISC-Vには、基本となる命令セットに加えてシステムレジスタも定義されています。RISC-Vでオペレーティングシステムを動作させたり、アプリケーションを開発するためには、このシステムレジスタについて理解する必要があるでしょう。例えば、特権命令はどのような構成になっているのか?割り込みや例外はどのように処理すればよいのか?今回は、これらのシステムレジスタやRISC-Vの動作モードなどについて見ていきます。 ちなみに、これらのシステムレジスタ・動作モードについて最新の仕様は、RISC-V Privileged Specification 1.10 で見ることが出来ます。もっと詳細を学びたいと思った方は、以下の資料を見てみることをお勧めします。 RISC-V Privileged I
共振回路のQ値共振回路の性質を表す「Q値」について学びます。直列と並列のLC共振回路で構成されるインダクタとコンデンサを使って理想的なパーツと現実のパーツを理解し、動画で実際のQ値を確認していきましょう。 理想的なパーツと現実的なパーツQの説明の前に、コンデンサとインダクタの理想と現実を理解しましょう。回路計算や回路理論を学ぶ際、どうしても理想的なパーツとして扱うことが多いです。それを、実際の回路で試すとどうしても一致しないことがあります。ここでは、実際にどのように考えていけばいいかを解説します。 インダクタ図1に理想的なインダクタと現実のインダクタを示しています。理想的なインダクタは、純粋にインダクタとしての機能を示しますが、現実はインダクタを構成しているリード線とインダクタ部そのものに抵抗成分が含まれています。
Xilinx Zynq UltraScale+ MPSoCの概要Xilinx Zynq UltraScale+ MPSoCは、これまでのZynqよりPS(SoC部分)が格段にスケール アップしています。ZynqはArmv7アーキテクチャーのArm Cortex-A9シングルまたはデュアルコアだったのに対して、MPSoCはvArm8アーキテクチャーのArm Cortex-A53デュアルまたはクアッドコアでさらにリアルタイム処理用のArm Cortex-R5デュアルコアやGPUも内蔵されています。 Armv8アーキテクチャーは64bit命令セット アーキテクチャー(AArch64)だけでなくArmv7と互換性のある32bit命令セット アーキテクチャー(AArch32)もサポートするので既存のソフト資産も安心して活用できます。また、ArmのSIMDアーキテクチャーであるNEONは、Armv7で
RISC-Vの命令セットの概要前回は、RISC-Vの発展の背景や、RISC-Vの特徴、様々な情報源について紹介しました。今回は、RISC-Vを学ぶにあたって最も基本となる命令セットについて紹介したいと思います。 RISC-Vの命令セットの特徴「シンプルかつ、独立性が高い」RISC-Vの命令セットの特徴について聞かれるとき、まず真っ先に「シンプルである」と答えると思います。 実際、x86やArmなどのアーキテクチャに比べて命令セットは綺麗にまとめられており、あまり使うことのない無駄な命令も定義されていません。その引き合いに出される例として、RISC-V FoundationのChairman of the BoardであるKrste Asanovic教授がよく言及している命令があります。 x86命令には”AAA”命令という、誰が使うのか分からない、非常にレアケースの命令があります。RISC-
Arduino IDEは他のArduinoプラットフォームとの親和性が良く、Arduinoチップとして楽しむならば十分な環境です。また、Freedom-E-SDKはコンソールを使ってプログラムのコンパイルやアップロードを行う環境で、初心者にはややハードルが高いですが、柔軟なプログラムを開発することができます。
抵抗とコンデンサとコイルによる共振回路共振回路(きょうしんかいろ)というと、少し難しく聞こえるかもしれません。同調(どうちょう)回路とも呼ばれたりします。よくラジオのチューナーに例えられます。若い人の中には、「ラジオのチューナー?」という人もいるかもしれません。テレビのチャンネルを合わせる。そんなイメージでもよいと思います。この講座では、そんな回路の動作原理を理論と実践で学びましょう。 受動素子における交流の扱い方これまで学んだ受動素子(抵抗、コンデンサ、コイル)は、直流でも交流でも扱う機会が多いです。そんな受動素子の直流の場合の講座をこれまで展開してきましたが、ここからは少し交流について考えていきたいと思います。 交流とは?交流とは、時間に対して電圧および電流が変化する電気信号として扱います。例えば、家庭のコンセント(英語ではOutletですよ!)には、100V 50もしくは60Hzの周
Android OS搭載のスマホやタブレットをグローバルにリードするQualcommのSnapdragonプロセッサがついに汎用SoCとして提供されることになった。その第一弾がArm Cortex-A53クアッドコアベースのSnapdragon 410プロセッサを搭載した開発用ボード「DragonBoard 410c」だ。2015年11月の正式発売から当初の予想を遥かに超える出荷数を叩き出し、業界でも話題になっている。ここではQualcommの取り組みと、DragonBoardを展開する代理店のアロー・ユーイーシー・ジャパン株式会社(以下、アロー)に話を聞いた。 集合写真(左より) クアルコムCDMAテクノロジーズ マーケティング/ビジネス開発統括部長 須永 順子 氏 ※インタビューのみ参加 アロー・ユーイーシー・ジャパン株式会社 プロダクトマーケティング部 土佐 哲也 氏 アロー・ユーイ
自動車の自動運転制御やモバイル基地局の無線処理等、組み込みシステムにはリアルタイム性を必要とするシステムが多くあります。Linux Foundation傘下のReal Time LinuxプロジェクトでメンテナンスしているPreempt RTパッチを適用すると、Linuxカーネルのリアルタイム性が向上します。 Cyclone V SoCのカーネルは、すぐにPreempt RTが利用できるようになっているので、動かしてみましょう! カーネルのコンフィグレーションとビルドLinuxカーネル ソースをPreempt RTのブランチに切り替えて、コンフィグを有効にして、再ビルドします。 # 環境変数の設定 $ . /opt/poky/2.1.1/environment-setup-cortexa8hf-neon-poky-linux-gnueabi # Preempt RTのブランチに切り替え $
MMUの動作概要仮想アドレスから物理アドレスへのアドレス変換は、MMUとTLB(トランスレーション・ルックアサイド・バッファ)を使用します。アドレス変換は、テーブルウォークユニットで変換テーブルを参照して自動的に変換を行い、TLBのキャッシュも行います。変換テーブルに、メモリタイプ・キャッシュ属性・バッファ属性を設定できます。 変換テーブルは、第1レベルテーブルと第2レベルテーブルで構成します。第1レベルテーブルでは、16Mバイトと1Mバイトの単位で仮想アドレスから物理アドレスに変換を行い、第2レベルテーブルを使用することで、より細かい64Kバイトと4Kバイトの単位で仮想アドレスから物理アドレスに変換できます。仮想アドレスから物理アドレスに変換する単位をページサイズと呼び、16Mバイトを「スーパーセクション」、1Mバイトを「セクション」、64Kバイトを「ラージページ」、4Kバイトを「スモー
GICの概要Armプロセッサの割り込みについて復習します。Armプロセッサ(Cortex-Mシリーズを除く)は、汎用的な例外として、IRQ割り込みとFIQ割り込みを使用します。2入力の割り込みでは、周辺回路からの複数の割り込み要求を優先度に応じてソフトウェア処理することは、割り込みの応答性が懸念されます。この問題を解決するために、GICを使用して割り込み処理の応答性を改善します。GICは、使用するプロセッサによってバージョンが異なります。 Generic Interrupt Controller Architecture(GIC-390) ・Cortex-A9 MPCore ・Cortex-A5 MPCore Generic Interrupt Controller Architecture(GIC-400) ・Cortex-A15 MPCore ・Cortex-A7 MPCoreCort
コンデンサとは?世に出回っている電子機器で、コンデンサを搭載していない電子機器はないと言ってもいいくらい、欠かすことができない重要な素子です。この講座では、電子回路に不可欠なコンデンサの動きや働きを学びます。充電や放電に必要な時定数を理解して、意のままに電気信号をコントロールしましょう。 コンデンサの性質【充電と放電】コンデンサは、電気を貯める素子であることは第2回で軽く触れていますが、今回の講座を理解するための補足をします。コンデンサには、主に3つの機能があります。1つ目は、電気の充電と放電。2つ目は、直流と交流で動きが変わる。3つ目は、フィルタです。
リセット例外からmain()関数を呼び出すまでの初期化は、ユーザが作成する部分とArmコンパイラが実行する部分に分けることができます。コードのコピーや初期化変数/未初期化変数の初期化は、リンカのメモリ配置設定を処理系ライブラリが実行します。
SysTick機能を有効にするには、SysTick制御およびステータスレジスタを使用します。このレジスタのENABLEビットを1にすると、カウンタは動作をはじめます。つまり、カウンタにリロード値がロードされてから、カウントダウンが開始されます。
実験の概要NXPのi.MX 6SoloXは、Cortex-A9とCortex-M4のヘテロ構成SoCです。この記事では、組み込みOSの代表として、Cortex-A9にYocto Linuxを実装し、Cortex-M4にはMQX(RTOS)を実装し、LinuxとRTOSの共存するシステムの構築方法を紹介します。また、Linuxのカーネルからの構築方法や、コア間通信、NEONによるG-Streamアプリ(ソフトウェアビデオデコーダー)などの実装方法も併せて解説します。 組み込みOSとは組み込みOSは、パソコンなどに使用されているOSと違い、限られたハードウェア環境や資源で最大限の効率を発揮するように作られたOSですが、実に多くの種類が存在してきました。 この記事では、組み込みOSの代表として、「Yocto Linux」「Android」「MQX(RTOSとして)」をi.MX 6SoloXに実装
Yoctoはどんなところで使われている?チップ ベンダーが提供するLinux SDKの多くは、Yoctoをベースにしています。また、Wind RiverやMentor Graphics等の多くの組み込みシステム向けLinuxディストリビューションもYoctoをベースにしています。 今回使用しているAtlasボードにプリインストールされているAngstromもYoctoをベースにしたディストリビューションです。ちなみに、Angstromは100ピコメートルなので、Yoctoの1014倍ですね(笑) Yoctoを使ってLinuxシステムをビルドAtlasボードはすぐにLinuxが使えるようにAngstromがプリインストールされていますが、今回はYoctoの使い方を理解するためにYocto Projectの2016年9月時点の最新リリースである2.1.1をビルドしてみましょう。 ビルドするホス
Linuxが動くCPUは?x86、PowerPC、MIPS、Arm、Nios IIなど、ArmはMMUがあるCortex-Aシリーズ、Arm1176、Arm926などで動作。MMUがないCortex-Mシリーズでも動作する実装はあるが、外付けメモリが必要だったり、動作上の制限も多い。 Linuxはどんなところで使われている?IAサーバ、Androidスマートフォン/タブレット、デジタルTV、デジタル カメラ、プリンター、スキャナー、カーナビなど。 Linuxを採用するメリットは?新しいデバイスへの対応、プロトコルスタックの対応が早いので、標準化された機能に対応する場合、コスト・開発期間・品質のアドバンテージがある。多くのCPUに対応しているので、マルチベンダー化しやすい。オープンソースなので、OSベンダーにロックオンされることもない。アプリケーションはC以外にJava, Python等でも
次のページ
このページを最初にブックマークしてみませんか?
『【ARMマイコン、FPGA】組み込みCPU比較検討プラットフォーム | APS』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く