メモ書きブログ

日々の覚書

組み込み開発

STM32 USB host

Nucleo STM32 F401REでUSB Host作ろうとおもって CubeIDEを起動して、USB_OTG_FSにActivate_VBUSにチェック付けるだけで完成した。 それでもってデバイス側の時間計測してたら明らかにポーリングが遅いというか bInterval=0指定しても、効いてない感じ。 USB…

FTDI bitbang on WPF(C#)

FTDIのbitbangを使って、アプリケーションからGPIOを制御する。 公式サイトで.NET用ライブラリであるftd2xx_net.dll を提供しているので、これを使えば簡単に制御できる。 using FTD2XX_NET; public partial class MainWindow : Window { FTDI myFTDI = new …

STM32で行儀よくFLASH読み書き

STM32でライブラリ使えば簡単に読み書きできる。ST凄い。 uint8_t flash_erase() { uint32_t error_sector; FLASH_EraseInitTypeDef EraseInitStruct; HAL_StatusTypeDef result; HAL_FLASH_Unlock(); /* Fill EraseInit structure*/ EraseInitStruct.TypeEr…

STM32CubeMXのダウンロードエラー

GENRATE CODEしたら、software packages のダウンロードをしろといわれたので、やってみたら Error downloading the following files: stm32cube_fw_xx_vxxxx.zip (Target directory already exists) などと言われてしまいました。 C:\Users\<>\STM32Cube\Re…

STM32のI2Cタイミング

STM32のI2Cタイミングは、いくつかの入力を行うと、タイミングレジスタを自動で算出するST公式のExcelツールが公開されている。 https://www.st.com/en/embedded-software/stsw-stm32126.html PClockが低い状態で高速なBusSpeed設定をするとエラーとなったの…

STM32 のADC個別ch読み出し

STM32のリソースとして1個しか無いADCで、 ch(port)を切り替えながら個別で読み取るには2種類の方法がある。 DMAを使って一括で指定アドレスに転送するか、 個別にchを切り替えながら読み取るか。 常にセンサを一括で読み取れれば良いが、たまに読みたいだけ…

ルネサスマイコンの割り込み禁止許可

組み込み関数の割り込みのものを使うと良いらしい RXのものはこれ。 組み込み関数 | CS+ V4.01.00 他のマイコンは下記のかふぇるねとかからキーワード検索。 割り込みフラグを直接触って、割込み禁止にする表記方法 - 102: RX - Forum - かふぇルネ - Rene…

Nordicのドキュメント

ARMもそうだが、Nordicはドキュメントが基本的にWebなんだよなー レジスタマップ https://infocenter.nordicsemi.com/index.jsp?topic=%2Fstruct_nrf52%2Fstruct%2Fnrf52832.html 開発ボード https://infocenter.nordicsemi.com/index.jsp?topic=%2Fug_nrf52…

SCI UARTの受信処理

スマートコンフィグレータ―ではコード生成のたびに割り込み処理を上書きしてしまう。 スマート・コンフィグレータ SCIの割り込み - 109: 開発ツール - Forum - かふぇルネ - Renesas Rulz r_Config_UART_callback_receiveendの中では自由にコードが書けるの…

IDE

SIer時代、gccでprintf デバッグする畑で育ったが メーカー開発では嫌がられる為、IDEを勉強している。 ARM系は、ベンダオリジナルのIDEを使えば無料でコードサイズ制限無しでビルド可能であることは分かった。 ・MCUXpresso(NXP) ・SW4STM32(STM) ・PSo…

PIC UBL

PICにはUBLというブートローダーが内蔵FLASHに書き込み済みで出荷される AN1388 を読み込むと、ブートローダ用の公式アプリも用意されており ソースコードも公開されているので、自分のUIに組み込むこともできる と思われたが、MFCで書かれているという謎仕…

sigrok

sigrok はるか昔、zeroplusのロジアナを使っていた頃 USBでデータが取れて1万円だなんて破格だなぁと思っていた ただソフトが使いづらいんだよねぇ、トリガが必須だったりして。 最近は、中華の千円アナライザなんかも売っていて、 フリーのアナライザソフ…

MSP430 BSL

MSP430のBSLはUARTとUSBがあるが、チップに書き込み済みで出荷される USBもUARTも対応しているチップはなく、どちらに対応しているのかは メーカーが出している対応表があって参考にする必要がある e2e.ti.com でも、どっち使うかは、書き換えできるらしい。

C コンパイラーの最適化無効

GCCのオプションでoptimizeを叩く #pragma GCC push_options #pragma GCC optimize ("O0") void hoge(void) { } #pragma GCC pop_options

STM32 のTimer

設定すべきは、PSC(prescaler)、CNT(count)、ARR(auto-reload register)の3つとなる。 CNTは0から始まり、PSCのクロックでカウントアップしていき、ARRに達した時点で、0に戻る。 (ARRから始0になったらARRになる、だったかも) つまり、PSCは48MHzの場合…

nRF5 SPIスレーブ

nRF52のSPIを実装しようとしたときにSDKを使うか、実装するかを考えた。 OpenThreadのSPIはSDKを使用している。 github.com ブートローダで使うとか、どうしてもSDK使いたくないときに、 Githubに残ってるnRF52 SDKの古いソースが役に立つ。 nRF52/spi_slave…