約 5,539,656 件
https://w.atwiki.jp/kougyou_kei/pages/24.html
Standard Peripherals Libraryのダウンロード STホームページを開く。 [サポート]-[技術資料]を開き、"Advanced Search"の"Title"に"standard peripheral"と入力して"Search"ボタンを押す。 Resource Type Firmwareから、使用するマイコンに対応するStandard Peripheral LibralyをダウンロードSTM32VLD STM32F10x standard peripherals library STM32LD STM32L1xx standard peripherals library STM32F4D STM32F4 DSP and standard peripherals library, including 82 examples for 26 different peripherals and templete project for 5 different IDEs "Advanced Search"の"Title"に"discovery"と入力して"Search"ボタンを押す。 Resource Type Firmwareから使用するマイコンボードのファームウェアをダウンロードする。 ダウンロードしたzipファイルを"C \stm32\library\"に保存する。 Discovery Boad用ファームウェアのダウンロード STホームページを開く。 [サポート]-[技術資料]を開き、"Advanced Search"の"Title"に下記のマイコンボードの名前を入力して"Search"ボタンを押す。STM32VLD "STM32VLDISCOVERY" STM32LD "STM32L-DISCOVERY" STM32F4D "STM32F4DISCOVERY" Resource Type Firmwareから、下記に示すように使用するマイコンボード用ファームウェアをダウンロードSTM32VLD STM32VLDISCOVERY firmware package STM32LD STM32L-DISCOVERY firmware package STM32F4D STM32F4DISCOVERY boad firmware package, including 22 examples(covering USB Host,audio,... ダウンロードしたzipファイルを"C \stm32\library\"に保存する。STM32LDの場合は、zipではなくインストーラ(.exe)のため、普通にインストールし、インストール先のフォルダ"C \Program Files\STMicroelectronics\STM32L_Discovery_Firmware_Pack_V1.0.2"を"C \stm32\library\"にコピーする。 上記のとおり作業を行うと、STM32VLDの場合"C \stm32\library"内に"STM32F10x_StdPeriph_Lib_V3.5.0"と"stm32vldiscovery_package"フォルダができているはずです。
https://w.atwiki.jp/kougyou_kei/pages/15.html
2013/06/26 現在開発環境のソフトバージョンアップ、乗り換えなどをして動作検証した後、ウィキを更新中です。随時更新してくので、内容に整合性が取れない箇所があると思うので(というか、執筆時から色々変わってておそらく記事通りにしても動きません)、記事内容を参考にする場合は注意してください。 まだ、未完成のため、説明がわかりづらかったり、説明が不足しているところがあります。 不明なところは、調べれば基本分かる範囲だと思いますが、どうしてもわからない場合は、Twitterや雑談用コメントフォームなどに書いていただければ、できる範囲で対応します。 対応するマイコンボード STM32VLDiscovery以外に現在所有しているSTM32LDiscoveryやSTM32F4Discoveryについても対応できるよう、 手順が違う箇所ではそれぞれについての説明をする予定です。 説明の中では各マイコンボードを、STM32VLD、STM32LD、STM32F4Dと省略した形で書いています。 その他のディスカバリーボードも少しの変更や、説明の読替えで対応できると思うので、参考程度にどうぞ。 説明で使用するディレクトリ 説明では、Cドライブ直下に"stm32"というフォルダを作り、その中に各種ファイルやプロジェクトを保存するようにしています。 他の場所に保存する場合でも、2バイト文字やスペースの含まれないディレクトリを選んでください。 開発環境構築に慣れてない人は、自己流で進めず、説明したとおりに操作してください。 例)"C \stm32\library\"に保存する。と指定があればそのとおりのディレクトリを作成してその中に保存する。 使用するツール STM32 Value Line Discoveryとeclipse、OpenOCDを組み合わせた開発環境を構築する手順を説明します。 コンパイラはSourcery CodeBench Lite Edition、 デバッガ用ドライバはlibUSB or WinUSBを使用します。 実際に環境を構築して、このページを執筆したとき(2012/11/14)の各ソフトのバージョンは コンパイラ Sourcery CodeBench Lite 2012.09-63 デバッガ OpenOCD 0.6.1 zadig zadig_xp_v2.0.1.160 TrueStudio 3.2.0 Lite Eclipse Juno Service Release 1 Eclipse IDE for C/C++ Developers 1.5.1.20120920-0737 Zylin Embedded CDT 4.18.1 GNU ARM Eclipse Plug-in 0.5.4.20120221014 STM32F10x standard peripherals library 3.5.0 STM32VLDISCOVERY firmware package library 1.0.0 STM32L1xx standard peripherals library 1.1.1 STM32L-DISCOVERY firmware package 1.0.2 STM32F4 DSP and standard peripherals library... 1.0.1 STM32F4D STM32F4DISCOVERY boad firmware package... 1.1.0 です。 これより新しいバージョンでも手順はあまり変わらないと思いますが、 もし、インストール手順の変更やリンク切れなどがありましたら、Twitterに報告お願いします。 参考にさせていただいたサイト マイコン徹底入門http //miqn.net/ 花岡ちゃんに花束を TrueSTUDIOからEclipseへの乗り換えガイドhttp //cyberworks.cocolog-nifty.com/blog/files/truestudioeclipse_v2.pdf PS3とLinux、電子工作も FM3マイコンをOpenOCD + Eclipseでデバッグhttp //todotani.cocolog-nifty.com/blog/2012/05/fm3openocd-ecli.html ねむいさんのぶろぐhttp //nemuisan.blog.bai.ne.jp/ The STM32 Discovery Scrapbook from Nano Age Setting up Eclipse and Code Sourcery lite for STM32 Discovery Developmenthttps //sites.google.com/site/stm32discovery/open-source-development-with-the-stm32-discovery/setting-up-eclipse-for-stm32-discovery-development
https://w.atwiki.jp/kougyou_kei/pages/25.html
新規プロジェクトの作成 eclipse.exeを起動する。(説明どおりに操作してきたなら、"C \stm32\eclipse\"にあるはず。) ワークスペース選択ウィンドウが出たら、Eclipseのインストールで設定したものと同じ、"C \stm32\project"を指定。 ツールバーの[File]-[New]-[C Project]を選択。 Project nameを入力。ここでは、"blink_led"とする。 Project typeで、[ARM Cross Target Application]-[Empty Project]を選択。 Toolchainsで、"ARM Windows GCC (Sourcery G++ Lite)"を選択。 "Next"ボタンを押し、"Finish"ボタンを押す。 これで新規プロジェクトが作成される。 Project Explorerでプロジェクト内に"Includes"フォルダが自動で作成されていることを確認する。 以下、ビルドに必要な下準備 ソースコード用フォルダの作成 Project Explorerのプロジェクトフォルダ(ここでは"blink_led")を右クリックし、[New]-[Source Folder]を選択。 出てきた"New Source Folder"ウィンドウの"Folder name"テキストボックスに"src"と入力し、"Finish"ボタンを押す。 ソースコードをプロジェクトに追加 ライブラリの入手で保存したディスカバーリーボード用ファームウェアパッケージのフォルダを開く。 サンプルプロジェクト(Examples)のGPIOToggleまで進む。どのマイコンボードのファームウェアパッケージかによって名前が若干変わる。説明のとおりにやった場合は、下記のディレクトリを参考に開くこと。STM32VLD "C \stm32\library\stm32vldiscovery_package\Project\Examples\GPIOToggle" STM32LD STM32F4D 下記に示す必要なソースファイルをEclipseのProject Explorerの"src"フォルダにドラッグ ドロップSTM32VLD main.c stm32f10x_conf.h stm32f10x_it.c stm32f10x_it.h STM32LD STM32F4D 出てくる"File Operation"ウィンドウで、"Copy files"にチェックをし、"OK"ボタンを押す。 ライブラリをプロジェクトに追加 ライブラリの入手で保存したStandard peripheral firmwareの中にある"Library"フォルダをEclipseのProject Explorerのプロジェクトフォルダにドラッグ ドロップして、プロジェクトに追加する。説明の通りやった場合は、下記のフォルダをプロジェクトフォルダにドラッグアンドドロップする。STM32VLD "C \stm32\library\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries" STM32LD STM32F4D 出てくる"File Operation"ウィンドウで、"Copy files"にチェックをし、"OK"ボタンを押す。 ディスカバリーボード用ソースコードをプロジェクトに追加 ライブラリの入手で保存したディスカバーリーボード用ファームウェアパッケージのフォルダを開く。説明の通りにやった場合は下記のディレクトリを開く。STM32VLD "C \stm32\library\stm32vldiscovery_package" STM32LD STM32F4D 開いたディレクトリに"Utilities"フォルダがあるので、それをライブラリと同じく、Project Explorerのプロジェクトフォルダにドラッグ ドロップする。 出てくる"File Operation"ウィンドウで、"Copy files"にチェックをし、"OK"ボタンを押す。 リンカスクリプトをプロジェクトに追加 リンカスクリプトの入手で作成したリンカスクリプト"stm32_flash.ld"(STM32F4Dは"stm32f4_flash.ld")を"src"フォルダにドラッグアンドドロップする。 出てくる"File Operation"ウィンドウで、"Copy files"にチェックをし、"OK"ボタンを押す。 ビルド用設定 プロジェクトフォルダを右クリックし、"Properties"を選択する。 出てきたウィンドウの左側メニューで[C/C++ Build]-[Settings]を選択。 ウィンドウ上側の"Configuration"プルダウンで、[ All configurations ]を選択。 指示があるまで、このウィンドウは閉じないこと。 プロセッサ設定 "Tool Settings"タブの"Target Processor"を選択。 "Processor"プルダウンで使用するマイコンに合わせて下記の通り選択する。STM32VLD cortex-m3 STM32LD cortex-m3 STM32F4D cortex-m4 "Apply"ボタンを押す。 リンカ設定 同じく"Tool Settings"タブの"ARM Sourcery Windows GCC C Linker"-"General"を選択。 "Script file"テキストボックスに下記の文をコピーSTM32VLD "${ProjDirPath}/src/stm32_flash.ld" STM32LD "${ProjDirPath}/src/stm32_flash.ld" STM32F4D "${ProjDirPath}/src/stm32f4_flash.ld" "Do not use standard start files"チェックボックスのチェックを外す。 "Remove unused sectors"チェックボックスにチェックを入れる。 "Apply"ボタンを押す。 Includesフォルダ設定 左メニューで[C/C++ General]-[Paths and Symbols]を選択。 "Includes"タブを開く。 以下の表の項目を"Add"ボタンで追加する。なお、ディレクトリパス追加ウィンドウの"Is a workspace path"はチェックを外すこと。 STM32VLD ${ProjDirPath}/src ${ProjDirPath}/Libraries/CMSIS/CM3/CoreSupport ${ProjDirPath}/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x ${ProjDirPath}/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO ${ProjDirPath}/Libraries/STM32F10x_StdPeriph_Driver/inc ${ProjDirPath}/Utilities STM32LD STM32F4D "Apply"ボタンを押す。 Symbols設定 "Symbols"タブを開く。 以下の表の項目を"Add"ボタンで追加する。(空白は何も入力しなくて良い) 使用ボード Symbol Value 概要 STM32VLD HSE_VALUE 8000000 使用する外部発振子の周波数を指定する STM32F10X_MD_VL stm32f10x.hで使用するマイコンに合わせて設定されるようにする USE_STDPERIPH_DRIVER stm32f10x.hでstm32f10x_conf.hをインクルードするようにする USE_STM32_DISCOVERY 不要かも STM32LD STM32F4D "Apply"ボタンを押す。 "OK"ボタンを押してPropertiesウィンドウを閉じる。 スタートアップルーチンのファイル名を変更 "Project Explorer"で、下記のフォルダの中にあるファイルの拡張子を小文字の s から、大文字の S に変更する。(ファイル名を変更するには、ファイルを選択してF2キーを押す)STM32VLD "Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/startup/TrueSTUDIO" STM32LD "Libraries\CMSIS\Device\ST\STM32L1xx\Source\Templates\TrueSTUDIO" STM32F4D "Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\TrueSTUDIO" コンパイル時不具合を修正 コンパイル時、「registers may not be the same -- `strexb r0,r0,[r1] 」や「registers may not be the same -- `strexh r0,r0,[r1] 」などのエラーが出てコンパイルできないことがある。その回避をするため、ライブラリに修正を加える。 CMSISのバージョンが1.xの場合、"core_cm*.c"、2.xの場合"core_cmInstr.h"を開く。(下記参照)STM32VLD "Libraries/CMSIS/CM3/CoreSupport/core_cm3.c" STM32LD "Libraries/CMSIS/Include/core_cmInstr.h" STM32F4D "Libraries/CMSIS/Include/core_cmInstr.h" 開いたファイルの「__ASM volatile ("strexb」で始まる行と、「__ASM volatile ("strexh」で始まる行の"=r"を"= r"に変更する。 ファイルを上書き保存する。 ビルド プロジェクトフォルダをクリックで選択し、ツールバーの[Project]-[Build All](またはショートカットキーctrl+B)でビルドする。 ビルドがエラーや警告が出ず通れば、"Binaries"フォルダの中にELFファイルが生成されているはずです。 ToDo プロジェクトに追加するソースコード、ライブラリファイルのパス・ファイル名を調べて追記する。
https://w.atwiki.jp/kougyou_kei/pages/23.html
Eclipse ビューを消してしまったり、配置を変えてしまって、初期の状態に戻したい場合メニューバーの[Window]-[Reset Perspective]で戻せる。 エディタに行番号を表示したい場合メニューバーの{Window]-[Preferences]を選択し、左メニューで[General]-[Editors]-[Text Editors]を選択。"Show line numvers"にチェックを入れ、"Apply"ボタンで適応。 64ビットと32ビット版があるが、コンパイラと同じものを使わないと、ブレークポイントが設定できない不具合が生じるらしい。Debug ConfigurationsのUse full file path to set brakepointsのチェックを外さないと、正常にブレークポイントを設定できない。 コンパイラ 最適化をかけると、"Error registers may not be the same -- `strexb r0,r0,[r1]"と出ることについての対応→http //nemuisan.blog.bai.ne.jp/?eid=192285 ライブラリ マイコンの動作周波数を変更する場合、STM32クロックコンフィグレーションツールを使う。ダウンロード先 ST Home- ツール リソース- ソフトウェア・ツール- 設定ユーティリティ - Configuration Utilities for MCUs STM32 STM32LDサンプルビルド エラーでコンパイルが止まるため、Library内(特にタッチセンスライブラリ内)の他のマイコン用ソース・ヘッダは拡張子を変えるなりして、ビルドから除外する。 system_stm32l1xx.hは、サンプルプロジェクト同封のものを使わないとADCの初期化で躓く(原因がクロックソースが内部化外部化の違いなのか、コア電圧設定の違いなのかは未検証)
https://w.atwiki.jp/sfrontier/pages/80.html
C/C++ 作成日 2007/11/07 T.Kodama 更新日 2007/11/07 T.Kodama ANSIで定められている標準ライブラリ(Standard Library)について解説。 assert.h ctype.h error.h float.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stddef.h string.h stdio.h stdlib.h time.h assert.h ctype.h error.h float.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stddef.h string.h stdio.h stdlib.h time.h
https://w.atwiki.jp/tako2lab/pages/31.html
拡張コネクタ Pin Name STM32 Description 1 VCC2V8. Vcc Connected to the output of the U9 regulator (2.8V). This source could provide approximatively 100mA to the extension board. 2 GND GND Ground 3 CX_I2CSCL. PB.6 Can be used either as a standard GPIO or considered as an alternate function - I2C1_SCL- TIM4_CH1- USART1_TX (if remapped) 4 CX_I2CSDA. PB.7 Can be used either as a standard GPIO or considered as an alternate function - I2C1_SDA- TIM4_CH2- USART1_RX (if remapped) 5 AUDIO_SPI_MISO PB.14 Can be used either as a standard GPIO or considered as an alternate function - SPI2_MISO- USART3_RTS- TIM1_CH2NNote that SPI2 is also connected to the audio device for recording audio data from the microphone. This feature must be disabled when SPI2 is used with the extension board. 6 AUDIO_I2S2_SD PB.15 Can be used either as a standard GPIO or considered as an alternate function - SPI2_MOSI- TIM1_CH3NNote that SPI2 is also connected to the audio device for recording audio data from the microphone. This feature must be disabled when SPI2 is used with the extension board. 7 AUDIO_I2S2_SCK PB.13 Can be used either as a standard GPIO or considered as an alternate function - SPI2_SCK- USART3_CTS- TIM1_CH1NNote that SPI2 is also connected to the audio device for recording audio data from the microphone. This feature must be disabled when SPI2 is used with the extension board. 8 AUDIO_I2S2_WS PB.12 Can be used either as a standard GPIO or considered as an alternate function - SPI2_MOSI- TIM1_CH3N(6)Note that SPI2 is also connected to the audio device for recording audio data from the microphone. This feature must be disabled when SPI2 is used with the extension board. 9 CX_CANH Connected to the CAN transceiver. When the CAN transceiver is not soldered, these pins could be easily connected to PD.2-PD.3 on the STM32 by shortcutting the signals on the footprint of the CAN transceiver. 10 CX_CANL 11 CX_ADC1 PC.4 Can be used either as a standard GPIO or considered as an alternate function ADC12_IN14 12 CX_ADC2 PC.5 Can be used either as a standard GPIO or considered as an alternate function ADC12_IN15 13 CX_ADC_TIM PB.0 Can be used either as a standard GPIO or considered as an alternate function - ADC12_IN8- TIM3_CH3- TIM1_CH2N (if remapped) 14 CX_USART_CTS PA.0 PA0/WKUP/ADC IN0Can be used either as a standard GPIO or considered as an alternate function - WKUP- USART2_CTS- ADC12_IN0- TIM2_CH1_ETR 15 CX_USART_RTS PA.1 Can be used either as a standard GPIO or considered as an alternate function - USART2_RTS- ADC12_IN1- TIM2_CH2 16 CX_USART_TX PA.2 Can be used either as a standard GPIO or considered as an alternate function - USART2_TX- ADC12_IN2- TIM2_CH3 17 CX_USART_CK PA.4 Can be used either as a standard GPIO or considered as an alternate function - SPI1_NSS- USART2_CK- ADC12_IN4 18 CX_USART_RX PA.3 Can be used either as a standard GPIO or considered as an alternate function - USART2_RX- ADC12_IN3- TIM2_CH4 19 VCC_EXT. Could be used to reload the battery (input voltage in the [4.5-5V] range) 20 GND GND Ground
https://w.atwiki.jp/kougyou_kei/pages/18.html
C言語で開発する場合、メモリの使い方をリンカに指示するリンカスクリプトが必要です。 リンカスクリプトは自作することが多いのですが、文法を覚えて自分で記述するのは、 マイコン初心者には難しい作業になります。 そのため、出来上がっているものを他から持ってきて使うことにします。 ここでは、Atollic TrueSTUDIOのプロジェクトで出力されるスクリプトを使います。 TrueSTUDIOのインストール 下記サイトよりAtollic TrueSTUDIO Liteをダウンロード。http //www.atollic.com/index.php/download/truestudio-for-arm ダウンロードしたインストーラを起動する。 Welcome画面で"Next"をクリック。 License Agreements画面で"I have read all the license agreements and accept the license terms."にチェックをし、"I Accept"ボタンを押す。 Choose Components画面では書込み器のドライバをインストールするが、ここでは必要ないため、2つのチェックボックスのチェックを外し、"Next"ボタンを押す。 Choose Install Location画面では、インストールする場所を設定できるが、ここでは、特に変更せず"Next"ボタンを押す。 License Registration画面が表示されると同時に、ユーザ登録サイトがブラウザで表示される。インストーラのcomputer idをユーザ登録サイトのComputer idにコピーし、そのほか必要事項を入力して"Regist"ボタンを押す。 登録したメールアドレスに、Installation keyが送られるので、Installation keyをインストーラのテキストボックスにコピー。 "Install"ボタンを押してインストールを開始する。 "File association!"画面でソースコードやプロジェクトファイルとの関連付けが設定できるが、今回はEclipseで開発をするので、関連付けをしないため、2つともチェックを外し、"Next"ボタンを押す。 インストール完了後、インストーラにいくつか広告が表示されるが、"Next"で進み、インストールを終了する。 TrueSTUDIOでプロジェクトを作成 インストールしたTrueSTUDIOを起動する。 ワークスペースの場所を指定するウィンドウで、"C \stm32\truestudio"を指定、"OK"ボタンを押す。 ツールバーの[File]-[New]-[C Project]を選択。 Project nameに適当な名前(使用するボードに合わせて"STM32VLD","STM32LD","STM32F4D"などとする。)を入れ、Project typeは"Embedded C Project"を選択、Toolchainsで"Atollic ARM Tools"を選択し、"Next"ボタンを押す。 VendorでSTMicroelectronicsを選択し、使用するマイコンに合わせてVendorプルダウンメニューやオプションをを選択し、"Next"ボタンを押す。STM32VLD Evaluation boad=STM32VL_Discovery、そのほかは変更なし。 STM32LD Evaluation boad=STM32L_Discovery、そのほかは変更なし。 STM32F4D Evaluation boad=STM32F4_Discovery、Floating point=Hardware implementationにする。 "Finish"ボタンを押し、プロジェクトを作成する。 ワークスペースに作成したプロジェクト名のフォルダができて、その中にリンカスクリプト"stm32_flash.ld"(STM32F4Dは"stm32f4_flash.ld")があることを確認する。STM32VLDで説明の通り操作した場合は、"C \stm32\truestudio\STM32VLD"の中にリンカスクリプトがあるはずです。このリンカスクリプトをEclipseでの開発で使用する。
https://w.atwiki.jp/tako2lab/pages/28.html
STM32 STM32関係のソフトを公開しています。 STM32 e-BASiC Design Wave Magazine 2008年5月号の付録の STM32 基板(CQ-STARM)を使ったハードウェアベーシック 製作中 STM32 Primer2 STM32 Primer2 関連
https://w.atwiki.jp/aaduel/pages/35.html
STANDARD MAD HERO 保管庫 Ascii Art Library http //dechi.xrea.jp/library/log/SMH/index.html あらすじ 収録カードリスト 《SMH - モナー》 《SMH - ギコ》 《SMH - ライラ》 《SMH - モララー》
https://w.atwiki.jp/tukinkaisoku/pages/4.html
STM32CubeMXの概要 STMCubeMXを使えば、開発労力、時間、コストを減らすことができます。GUIのウィザードによって初期化用のC言語ソースを生成します。 抽象化レイヤー(フレームワーク)の実装(HAL) RTOS、USB、TCP/IPなどミドルウェアコンポーネント