マイコン
プロジェクトの「Properties」→「C/C++ Build」→「Settings」→「Build Steps」で 「Post-build steps」の「Command」を編集し、下記のコマンドを追加する。 arm-none-eabi-objcopy -O ihex ${BuildArtifactFileName} ${BuildArtifactFileBaseName}.hex※ コマ…
SES (Segger Embedded Studio) で、インクルードパスとライブラリパスを設定する方法をメモ。Project Explorerでプロジェクト名を右クリックして「Options」をクリック。コンフィギュレーションは「Common」を選択する。(「Debug」および「Release」は「Comm…
インストール方法 CubeMXを起動し、「Help」→「Manage embedded software packages」をクリック。「STM32Cube MCU Packages」タブで所望のMCUシリーズ (ここではSTM32H7) の所望のバージョン (ここでは1.11.0) を選択し「Install」をクリック。 インストール…
PCAからはじまる謎の番号があり、サンプルコードのプロジェクトのディレクトリもこの番号に従っているので分かりにくい。 PCA番号 チップ 評価ボード名 コア Flash RAM PCA10095 nRF5340 nRF5340 DK M33+M33 1MB+256kB 512kB+64kB PCA10056 nRF52840 nRF5284…
Segger Embedded Studioのインストール 下記からEmbedded Studio for ARMをダウンロードしてインストールする。 SEGGER - The Embedded Experts - Downloads - Embedded Studio 必要なら下記から J-Link Software and Documentation pack をダウンロードして…
ライブラリ Spresense Arduinoでは、Adafruit の Adafruit_NeoPixel ライブラリは使えない。。Spresense Arduino用のNeoPixelライブラリとしては、hideakitaiさんのSpresenseNeoPixel と、hideakitaiさんのnepils がある。nepils のほうが後発で、Adafruit_N…
S11x : BLE Peripheral 専用 S12x : BLE Central 専用 S13x / S14x : BLE Central / Peripheral 両用 S2xx : ANT用 S3xx : BLE / ANT 両用 ZigBeeは SoftDevice ではなく nRF5 SDK for Thread and Zigbee を使用
SPRESENSEのArduino環境のdigitalWrite関数は異様に遅い。例えば下記のようなスケッチを実行して、メインボードの27番ピンと28番ピンの波形をオシロで測定するとなんと6.4usecも時間差がある。つまりdigitalWrite関数の実行に6.4usecもかかっていることにな…
やりたいこと スイッチサイエンスのSPRESENSE用BLEベースボードを使って PCまたはAndroidのブラウザ上のWebアプリと NUS (Nordic UART Service)で文字列の送受信をする SPRESENSE用BLEベースボードとは? SPRESENSEのB2Bコネクタを2.54mmピッチに変換する基…
SPRESENSEのピン番号対応 を確認するためのテストコード。 シリアルポートにピン番号の数字を入力すると、そのピン番号のポートがパタパタするのでオシロで確認する。 SPRESENSEではアナログピン(A0~A5)はデジタルのGPIOとしては使えないようだ。 String in…
SPRESENSEのメインボードと拡張ボードとB2Bコネクタのピン番号とArduino環境でのピン番号の対応表。ダウンロード → SPRESENSE_PINMAP.xlsx 確認用テストコード lipoyang.hatenablog.com
やりたいこと CubeMXで作成したプロジェクトを別のマイコンに置き換える。 例として、STM32F767からSTM32H743への置き換えるものとする。 元のプロジェクトはCubeMXのプロジェクト(iocファイル)からIAR EWARMのプロジェクトを生成しているものとする。 iocフ…
前回の記事(↓)のおまけ。DMAやFMC以外でトラブったところをメモ。 SPIがSTM32F7とは別物 F7とH7でSPIのハードウェアが別物。 HALライブラリを使うかぎりはほぼそのまま移植できる。 レジスタを直接叩いている場合は要注意。 CR1, CR2, SRなど、同名のレジス…
STM32H7でDMAやFMCを使う場合の注意点まとめ。参考文献と参考記事も参照してください。 (1) DTCMにはDMAの手が届かない (2) DMA転送のデータが化ける (3) FMCも要注意 (とくにLCDを接続するとき) 参考文献 参考記事 (1) DTCMにはDMAの手が届かない 【問題】 …
I/Oの落とし穴 ただでさえ M5Stack は外に出ているI/Oピンが少ないが、それすら兼用ピンが多く注意を要する。M5Stack Basic について気付いたのは以下の通り。まだ他にあるかもしれない。また、M5Stack Core2とは異同があるので注意。 3 (RXD1), 1(TXD1) : U…
XIAOGYAN (IoT ALGYAN 8周年記念ボード)で動作するインターネットラジオのサンプルコードです。 ※ XIAO ESP32「S3」用です。「C3」ではうまく動作しません。 参考 ESP32 でインターネットラジオ(Web Radio)を作る(ハマったこと) - Qiita ESP32-DevKitCで…
やりたいこと VSCodeで組込み系マイコンのCソースを編集したい。 ビルドやデバッグは別のIDEでやるのでできなくていい。 前提 VSCodeに拡張機能 C/C++ がインストールされていること。 とりあえずこれだけで、構文ハイライトやナビゲーション、インテリセン…
Arduino IDEの問題点 PlatformIOとは? PlatformIOの導入 プロジェクトの作成から書き込みまで プロジェクトの作成 ビルドと書き込み ポート指定 シリアルモニター ライブラリの導入 サンプルコード 既存のプロジェクトを開く 既存のArduinoスケッチのインポ…
リセット NVIC_SystemReset(); スリープ ウェイクアップ信号でリセットがかかることに注意。 (復帰ではない) バッテリー駆動でスリープ時にUSB接続してもリセットがかかる。 #define PIN_WAKEUP 7 // ウェイクアップピン pinMode(PIN_WAKEUP, INPUT_PULLUP_S…
Seeed Studio XIAO nRF52840 (以下、XIAO nRF) で、USBが接続されているか (VBUSが給電されているか) を判定する方法を調査した。 何がしたいか? XIAO nRFにはLiPoバッテリーを接続して給電/充電するパッドがある。USB接続されているときはマイコンにはUSB…
1. Seeed XIAO BLE nRF52840とは 2. Arduino開発環境 2.1 ボードの追加 2.2 ライブラリの追加 2.3 (捕捉) ボードとライブラリについて 3. Lチカ 3.1 オンボードのLED 3.2 NeoPixel 4. BLE 4.1 スケッチ 4.2 スマホで動作確認 5. 参考記事 1. Seeed XIAO BLE …
GPSモジュール 秋月でアンテナ付キットを購入。(2022/8/20現在、在庫切れ) GNSS(GPS・GLONASS・QZSS)受信機キット 1PPS出力 みちびき3機対応 アンテナセット付キット: 組立キット(モジュール) 秋月電子通商-電子部品・ネット通販 G…
ツール > Core Debug Level で出力を制御でき、printf()の書式が利用できる。 デフォルト(Core Debug Level が 「なし」のときはどれも出力されない) log_e() – Error (最低レベル) log_w() – Warn log_i() – Info log_d() – Debug log_v() – Verbose (最高…
ヘルプ > ライセンスマネージャ 製品リストから製品(IAR Embedded Workbench)をダブルクリック もし製品リストが表示されていなかったら、表示 > 製品リスト ライセンスの詳細で、選択されたライセンスをドロップダウンから選択してOK 製品リストで製品名の…
#pragma で optimize の値を指定する。 none, low, medium, high, size, speed 等から指定する。 直後の関数にのみ影響する。 最適化レベルを下げる方向にのみ有効。(コンパイラオプションで指定した最適化レベルよりも高い場合は無視される。) size や spee…
Arduino IDE や IDE for GR のビルド出力先を固定したい場合、設定ファイル( preferences.txt )で build.path を指定する。 build.path=C:\tool\tempWindowsの場合、Arduino IDE の preferences.txt は下記のフォルダにある。 %LOCALAPPDATA%\Arduino15\ (通…
この記事は がじぇるねGR Advent Calendar 2021 の18日目です。GR-ROSEのブートとプログラム書き込みの仕組みは、公式の資料がやや分かりにくかったので調査しました。 (ふつうに使うぶんにはほぼ必要ない知識です。)まず、起動時のシーケンスを概観すると下…
この記事は がじぇるねGR Advent Calendar 2021 の14日目です。 GR-ROSEでは、FreeRTOSとAzure RTOSという2つのRTOSをお手軽に使うことができます。 この記事ではGR-ROSEでこの2つのRTOSを比較します。 FreeRTOSとAzure RTOSについて GR-ROSEでFreeRTOSとAzu…
ピン機能の設定 gpio_set_function()でピン機能をGPIO_FUNC_PWMに設定する。 RP2040には8つのPWMスライスがあり、各スライスにA/Bの2つのPWMチャンネルがある。 つまり最大8×2=16チャンネルのPWM出力が可能。 PWM周波数や分解能はスライスごとに設定できる。…
Raspberry Pi PicoはArduino環境で開発することもできる。Raspberry Pi Pico用のボードサポートパッケージはArduino公式版以外にフィルハワー伯爵版(?)なるものが存在するようだ。公式版はMbedの上にArduinoの皮かぶせたちょっとやっつけ仕事気味なかんじな…