mbed-nucleo-f401re-offline-works

Similar documents
ARM Corporate Presentation

IntroductionForGR-PEACH.pptx

Studuinoライブラリ環境設定Mac編

STM32 ファミリ : Arm® Cortex®-Mコア 32bitマイクロコントローラ

Studuino ライブラリ環境設定Windows編

ST-LINK/V2-1 への Upgrade V /10/07 ST-LINK/V2-1 USB driver のインストールおよび ST-LINK/V2-1 の Upgrade について説明します ST-LINK/V2-1 USB driver をインストールしてから ST-LIN

Slide 1

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

1. ST-LINK Utility のダウンロード Windows7 PC にインストールする場合について説明します 1.1. STMicroelectronics のサイト STMicroelectronics のサイトを開きます ここに ST-LINK と入力して検索します ( 右側の虫眼鏡を

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000

Training_STM32-Ecosystem_rev5

1. 概念 STM32F4 Discovery 基板は Mini USB を接続して デバッグやプログラムの書き込みができるようになっています 通常は CPU の 0x 番地からプログラムを実行します では なぜわざわざこのプロジェクトの雛形を使用して CPU の 0x

PowerPoint Presentation

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

Microsoft Word - tool01.doc

MINI2440マニュアル

開発環境構築ガイド

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl

STM32F0シリーズ : 32bitメインストリーム・マイコン Releasing your creativity

統合開発環境CubeSuite+ V へのバージョンアップのお知らせ

AKI-PIC16F877A開発キット (Ver1

TOPPERS活用アイデア・アプリケーション開発

PowerPoint Presentation

1. プログラム実行時の動作プログラムを実行すると以下のように動作します 1) NUCLEO-F401RE 上の LED LD2( 緑 ) が 200mSec 間隔で点滅します 2. プロジェクトの構成 2.1. プロジェクト F401N_BlinkLD2 の起動画面 TrueSTUDIO で作成し

STM32 エコシステム : 32bitマイクロコントローラ・オープンソース開発環境

MINI2440マニュアル

開発環境構築ガイド

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴うアクセス方法の説明変更 2018/01/22 Mac 版インストール手順変更に伴う改訂

GettingStartedTK2

統合開発環境CubeSuite+ V へのバージョンアップのお知らせ

MINI2440マニュアル

Windows Embedded Community Day 第 5 回 - IoT がもたらす新しい社会と変化 - ドライバ開発から Azure 接続まで - Windows Embedded Community Day 株式会社デバイスドライバーズ日高亜友

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

プログラムのデバッグ

ODIN-W260-01B and ODIN-W262-01B

9. デバッグ デバッグの準備 ) ST-Link/V2 と tri-s CPU 基板との接続の様子 ) ST-Link/V2 と tri-s CPU 基板との接続信号 デバッグ ) プログラムの実行

mbed_library_study_meeting_v1.0.key

TWE-Lite R 取扱説明書

SDC_SDIO_STM32F4 の説明 2013/09/17 SDIO インターフェースで SD カードをアクセスするプログラムのプロジェクトサンプルです FAT でファイルアクセスするために FatFs( 汎用 FAT ファイルシステム モジュール ) を使用しています VCP(USB 仮想 C

Nano120_IoT-Engine_pressrelease

定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き]

AN1609 GNUコンパイラ導入ガイド

MINI2440マニュアル

自宅でJava言語の開発環境を作る方法

ARM Cortex-M3 LPC1343

発環境を準備しよう2 章開Eclipseをインストールしようそれでは Eclipseをセットアップしましょう Eclipseは Eclipse Foundationのサイトからダウンロードできます ダウンロードのページを開くと いく

本ドキュメントについて 的 ARM 統合開発環境である ARM IAR Embedded Workbench(EWARM) と ST マイクロエレクトニクス社 (ST 社 ) 提供のサンプルプロジェクト および設計 援ツールを使 して ST 社評価ボード のソフトウェアを実際にビルド デバッグする

PowerPoint Presentation

PowerPoint プレゼンテーション

