「おとは@でいじー開発部」トップページに移動します
プロフィール
短く紹介
一応肩書付き最前線プロのプログラマーです☆
デザイン、サウンド、企画、設計、プログラム構築まで幅広く知識を身につけるべく修行に励んでおります!!
ハードウェア開発の沼にどっぷり漬かってぬくぬく☆

ひとり言
ハードウェア開発に興味を持ってしまった・・・当分はハードウェアについて記事を書いていくのだ♪♪
WPFの紹介ウェブページもある程度コンテンツが増えたのでライブラリの公開を一時中断したよ(爆)
スポンサード リンク
カレンダー
2023年 3月
      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  
人気記事
- 2017/11/28 22:40 (0)
新規記事
- 2017/11/28 22:40 (0)
コメント
登録はありません
トラックバック
登録はありません
バックナンバー
RSS
常に最新情報を得るためにはRSSを利用しましょう。
QRコード
QR Code

現在のページを通報
「ぶろぐるすとーりーと管理人」へ不適切な記事の通報が行えます。
通報を行いたい対象記事のみを表示した状態で通報して下さい。

ページ切り替え


ルネサスCS+ 充実の開発環境だ☆

投稿日時 2015/12/07 01:33:25

いらっしゃませぇ~note

おとは~どぅぇぁの社 へようこそ(ノ)゚∀゚(ヾ)

今回は高速・高機能なマイコンを制作しているメーカーのルネサス社の総合開発環境についてご紹介しますshine
ルネサスのマイコンは秋葉原の某電子部品販売店や他の中小企業からも開発ボードが制作されて販売されているかなり有名なメーカーですnote
開発ボードと言えば始めやすいArduinoやRaspberryPiなどもありますがこれらは速度面が悪かったり開発環境が良くなかったりLinux載せて遊んだりとかなり限定的なことしかできませんdanger
開発ボードとして考えると使用されているMCUが限られていて行えることも限定されてしまうのでやりたいことが決まっているなら1からチップを組んで実装していく方が楽しめますよshine

ルネサスのマイコンは実際色々な電化製品にも組み込みされている有名なものなので資料もかなり充実していますのでやりたいことが比較的簡単に実現することができます。
※ArduinoやRaspberryPiよりは難易度はかなり高いのでご注意を。

では、ルネサスの開発環境についてご紹介していきましょう。

pc 充実したIDE pc
おとは@開発隊長さんの投稿画像
Visual Studioを意識して製作しているのだろうかと思えるほど機能がかなり似ている開発環境ツールですcd
割と最近にCS+と言う名前に変わっておりバージョンも3で始まる。

ちなみにCS+無料で利用は出来るが60日で試用期間が過ぎるのでそしたらプログラムサイズが128KBまでとなってしまうweep
そこまでのプログラムを組まない人にとっては大したことではないけどねsweat02
機能制限以外を気にしなければ、プログラミング及びデバッガーとして本当に充実している。

dollar ちょいと投資しないと本領発揮しない
デバッガー機能に関してはMCUとCS+だけではほぼどうしようもできないですgawk
と言うのも、本領を発揮するにはオンチップエミュレータのE1かE20を別途購入する必要がありますpouch
シリアルデバッガと言うシリアル通信でのデバッグを行う方法もありますがかなり使いにくい分類になるのでお勧めは出来ませんdanger
シリアルデバッガでもステップ実行やプログラムの転送は可能ですが、頻繁にデバッガーから切断されるのでがっつり作業は出来ません・・・coldsweats02

おとは@開発隊長さんの投稿画像
オンチップエミュレータのE1はこんなハードウェアですshine
お値段は1万2千円ほどしますがVisual Studioを5万で買うよりは安いかなcoldsweats01
ちなみにトレース機能が付いているE20に関しては12万ほどしますので初めはE1がお勧めですscissors

おとは@開発隊長さんの投稿画像
実際にMCUの実行プログラムを組んだりデバッグするためにMCUとE1を接続した開発はこんな感じになりますcamera
私の場合はブレッドボードを使用して開発しているので配線がすごいことになっていますがこんな配線でも大きな問題なくデバッグが滞りなくできていますscissors

danger JTAGケーブルでE1とMCUの接続
E1は14ピンのJTAG用ケーブルでMCUの対応するピンと接続することになります。
接続方法については詳しくドキュメントが公開されていますのでご参照ください。

配線に問題がなければCS+のデバッグ・ツールをE1に設定するだけでプログラムの転送から実行からデバッグ・CPUリセットやステップ実行など自由に行えますhappy02

