SPRESENSE SDK × Visual Studio Code|動画で学ぶマルチコアのデバッグ方法
今回の初心者講座マルチコア編では「関数を呼び出したから、動いた」よりも、さらに一歩先へと踏み込んだ、マルチコアの真髄にフォーカス。サブコアがプログラムを開始する仕組みから、データの交換や同期(コア同士の連携)の方法、プログラムを高速化する際に注意すべきポイントなど、様々な設計技術を紹介いたします。
今回の初心者講座マルチコア編では「関数を呼び出したから、動いた」よりも、さらに一歩先へと踏み込んだ、マルチコアの真髄にフォーカス。サブコアがプログラムを開始する仕組みから、データの交換や同期(コア同士の連携)の方法、プログラムを高速化する際に注意すべきポイントなど、様々な設計技術を紹介いたします。
今回の初心者講座では、どのように処理するか・並列化していくかを学ぶ前段階として、どのようなデータを(What)、どのようにして(How)どこに収集すべきか(Where)を解説いたします。今回の内容を学習することで、IoTシステムの要となる「画像データ」や「音声データ」といったマルチメディアデータの取り扱い方法への理解も深まるでしょう。
マルチコア・プログラミングのファースト・ステップ、開発環境を構築から始めましょう。「開発環境SPRESENSE SDKのインストール」「アプリケーションの実行」「デバッガの準備」「実行中のASMP構成の全コアの状態を見る」方法を紹介いたします。
身の回りにある組み込みシステムは、複数のタスク(機能ブロック)の繋ぎ合わせにより実現されています。統合されているタスクには、画像解析、通信管理、組み込みAIによるデータの分析など、さまざまな物があります。今回の初心者講座は、複数のタスクを連携させる「マルチタスクの設計」方法と、タスクとタスクを結ぶために情報を交換するための領域「リソース」の管理方法について、ソニーのSPRESENSEを例として紹介します。
産業分野をはじめ様々なビジネスを牽引するIoT機器の開発では、限られたリソースを最大限に活用するため、CPU、マルチコアに関する知識が不可欠です。APS初心者講座「マルチコア編」の第1回では、そうした産業製品開発に欠かせない「マルチコアとは」をわかりやすく解説します。
APS学習ボード(SPRESENSE Extension Board用)は、ソニーセミコンダクタソリューションズ社製のIoT向けボードコンピュータ「SPRESENSE™」の提供する、カメラ撮影機能、LCDディスプレイ表示機能、録音機能、入出力制御機能などを簡単にお試しいただくことのできる学習ボードです。
CPUやDSPに比べて圧倒的なコア数を有する「GPU」。このGPUの性能を日々進化させることにより、クラウドからエッジまで、世界中のシステムに革新を起こしてきた「NVIDIA」。そして、2018年12月に発売された、組み込みシステムにAIを統合するためのプラットフォーム「NVIDIA Jetson AGX Xavier」。IoT×AIが始まる今だからこそ、NVIDIAが考えるAIの在り方は大きな羅針盤になる。ブームだけではない、本質的なAIをテーマに、豊富な事例を交えながら最新情報と将来的な展望をNVIDIAに聞いた。
Zynq-7000 All Programmable SoC(以下、「Zynq-7000」)の採用がオートモーティブを筆頭に広がっている。Xilinxのそうした躍進の陰には、設計支援やコンサルテーションを通じて顧客システムのTTMを支援する、Xilinxのアライアンスパートナーの存在がある。
たとえ瓜二つの双子であっても高速かつ誤りなく見分ける最先端の顔認証テクノロジー「TeraFaces」が登場した。高性能プロセッサや大容量メモリを必要としていたこれまでの顔認証の常識を打ち破り、Cortex-M4ベースのマイコン(ST製STM32F429)で実現したのが特徴だ。