ガレスタさんのDIY日記

電子回路、Web、組み込み、自作エフェクターを語るblog

Eclipseのリファクタ機能が意外に便利だった

最近気づいたんだけどリファクタ機能が結構便利だったものでそれの紹介 一括リネーム 変えたい変数のうえで右クリしてRefactor->Renameそうすると一括変更が出来ちゃうねって話 べた書きを関数化 こういうくそコードを Refactor->Extract functionおしまい今…

AtollicにRunボタンがないのでそれっぽいデバッグ設定を作る

皆さんこんばんわ僕はいままでSW4STM32を使っていたのですがひょんなことからAtollicTrueStudioに切り替えました。 そうしたら上のほうにあったRunボタンがないんですね・・・ このRun機能書き込みリセットだけを行う機能でわざわざデバッグ起動しなくてもプ…

STM32のタイマークロックについて

ここ最近タイマーを結構使うようになってクロック源について悩んだのでメモ僕が普段使っているSTM32F7のタイマーのクロック源としてはAPB1、APB2の二つがある。 んでCubeでクロック設定をしている僕は気にしていなかったのだけどたくさん使うようになってど…

NVIC_SetVectorについて

久々にST限定じゃなくARM全般の話ですね。 NVIC_SetVectorについて Set Interrupt Vectorともあるように割り込みベクターを再セットするAPIです。主にこうやって使います。 NVIC_SetVector(SPI3_IRQn, (uint32_t)my_irq_handler); 第一引数は割り込み番号で…

AtollicTrueStudioのC++コンバート機能を使ってSTM32 CubeMX生成プロジェクトをC++で開発

経緯 ここ最近外部I2Cデバイスのドライバやらを書いていたのだがオブジェクトな書き方をCでやろうとするとポインタ型の代入が大量に発生するのでややこしいしめんどい C++ならメンバ関数が使えるのでインスタンスを生成すればIDEの補完機能でPrefixから呼べ…

ZOOM MS50gのハードウエア構成を見てみる

僕のブログではこんなことやったりして普通の使い方と違う使い方をやっていますが・・・・・ gsmcustomeffects.hatenablog.com 今回も普通の使い方というより教材として使う的なニュアンスでみていこうと思います。まず全体図メイン基板と各種スイッチ基板や…

KiCadのないとりーびるどでビアが好きに打てるようになってた

