忍者ブログ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

すごいダラダラとやっている本コンテンツです。
パズドラが捗って手についてないんですが(笑)

とりあえずサンプルプログラムを何も考えずコンパイルして書き込んで動かしてみた。
というのが前回でした。

今回は、本来どういった設定をしなければならないのかを確認します。
新規PJを作った際にはこれらを設定しないとコンパイルとかできないです。

ちなみに今回特にマイコンは動かさないです。

こういう設定の部分がマイコンのハードル上げてるんだよおお。

上部メニューの[プロジェクト]―[オプション]を開きます。

左の[一般オプション]のターゲットの[プロセッサ選択]が[デバイス]側になっていて
[STM32L152xB]となっているのが分かります。

新規PJを作る際はここは何も入ってませんので、
使うデバイスを選択してあげてください。









次に[ライブラリ設定]タブで[ライブラリ]が[Full]であること、
[CMSIS]が[使用する]にチェックが入っていることを確認します。

ライブラリについてはC言語のライブラリをフルで使うかということです。
CMSISについてはこれはコアを提供しているARM社のライブラリです。
ダウンロードしたパッケージの中にも入ってますネ
STM32L_Discovery_Firmware_Pack_V1.0.2\Libraries\CMSIS




次にC++コンパイラメニューに移ります。
[プリプロセッサ]タブを選択して、インクルードディレクトリに色々入っているのを確認します。
$PROJ_DIR$というのはワークスペースがあるディレクトリを意味してます。
絶対パスでも$PROJ_DIR$をつかった相対パスのどちらでもOKです。
ちなみにインクルードファイルというのは、また別項目で解説するつもりですが、
ライブラリや汎用のプログラムやドライバを指します。
main.cがrunするときに、何でもかんでもこのファイルに書き込んでしまうとゴッチャゴチャになります。いや実際動くけど。
また、ドライバなどはチップベンダーが提供していますので、それを使う際には、あらかじめ記述しておきます。
実際main.cをみると

これらのファイルを使うよと記述しています。
で、これらのファイルが実際何処にあるかを教えてあげるのがこの設定になります。

前回、勝手にファイル動かすとエラー起こすよといったのは、
このインクルードのパス先が存在しないとかいう自体になって、
「おめぇが使うっていうてたファイルがねーよ!」って怒られます。



次は[出力コンバータ]です。
特にチェックは入ってないのですが、
もしST-LINK(っていう書き込みソフトがあるんですが)を使ってチップに書き込みをする場合には、srecファイルが必要になります。
今回書き込みはEWARMを使いますので不要です。
ちなみにST-LINKっていう書き込み用のJ-TAG(物理)もあるのでややこしいです。
まぁセットで使うものなんですがね・・・。



つぎも大事なフラッシュ書き込みの設定です。
チップのメモリ領域(どのアドレスにプログラムを書き込めばいいんだい?)
っていうのを設定してます。
っていうかそういうファイルがありますのでそのディレクトリを指定します。


そのファイルの中身を要は書き換える作業なのですが編集をおしますと

ROMとRMAの領域を規定します。
これはデータシートに記載があります。
っていうかデータシート見ないとわかりません。

まぁいろんな場所に書かれているのですが一例にデータシート46pのメモリマップ

にROM領域が書かれています。
ついでにSRAMの領域も書かれています。
設定ファイルと一致していると思います。
RAMの終わり値の0x20003FFFについては
データシートの1p目にRAM16kだよっていってるので、
差分の3FFFが丁度16k分です。
他のチップのばあいはちゃんとデータシート見ましょう。
もしくはそのチップのサンプルファイルをDLしてきて、
~flash.icfファイルだけパクってきましょう。



次にデバッガです。
今回はST-LINKを使いますっていうか、
本来ST-LINKっていうと


こいつを指すんですが、
コレと同じ機能がじつはSTM32LDiscoveryのボード上についてます。
具体的にはUSBコネクタのまわりのエリアがコレです。


最後にST-LINKの項目ですが
SWDにチェックが入ってることを確認します。
J-TAGモードとSWDモードの違いはなんか適当に調べてください。
わかりませんので!!

基本的な設定はこんな感じです。
新しいプロジェクトや違うチップを使う時は、これらの設定をまずしましょう。
まぁincはプログラム書きながら増やす感じですが、チップベンダーが提供している基本的なドライバやペリフェラルライブラリについては最初からいれて追いたほうが何かと便利です。

次回は、ペリフェラルライブラリか、ちょっとマイコンも動かしたいので、ブレイクポイントを使った基本的なデバッグの方法のどちらかにしようかなと書きながら、もうデバッグにしようと思ってます。
PR
COMMENT
name
title
text
color   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
mail
URL
pass
secret
PREV ←  HOME  → NEXT
プロフィール
HN:
komyu/シュクレール/修造
性別:
非公開
自己紹介:
こうぶつはけものみみとのーびす(♀)とエリーン
主にROとTERAとラノベと雑多なkomyuの日記帳です。
新生FF14
TERA紋章しみゅ
ROサポートツール
タイムライン
RSSボットが記事更新をつぶやくのがほとんどっス…
ROキャラクター紹介


TERAキャラ紹介

シュクレール(バサ)



syuzo(エレ)



サケマス(アチャ)


その他サブ

ウリエルキゥィス(スレLv54)

Vermillion(サラLv56)

パズドラ

157,318,362
フレンド募集中
枠なきゃ増やす
最終プレイ3日以上になったら消す
カレンダー
02 2024/03 04
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
ツリーカテゴリ
ブログ内検索
最新コメント
[04/30 のな]
[03/22 NEIN]
[03/22 NEIN]
[10/31 イロイ]
[05/02 NONAME]
Copyright (C) 2024 のーびす監察日記 All Rights Reserved.
Photo by 戦場に猫 Template Design by kaie
忍者ブログ [PR]