crown 開発において便利なウィンドウをご紹介
おとは@開発隊長さんの投稿画像
 

  1. ウォッチ(指定変数の監視)
  2. CPUレジスタ(レジスタの監視)
  3. メモリ(指定アドレスのメモリ内容の一覧表示監視)
  4. 逆アセンブル(アセンブル言語レベルでデバッグ)
  5. IOR(IOレジスタの監視)
  6. イベント(ブレークポイントやタイマーによるブレーク設定)
  7. コール・スタック(プログラムの呼び出し元確認)


Visual StudioでもCS+でもデバッグにおいて必要になるウィンドウは大体同じですねhappy01
IORはCS+独自でIO制御系のレジスタの状態が一覧で見られるので設定漏れとか設定ミスとかチェックするのに便利ですnote


2015/12/07時点でおとははCS+の製品版購入はしていないですがプログラムサイズ制限が厳しいと感じたら購入を検討してみようかと思いますsweat01

CS+の製品版の購入となると調べた限りでは大方20万は必要なようなので個人で買えるレベルではなくて困るんだよね・・・wobbly

当分はルネサスマイコンとCS+で楽しく開発が出来そうですねheart04
 


投稿者

おとは@開発隊長  

カテゴリー

電子回路あぷりけーしょん 開発環境 C++言語 C言語(PIC) そふとうぇあ はーどうぇあ 

タグ

マイコン 総合開発環境 ソフトウェア開発
  • Yahoo!ブックマークに登録
  • このエントリーをはてなブックマークに追加

バグ調査だ!バウンダリスキャン

投稿日時 2015/12/06 23:12:22

いらっしゃませぇ~note

おとは~どぅぇぁの社 へようこそ(ノ)゚∀゚(ヾ)

今回はハードウェア開発中のトラブル対処のお供に便利なデバッグ方法についてご紹介します。
shine バウンダリスキャンshine ってご存知ですか!?

JTAGと言う通信技術があるのですがその中の1つの機能にバウンダリスキャンがあります。
JTAGの通信技術は他にも「実行ファイルの転送」や「総合環境との連動でのデバッグ」など用意しているメーカーもあります。

なので、ハードウェア業界的には基本的な技術の1つであるのです。
だがしかし、プロが本気で利用する機能なだけあって個人に対してはかなり高価なものが多いです。

実際、日本国内でも安くて10万くらいは最低必要だと考えないといけないcrying
余裕のよっちゃんで買えてしまう人は目的に応じて買って頂ければと思いますがそれだけで済ませてしまったら 「おとは~どぅぇぁの社」 を立てた意味がないですよsweat01

ちょっとした興味と英語と探求心と向上心や気力やらあれこれ融合したらバウンダリスキャンを自前で実現することが出来ちゃうので実際に作成したツールを踏まえてご紹介しちゃいますcrown

cd  おとは制作のバウンダリスキャンツール cd
おとは@開発隊長さんの投稿画像
テスト製作したツールなのでRX621の144ピンタイプのMCU以外では利用できないとっても限定的なツールですdown
そのうち、改良してもっと利用しやすくしようかとも思いますが現状維持ですnote
(2015/12/06現在)

pen では具体的にどんな風に制作していくのかをご紹介しますねflair
注意事項
ツールを購入せずに自分で1から制作していくため10万円は必要ありませんが通信用のハードウェアを1200円ほどで購入しておりますのでその点は費用が0円にはなっておりませんのでご了承くださいhappy01

sharp JTAG通信が可能なハードウェアを手に入れる
JTAG通信を使用しないでバウンダリスキャンツールを開発するのには時間が掛かりすぎるのでまずはJTAG通信が出来るハードウェアを購入します。

何を買うのかはほぼ決まりなのですが今回、バウンダリスキャンツールを制作するうえで利用するライブラリがFTDI社のライブラリなのでそのライブラリが利用できるハードウェアに限定されます。
 

アマゾンでサクッと購入できるのは左記の商品のみのようです。
その他は秋月電子でも買えるのでFT232HLで検索して頂ければ私が開発に使用したチップの製品が見つかるかと思います。
必要な機能はMPSSEを使用したJTAG通信のみですので代用の聞くものであればFT232HLにこだわりはありません。
動作確認が行えているのはFT232HLですのでその他の動作保証は出来ません。
USBの場合は通信速度もバウンダリスキャンの結果にかかわりますので可能な限りHi-Speedタイプのものを選択してください。

おとはは秋月電子で購入したものを使用しております。
おとは@開発隊長さんの投稿画像

sharp 設定変更ツールで設定を変更する
おとは@開発隊長さんの投稿画像 FTDI社のホームページから専用のプログラム(設定書き換え)ツールをダウンロードしてカスタマイズします。
後からわかったことはこのツールで設定してもJTAG通信にはあまり影響がないことだ。
一応、USBドライバタイプにした上でツールのプログラムが楽なのでデバイスに名前とシリアル番号をオリジナル設定にして間違ったデバイスを使わないように対処しています。
プログラムツールはこちらからダウンロードできます。
ツールは”FT_Prog”と言う名前です。