IAR Embedded Workbench for ARM

TRQerS - Introduction

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

eZ430-F2013 開発ツール

BizBrowser SmartDevice Android開発用スタートアップガイド

「RAD Studio XE5によるマルチ言語/マルチデバイス開発の進め方」

Intel Integrated Performance Premitives 4.1 Linux

Hphi実行環境導入マニュアル_v1.1.1

Nios II Flash Programmer ユーザ・ガイド

TOPPERS 活用アイデア アプリケーション開発 コンテスト 部門 : 活用アイデア部門アプリケーション開発部門がじぇるね IoT 部門作品のタイトル : TOPPERS_ASP3 カーネルと astah*-uml による状態マシン図でのソフト設計と動作検証の試み作成者 : 塩出武 ( しおでたけ

adviceシリーズスタートアップガイド(ARM9編)

PowerPoint Presentation

統合開発環境 High-performance Embedded Workshop V へのリビジョンアップのお知らせ

Gromacsユーザーマニュアル

MINI2440マニュアル

目 次 1. All-In-One プリンタユーティリティ概要 All-In-One プリンタユーティティについて 対応プリンタ機種 システム要件 セットアップ方法 All-In-One プリンタユーティリテ

インテル(R) Visual Fortran コンパイラ 10.0

Windows への opensource COBOL 環境の構築手順 0. 前提条件当手順は Windows へ opensource COBOL 環境を構築する手順である 手順確認時の OS と時期は以下の通りである OS Windows 8.1(64bit) 時期 2018/09 1. 構築手

Welcome-Kit ~STM32L4-Nucleo~

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

概要 Windows Embedded Standard 7 は Windows Embedded Standard ポートフォリオにおける次世代プラットフォームで Windows 7 オペレーティングシステムのパワー 使いやすさ 信頼性を備えており カスタマイズ可能なコンポーネント化された形で提供

目次 第 1 章概要....1 第 2 章インストールの前に... 2 第 3 章 Windows OS でのインストール...2 第 4 章 Windows OS でのアプリケーション設定 TP-LINK USB プリンターコントローラーを起動 / 終了するには

2 以下の作業を行ってください ダウンロード URL Eclipse 3.7 Indigo Pleiades All in One を選択します Full All in One(JRE あり ) の Java を選択し パソコンの任意の

Application Note Application Note No. ESC-APN Document No.: ESC-APN adviceluna Linux デバッグ手順 (MIPS コア編 ) はじめに adviceluna Linux デバッグ手順 ( 以

<4D F736F F F696E74202D20834A815B836C838B835C815B835882CC95E082AB95FB F4B2E B8CDD8AB B83685D>

Microsoft Word - ALT0982_program_epcs_by_niosii_v10.doc

Code Composer Studio クイックスタート

統合開発環境CS+ V へのリビジョンアップのお知らせ

Page 2 ワークスペースはプロジェクト管理の最上位であり IAR Embedded Workbench を起動すると自動的にオープンします ワークスペースには複数のプロジェクトを登録することができるので ここではメインのアプリケーションとブートローダのプロジェクトを登録します このワークスペース

富士通セミコンダクター株式会社発表資料

Transcription:

STM32-NUCLEO 向けオフライン作業ひととおりやってみました mbed 祭り 2014@ 春の大阪

重い腰を上げてやっと mbed に対応に乗り出した ST mbed 対応は 数年前から 下で進めていた STM32 マイコンエコシステムのリニューアルの一部という位置付けです 実際に対応されたものが出てくると どう使っていけるか? というところで悩んでいます 導き出したひとつの答えと それをもとにした作業の中で いちユーザーとして体験 会得した事柄をご紹介したいと思います 話のタネは mbed SDK を使って何かをつくった というよりも 設定を調整して mbed SDK ライブラリをビルドした事例 開発環境エクスポート形式の追加など STM32-NUCLEO を mbed のプラットフォームとして使ってもらうためのオフライン作業結果です 2 自己紹介 矢郷洋一 ( やごうひろかず ) ST マイクロエレクトロニクス ( 株 ) マイクロコントローラ製品部 ST 製マイコン製品の技術サポート 邦訳マニュアルの校正をしています といってもマイコン担当部署に異動してからまだ 3 年目です 経験豊富な マイコンマスター たちに圧倒されながら腕を磨く日々です 以前は テレビ放送受信機向けアプリケーションプロセッサの分野で似た仕事をしていました

Software STM32 Ecosystem: News summary Tools (IAR, Keil, ) ST Tools (MicroXplorer STMStudio..) Free and open source IDE STM32 CubeMX mbed mbed.org 3 Firmware USB Lib STM32F4 USB Lib STM32F0 STM32Cube Middleware Mbed core Hardware Std Lib STM32F4 Discovery Kit F4 Std Lib STM32F0 Discovery Kit F0 STM32Cube HAL Nucleo Boards All STM32 covered Beyond STM32 2013 2014 New elements

mbed 対応プラットフォーム 4 STM32-NUCLEO 基板 Arduino header Morpho header 基板ピン互換

NUCLEO Arduino Headers 5 (Arduino UNO R3 互換ピンヘッダ ) この 3 つ PWM だけ割り当てられている Timer ペリフェラルが基板ごとに異なります

NUCLEO シリーズ 6 Cortex-M4 F401: 消費電 と性能のバランスが現時点で一番いい Cortex-M4 Cortex-M3 F1: 最古のSTM32マイコンシリーズ Cortex-M0 F0: 小さめな STM32 マイコン L1: 当時低消費電 途に設計された STM32 マイコン F0: 低価格 L0: 低消費電 Cortex-M0+ Cortex-M3 念願の Cortex-M0+ 搭載 STM32 マイコン L1 シリーズに対する製品フィードバックをもとにして低消費電 をテーマに設計

mbed どう使えるだろうか? 7 mbed SDK はマイコンファームウェア開発の敷居を下げるという特 があるので : 平常業務でのソフトウェアプラットフォームとして使えないか? デモ環境の構築 トラブルシューティング時の再現環境の構築に役 ちそう ==> ブレークポイントを張りたい デバッガを使えるようにしたい マスマーケットに使えそう? ==> LPCXpresso IDE のような無償 IDE があるといいなあ そういえば事業本部が無償 IDE として CooCox CoIDE というのを紹介してたな

オフラインコンパイル デバッグ 8 現時点の mbed クラウド開発環境では NUCLEO 向けにオンライン IDE から Keil-uVision プロジェクト形式で export 可能 export するとコンパイル済の mbed SDK ライブラリとアプリケーションのソースファイル main.cpp がローカル PC にダウンロードされるので Nucleo_blink_led/ サンプル +NUCLEO-F401RE でやってみたところ 事につまづく export される mbed SDK ライブラリはハードウェア FPU 設定 = 無効 設定でコンパイル済なのに export される uvision プロジェクトオプションがハードウェア FPU 設定 = " 有効 " になっている main.cpp: ハードウェア FPU 使用でコンパイルされる mbed SDK ライブラリ : ハードウェア FPU 非使用でコンパイル済 SystemInit() 実 後も CPACR レジスタが 0 のまま main.cpp で wait(0.2) のような浮動小数点を取り扱う個所で Floating-point instruction 実 時に Hard-fault 例外が起きる

対処 9 ひとまず uvision のプロジェクトオプションを調整 [Porject] [Options for Target ] [Target] タブ Floating Point Hardware = Not Used Hard FPU を使えるようにしたいんですけどー と言われたらどうしよう

mbed SDK フルビルドにチャレンジ 10 必要なもの Python ==> 2.7.6 をインストール C: Python27; を環境変数 PATH に追加 mbed master ブランチ ==>.zip スナップショットをダウンロード @ https://github.com/mbedmicro/mbed mbed-master/workspace_tools/private_settings.py ==> http://d.hatena.ne.jp/va009039/20130809/p1 を参考に追加 達成目標 ハードウェア FPU = 有効 設定で mbed SDK ライブラリを NUCLEO-F401RE 向けにビルドする 課題 どうやれば ハードウェア FPU = 有効 設定になるんだろう? SystemInit() から地道に遡る

mbed SDK フルビルドにチャレンジ 11 編集が必要なファイル : mbed-master/workspace_tools/targets.py [workspace_tools/targets.py]: class NUCLEO_F401RE(Targets): self.core = Cortex-M4 ==> Cortex-M4F に変更 この変更が workspace_tools/toolchains/ init.py に影響する [workspace_tools/toolchains/ init.py]: class mbedtoolchain:... CORTEX_SYMBOLS = { } "Cortex-M4" : [" CORTEX_M4", "ARM_MATH_CM4"], "Cortex-M4F" : [" CORTEX_M4", "ARM_MATH_CM4", " FPU_PRESENT=1"],

mbed SDK フルビルドにチャレンジ 12 ビルド > cd mbed-master workspace_tools > python build.py -t uarm -m NUCLEO_F401RE ビルドした mbed が mbed-master/build/mbed に出 される オンラインコンパイラからエクスポートした mbed/ を mbed-master/build/mbed/ で置き換えて uvision のハードウェア FPU 設定 = 有効 にして Nucleo_blink_led プロジェクトをリビルド うまく動いた

対応エクスポート形式 13 (platform example) NUCLEO-F401RE FRDM-KL05Z mbed LPC1768 Keil uvision 4 OK OK OK LPCXpresso N/A N/A OK GCC NG NG OK GCC (GNU) NG OK OK IAR Systems NG NG OK CooCox IDE NG OK NG Codered N/A N/A? OK mbed Online IDE OK OK OK ZIP Archive OK OK OK うーん まずいなあ

対応エクスポート形式 14 (platform example) NUCLEO-F401RE FRDM-KL05Z mbed LPC1768 Keil uvision 4 OK OK OK LPCXpresso N/A N/A OK 達成目標 GCC NG NG OK GCC (GNU) NG ==> OK OK OK IAR Systems NG NG OK CooCox IDE NG ==> OK OK NG Codered N/A N/A? OK mbed Online IDE OK OK OK ZIP Archive OK OK OK 無償 IDE が使えた方がいいだろうなあ ターゲットはここだな

無償 IDE(CoIDE) への対応にチャレンジ 15 CoIDE には下記の外部ツールチェーンを使ってみます GNU Tools for ARM Embedded Processors (GCC_ARM) そのため CoIDE プロジェクトでこのツールチェーンのコンパイル リンクオプションを設定することになります Makefile があれば容易 必要な作業 : workspace_tools/export/coide.py を編集 workspace_tools/export/gccarm.py も編集 workspace_tools/export/coide_nucleo_f401re.coproj.tmpl を追加 gcc_arm_disco_f407vg.tmpl が既にあるので これをもとに gcc_arm_nucleo_f401re.tmpl をつくる GCC_ARM 形式でエクスポートして Makefile を得る Makefile でコンパイル リンクオプションを把握する 既にある.coproj.tmpl をベースにして XML コードを NUCLEO- F401RE 向けに調整する

無償 IDE(CoIDE) への対応にチャレンジ 16 エクスポート Python jinja2 パッケージが必要 インストール後 project.py > cd mbed-master workspace_tools > python project.py -m NUCLEO_F401RE -p 38 -i coide -p 38: テスト番号 38 = [ 38] MBED_10: Hello World main() 実 時に Hello World をシリアル出 した後 LED 点滅 CoIDE v1.7.6 をインストール 外部ツールチェーンの bin/ ディレクトリパスをツールに理解させる CoIDE からターゲットへの接続時に Eclipse 環境で必要なオンチップデバッガの Open-OCD 不要 CoIDE 内蔵デバッガが ST-Link & J-Link に対応している

いつかやりたいこと 17 サポート業務で使っているソフトウェア治具の mbed へのポーティング UART Type commands ucjig Parse commands command line interpreter applet applet... applet applet libug + core user codes standard peripheral library CMSIS (for STM32x) hardware

以上です 18