こんな感じに打てる(例がくそすぎwwwメニューはここその他UIがモダンになってます

ぼちぼち

最近更新できてませんなんでかっていうとアニメ見てるのと本読んでるのでwてなわけではじめてのギャル面白いhajimete-no-gal.jp

Kinetis K64 ピン割り込み

今回は前回に引き続きなんですがGPIO関連ということでピン入力割り込みについてやって行きたいと思います。Reference ManualのChapter11のPort Control and Interrupts (PORT)を参考資料としてつかうのでそれを用意してただいて作業をすると一段わかりやすく…

Kinetis K64 GPIOメモ

GPIOいじるときにすぐ忘れるのでメモしておこうとおもった。KSDK V2を使った場合で説明する流れとしては PORTにクロック供給 PINMUXの設定(GPIOへ設定) ピン方向の設定(構造体の定義) ピン方向の設定(InitAPIのコール) ピン操作APIのコール こうなる。…

自分用メモ Kinetisやる際によむとこ

SDK内のフォルダのDocの中のこれDriverExampleのReadmeリファレンスマニュアルSDKのGettingStartおよびファイル構造解説基本ここ読めばだいたいのコツはつかめる。 あとはInit系のAPIはマクロ化でウザったいので注意

GettingStartKinetisVer2

以前こんなの書いたんですけど gsmcustomeffects.hatenablog.com いつの間にかNXPになりそしてMCUXpressoSDKなるものが出てIDEも変わったので初心者のためにかきます。 あくまで初心者のためです。強い人はかえってどうぞ 必要なもの FRDMボード MCUXpressoI…

記事のまとめ

当てつけでもありませんが真面目に書いてるやつが日記的なのに埋もれてきたのでWikiっぽいの作った。https://gsmcustomeffects.github.io/stm32 でもWikiほど固くなくて記事の重要な部分だけ抜き出しただけ ちなみにJekyllっていうの使って作りましたJekyll …

ESP-WROOM-32

ESP-WROOM-32はケイデンス(元てんしりか)のIPであるXtensa LX6内蔵のESP32というSoCがのってる。ちなみにIPコア自体のデータシート読むとデバッグはARMのCoresight内蔵なのでJTAGでつながるみたい 開発はGNUベースであるらしい SDKもESP IDFってのがあるの…

自分用メモ Device Qualifier Descriptor

USB

STのCDCのコードみてたら出てきたので調べてみた high-speed capable device that has different device information for full-speed and high-speed must have a Device Qualifier Descriptor (USB_DEVICE_QUALIFIER_DESCRIPTOR). とあるのでハイスピードデ…

自分用メモ Interface Association Descriptor

USB

Interface Association Descriptor USB2.0により増えた規格。 それまでは複合デバイスを作る際どれがどのインターフェイスがわからず無法地帯だったらしい そこでIAD増やして明示的にした結局どゆことかというと USBデバイスではコンフィグに複数のInterface…

STM32のUSBCDCでMicroShellを動かす

前回まででUSBCDC(コミュニケーションデバイスクラス)でVCP(VirtualCOMPort)の動作は確認できたので今回はこれにMicroShellを使える状態していく作業になります。 CDCのやり方はこの記事みてくれ gsmcustomeffects.hatenablog.comやることは 1文字送受信…

Eclipseでファイル比較を使う

ここ最近USB系やっていてサンプルを参考にしつつ書くことが多い。 その中で2ファイル中の差異を比較できたら便利だと思って比較機能を使ってみることにした。やり方はこういう感じでファイルをCtrl推しながら選んで右クリックで相互を選ぶ(当方の環境はAtol…

Eclipseでファイル横断サーチする

僕はARMマイコン開発でもっぱらEclipseベースIDEを使用するわけなんですがその途中でワード検索よく多用します。 Ctrl+Fの検索機能は一般的なサーチです。しかしこれではファイル内しか検索できませんので単一ソースの確認しかできません 最近のマイコンの場…

自分用メモ デバイスディスクリプタ

デバイスディスクリプタはディスクリプタ階層の一番上に属する。一応書いておくと以下のような感じだ ┏デバイスディスクリプタ ┝コンフィグレーションディスクリプタ ┝インターフェイスディスクリプタ ┝エンドポイントディスクリプタ役割としては主にVID,PID…

自分用メモ コンフィグレーションディスクリプタ

前回CDCやったのでそれの補足ディスクリプタは以下のような構成になっている。┏デバイスディスクリプタ ┝コンフィグレーションディスクリプタ ┝インターフェイスディスクリプタ ┝エンドポイントディスクリプタデバイスディスクリプタについては前回やったの…

STM32F767NuceloでUSBCDCをやってみる。

前回の日記でCDCやってるということ書いたのでとりあえずやり方メモ STM32F767Nucleo144 を利用してます CubeMXでの操作 CubeMXを開いてUSB_OTG_FSをデバイスに設定次にクロック設定 USBペリフェラルに48MHzになるように持っていく 他は適当にやって行くその…

WEAKシンボルについて

ここ最近ARM系のお勉強を頑張っています。 今日はWEAK修飾子についてです。 STを例に話すと割り込み後に呼ばれるコールバックってのがWEAKマクロを使って記述されてます。 定義先に行くと __weak void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *hti…

STM32F042K6T6のUSB付きの基板を作った

前回はこんなの作った話をした gsmcustomeffects.hatenablog.comそれにUSBで電源とれるようなの作った。 目的はUSBコネクタのリフローの練習だけというねw なので信号線はつながってない。というかF030にはUSB機能がない (adsbygoogle = window.adsbygoogle…

SAIペリフェラルでトークスルーを動かす

前回こういう記事を書きました。 gsmcustomeffects.hatenablog.comこれは酔漢氏が作成された手順に基づき何から何までプラットフォームにお世話になって実現しているものです。 なので今回はちょっと変えてみようという考えに基づきやってみた第二段というわ…

おうちリフローについて

今回は僕がやってるおうちリフローについて紹介しようと思います。まず道具について ホットプレート ペースト半田 フラックス ディスペンサ(シリンジ)2種類 ピンセット ステンシル(今回は使わない) このぐらいが必要だと思います。 ちなみに精密な温度制…

FusionPCBでSTM32F042K6T6の基板を作ったよって話

今回はFusionPCBのレビューも兼ねて基板作ったのでそれの話です。とはいっても話すことは特になくてクーポンもらえたので基板ちゃちゃっとかいた感じです。

STM32でSPI通信をやってみる1(ポーリングでマイコン同士で通信編)

今回はCubeHALライブラリを用いてSPI通信をやってみる記事です。STM32のSPIは全二重、半二重、単方向、マルチマスターモードなどいろいろ対応してますが今回は一般的な全二重でやってみようと思います。 Pin Name description MOSI マウターアウトスレーブイ…

CubeMX4.20のHSEクロック関連出力コードのバグ?

CubeMX4.20のコード出力バグッぽいの見つけたのでかいときます。 前までのVerで動いてたいのですがHSE(外部クロック)を選択した際動かなくなったのでいろいろ調べてたら海外で同じような事例を発見http://www.openstm32.org/forumthread4665 RCC_OscInitSt…

ZOOM MS50g,MS70CDRのMIDI制御について1

今回はZOOM社のマルチストンプのMIDI制御についてです。一年前ぐらいにUSBHOSTでMIDI制御しましたがいろいろ発見があったので今回こうして書いているわけです。 (adsbygoogle = window.adsbygoogle || []).push({});