sharp ドライバーとライブラリを入手する
お次もFTDI社より専用のドライバーやライブラリをダウンロードしてきます。

ドライバーはこちらから。
ライブラリはこちらから。

上記のライブラリのリンクからは.Net Frameworkを使用したC#向けのライブラリがダウンロードできます。
ついでにサンプルも色々ダウンロードできるので実際に動かしてみると分かりやすいかと思います。
danger速度優先としたい方はC++などの言語のライブラリを取得してください。


sharp プログラムを組んでいく
こちらのドキュメントを読みながら実装を進めていきます。
私の場合はJTAG通信以外にも便利に利用できそうだと思ったのもあってC#向けに専用のライブラリを組んでからUIプログラムを構築していきました。

おとは@開発隊長さんの投稿画像
こちらの画像はVisual Studioの開発画面でエディタの左側がWPFのUI設定の一部で右側がおとは自己流ライブラリのソースコードの一部です。
こんな感じで順番にマニュアルを参考にしてコーディングしては動作確認してテストの繰り返しです。


sharp 動作確認
実際の動作はこの動画を見て頂ければわかるかと思います。
UIの実装優先でC#で制作したこととライブラリもC++/CLI等の高速化をせずにC#のままなのでかなりもっさりしています。
 
UIも速度もって人はWPFを使いつつC++/CLIを組み合わせてやっていけばかなり良い感じに作れるかと思います happy02


sharp ツールの公開について
2015/12/06現在ではRX621の144ピンしか対応していないのでツールの公開は考えておりません。
ご希望がありましたら直接、おとはまでお問い合わせしてくれたら個別に対応致します。
RX621以外のMCUでもBSDLがあればツールの拡張対応は可能なのでBSDLを頂ければ対応も可能ですが依頼の量によっては有料とさせて頂きます。
mail お問い合わせ先は本ページの最後に記載してあります。

sharp ライブラリの公開について
C#ライブラリの仕様の都合上、ライブラリDLL単体での公開は行う予定はございません。
ライブラリの提供をご希望される方はソースコードの利用権のみを購入して頂く形となりますのでご相談頂ければと思います。
mail お問い合わせ先は本ページの最後に記載してあります。



sharp おとはへのお問い合わせ方法について

loveletter お問い合わせ先:otohatan55[あっと]go-otohas.com
    ※[ あっと]を@に置き換えてから送信してください。

質問やその他お問い合わせなどはメールアドレスまでお問い合わせください。
あて名は”おとは”で頂ければと同名での返答を致します。
何かしらの契約をさせて頂く際は本名で連絡致します。

投稿者

おとは@開発隊長  

カテゴリー

電子回路はーどうぇあ 開発環境 はーどうぇあ 

タグ

ハードウェア デバッグ バウンダリスキャン
  • Yahoo!ブックマークに登録
  • このエントリーをはてなブックマークに追加

開発ノウハウ・技術集

投稿日時 2015/12/06 20:27:26

いらっしゃませぇ~note

おとは~どぅぇぁの社 へようこそ(ノ)゚∀゚(ヾ)

ノウハウ・技術編と言うことで、実際におとはが考えて行動して開発してみて感じた事やあれこれの良いところ悪いところ、気にするところ、注意点など色々ご紹介していこうかと思います。

まずは、箇条書きではありますが良く感じる基本的なところを書いておきますのでしっかり身に着けておきましょうscissors


pen ハードウェア開発の基本  pen

  1. 各種電子部品の基本的な特性は抑えておく
    • 電子部品を選ぶときに商品説明を読んで理解できるようにしておこう
    • 電子部品にも癖はあるので値段によっては十分に調べてから買おう
  2. 電子部品は大事に扱おう
    • 電子部品は部品同士をはんだ付けしていくので熱の加え過ぎに注意だ
    • ピン数が多いICとか小物は簡単に足が壊れるのでそっと扱おう
    • 水晶発振子とか振動する系は特に衝撃に注意だ
  3. 配線は短く済ませるように心がける
    • ブレッドボードなどで開発する時は特に導線の長さに注意する
    • 周波数の高いICではクロック単位の間隔がせまいので導線を長くし過ぎないようにすることで遅延対策をしよう
    • 求められる速度によってはブレッドボードはなくユニバーサル基板でも良いので短く配線しよう
  4. 電子部品も導線も消耗品だ
    • 電子部品も消耗品だし導線も消耗品ですので摩耗には注意です
    • 断線・接触不良の導線を使ってしまうと思わぬところでトラブルになりますので再利用時は極力導通チェックをしよう
  5. はんだ付けを過信しない
    • 特に1mm満たないピンのはんだ付けは見た目通りに接触しているかなんてわからないので極力導通チェックをしてから開発しよう
    • トラブルが発生したときは接触不良も疑おう
  6. ノイズが少ない環境で開発しよう
    • ACアダプターやUSBなど簡単に電気が手に入る分、どちらもノイズがびっしりなので影響を受けないようにコンデンサなど対策しよう
    • 人の体にも電気が微量ながら流れているのでタッチノイズも動作不良にさせてしまうことがあるので触れるときも注意しよう
    • 絶対にやってはいけないのは静電気なので特に冬場は静電気対策をしっかりしておこう
  7. (予算によるが)色んな部品を試した方が発見がある
    • 部品も格安から超高級まで多種多様なので色々試してみた方が発見がありますし品質向上もできます。
    • 値段が高ければ品質が良いとしても開発製品に合致するとは限らないのでこれも試していくしかない

 



pen ソフトウェア開発の基本  pen

  1. 機能調査
    • マニュアルを見て目的が果たせるか調べる
    • サンプルプログラムを実行してテストする
  2. テスト実装
    • 実際に開発している環境へ組み込みしてテストを行う
    • テスト実装の時点ではハードコーディング・直値が多くなっても良いので速度優先とする
  3. 本実装
    • 機能が複雑になるほど外部からの入力を受けて処理を変更できるような臨機応変に動作する処理にして本実装を行っていく
    • 他人に説明がしやすい、引継ぎしやすいコーディングを優先して実装速度に気を取られてわかりにくくならないように気を付ける
  4. コーディングルール
    • 一人で作業する場合は特に気にする必要もなのだがルールを決めて作業する方が奇麗なコードが書ける
    • 変数の型も標準のを利用するよりは独自に定義しておいた方が他プラットフォームへの移植も楽にできる
  5. コード整理
    • 機能によってまとめられるものは順次まとめていく
    • 同じようなコードはメンテナンス性も悪いので管理しやすく整理しよう
    • 随時、実装を進めながら処理の挙動を変えないようにしつつ、煩雑化したコード、複雑になったコードなど少しずつ整理して簡潔なコードに修正していく(リファクタリング)
  6. オブジェクト指向
    • マイコンプログラムでも最近はC++言語の利用も可能なのでオブジェクト指向のプログラミングを使用
    • 守りたい変数があったり、異なるデータを同じ処理で管理したりする場合などに非常に便利である
    • コード整理もしやすく目的がわかりやすい処理に出来る
  7. ライブラリ化
    • 良く利用する処理、特に開発プロジェクトが変わっても利用する処理はライブラリとしてまとめていく
    • メインのプログラムに直接組み込みせずにライブラリプロジェクトを作成してまとめていこう
  8. マニュアルの作成
    • 大きなものになるほど引継ぎが大変になるので少しずつマニュアルを作成して担当者が変わってもスムーズに作業が続行できるようにしていこう
    • マニュアルはDoxygenのようなツールを利用してマニュアル化するのがかなり楽なのでコーディングルールもしっかり決めておく
    • 複雑な処理になるほどクラス図やシーケンス図は大切なので設計の段階から仕様としてまとめておく方が実装トラブルも少なくなる



ひとまず、ざっと書いてみたけど更新は随時行っていきます。
 


投稿者

おとは@開発隊長  

カテゴリー

電子回路開発環境 C++言語 はーどうぇあ 

タグ

ハードウェア マイコン プログラミング
  • Yahoo!ブックマークに登録
  • このエントリーをはてなブックマークに追加

ページ切り替え


ページビューカウンター
145150
ウェブページ
+ハードウェア編
+ソフトウェア編
+ノウハウ・技能編
+道具・雑貨編
+初級編
+中級編
+上級編
+番外編
+初級編
+中級編
フリースペース
☆ハイレゾ音源☆

☆お絵かきするなら☆

☆カスタムPC☆

ギャラリー
カテゴリー
ほびぃ~
くりえいてぃぶ
電子回路 (14)
ぷろぐらみんぐ
C#言語 (21)
C++言語 (4)
PHP言語 (3)
あいてぃー・こんぴゅーた
ぷろふぇっしょなる
全般 (16)
れびゅー
お気に入りたぐ
ツイッター
お問合わせ
ぶろぐ管理者にお問合わせしたい時は専用フォームから連絡が行えます。


  • ipv6 ready
Blogle Storeet Core System v2.0a
おとはうぇぶあぷりぶ (IPv4) v2.6a
Copyright (C) 2014-2018 Blogle Storeet Development Team.