組み込み

mbed ethernet UDPSocket

すこし確かめたいことがあったので mbed(LPC1768)でEthernetを用いてUDP通信を行った。 接続 akizukidenshi.com プログラム mbed osのバージョンによっていろいろと違うらしいので 最新のサンプルをImportする os.mbed.comしかしすでに、exampleにあるような…

VScode STM32 WSL J-Link arm-none-eabi-gdb

VScode上で、JLinkGDBServerを起動して、 WSLのarm-none-eabi-gdbでデバッグできるようにする。 WSL make arm-none-eabi-gcc arm-none-eabi-gdb は入れておく。 VScode をインストールする。 ポータブル版でもよい。 VScodeの拡張機能 上から IntelliSencse …

Nucleo J-Link化

STM32の開発でJ-Linkというデバッガーがよさそうらしいので 手元のNucleoで試してみる。 準備 今回試すのはNucleo-F401、 ST-Linkの基板が隣にくっついているので このST-Link部分をJ-Linkにして、 STM32F401REに書き込み、デバッグしてみる。メインループ S…

KiCAD BGA基板設計④ 到着編

PCBGOGOの注文画面によると 注文してから2-3日で基板の製造が終わったようだった。 素晴らしい速さ。Digikey基準で考えて、 Digikeyの在庫表示では「即時」の物しか部品は入れなかったが 基板が完成してから部品を注文しているのか何かがリードタイムに引っ…

KiCAD STEPファイル Fusion360

e-tipsmemo.hatenablog.comKiCAD 5の目玉機能でSTEPファイルのExportに対応したことがあるが 前回は失敗したので試してみる。Footprintにモデルがないと、エラーが出る。 最終的には各部品の3DモデルがSTEPのものだけが出力される Exportしたものだが、CやR…

KiCAD BGA基板設計③ 発注編

作ったBGAの基板を発注するが、 BGAはどう考えてもリフローしないと実装できないので、初めて実装サービスを利用してみる。 PCBGOGOの実装サービス 「Digikeyの部品かもしれない」? 「Mouserの部品かもしれない」? 「違うところ」かもしれないらしい。 問い…

KiCAD BGA基板設計②レイアウト編

e-tipsmemo.hatenablog.comデザインルールを設定するCapabilities | PCB Online | Low volume pcb assembly | PCBGOGO PCBGOGOの製造能力より こういうことだろうか。BGA100ぐらいをレイアウトするときも本当は4層あった方がいいけど値段が高そう。 (256ピン…

KiCAD BGA基板設計①回路編

試してみる。 ダメかもしれないけど。www.digikey.jp これを使うPCBGOGOに注文するつもりだが、 2019年1月時点のデザインルールでは、 0.8mm pitchのBGA基板ならギリギリ製造できる気がする。Capabilities | PCB Online | Low volume pcb assembly | PCBGOGO…

Ryzen 録画サーバー 電力測定③ (Rust serialport ②)

e-tipsmemo.hatenablog.com e-tipsmemo.hatenablog.comとりあえずRustでWattChecker-REXのサンプルコードと同じことができるようになった fn main() { println!("Hello, world!"); let mut wc = WattChecker::default(); wc.init(); wc.start_measure(); let…

rust serialport①

e-tipsmemo.hatenablog.com 電力測定のためのアプリを作るために Rustでserialportを操作する方法を調べた。非同期だったりとかいろいろあってよくわからなかったが結果的に動いた serialport-rsを利用することにした。https://crates.io/crates/serialportw…

Ryzen 録画サーバー 電力測定①

e-tipsmemo.hatenablog.com e-tipsmemo.hatenablog.com録画サーバーをたててエンコも自動にする目論見があるが、 気になるのは消費電力。常時起動させておくとしても電気を食いそうなので測りたい。 またエンコードもH265でやりたいと考えているが、 エンコ…

LTspice BJT simulation

使いたくなった時に使い方を忘れていると困るので LTspiceの使い方をメモっておく。とりあえず modelの追加方法と、 基本的なシミュレーション パラメータを利用 モデルの利用 ライブラリから目的の部品を探すのが面倒だといつも思っていた。が。 Spice Dire…

Raspberry piでSPI通信

RaspberryでSPIする必要がでてきてその方法を調べたのでメモ。 しかもPythonじゃないといけない。 python好きじゃないけど pi@raspberrypi:~ $ cat /proc/version Linux version 4.14.66-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crossto…

KiCAD 5.0 stable install

KiCAD 4.0.Xの操作感に不満を覚え始めたので、乗り換えPCBエディタを探していた。 無料のものだとEagle(古いやつ) 手頃な値段のものだと、 Diptrace, Eagle(Autodeskのほう)、CircuitStudio, 高いやつなら Altiumとか。。。? 80万は出せない。とかお金かけ…

AXI DMA テスト

AXIのDMA動作をメモしておく。この記事を参考に Using the AXI DMA in Vivado | FPGA DeveloperDMAのパスにILAを接続しておく。 手順通りにHelloWorldができたら、 HelloWorld_bspのsystem.mssを開いて axi_dmaのImport Exampleをクリックして xaxidma_examp…

Arty MicroBlaze ②GPIO

GPIOプログラム - fpgafpga ページ!ここと同じではあまり意味がないので GPIO(LED, SW)かつ UARTを使う方法 115200にする まずUARTのボーレートを変えるにはAXI-UARTの方法を変える他ない ソースコードに書いてあった。 新しいプロジェクトを作る。 Empty A…

Arty MicroBlaze ①HelloWorld

忘れないように Vivadoでmicroblaze - fpgafpga ページ! Block Design Board fileを使えば、ピンアサインする手間が省ける。 SDK HelloWorld TeraTerm などでHelloWorldがでる。 続くかも

EZ-USB FX2 Slave FIFO④

e-tipsmemo.hatenablog.comこの記事の続き。FIFOから読み出す。FIFO generatorによって作られるFIFOがよくわからなかったので自分で非同期FIFOを作った。 読み出す部分。 書き込まれた2byteが10個(20byte)になったら読み出しを開始する。実際に読み出す前にS…

Install Ubuntu18 Bionic arm(zynq) and x86(PC) まとめ

Ubuntu 18が出たので、やりかたを確かめつつまとめとりあえずARMで動かすUbuntu18をセットアップするためにLinuxが必要. Bash On Windows もあると便利。 Ubuntu18をVMplayerにインストールする。 x86_64 Windows上のVMplayerに Ubuntu18をインストールする …

Vivado IPコア コピー

Vivadoのip_repoの中に自分でつくったIPコアを複製したくなったときにコピーする方法。Vivadoで作るユーザーIPのバージョン管理が、どういう設計手順を想定しているのかわからないが、とにかく使いにくいので、 結局自分でIPコアをコピーしてメジャーバージ…

EZ-USB FX2 Slave FIFO③

e-tipsmemo.hatenablog.com の続き。実際にLEDに表示するのではなく、FIFOに入力していく。 イメージとしては以下のような感じ。 これを実装した。EZUSBのコードは前と同じ。 FPGAのコードは以下の部分がメイン EMPTYフラグをみてSTATE1へ遷移し、EMPTYフラ…

EZ-USB FX2 Slave FIFO②

e-tipsmemo.hatenablog.com 続き。FIFOを接続するまえに16bitずつ受信できるかどうかを確認する。まずEZ-USBのデバイスディスクリプタの一部を示す。 変えたのはここらへんのエンドポイントの数や、 使わないエンドポイントをコメントアウトしただけである。…

EZ-USB FX2 Slave FIFO①

e-tipsmemo.hatenablog.com この記事の続き且つSlave FIFO modeで動かす。 上の記事で見落としていたがInterface Descriptorの中に 利用するエンドポイントの数を指定する場所があった。 ;; Interface Descriptor .db DSCR_INTRFC_LEN ;; Descriptor length …

EZ-USB FX2 Device Descriptor

e-tipsmemo.hatenablog.comSlaveFIFOの利用を始める。 ベースはBulkloopサンプルであり、TD_Init、TD_Poll、デバイスディスクリプタを編集することになる。 http://www.cypress.com/file/386321/download のp11から。ここが項目ごとにまとまっている。 EZ−…

Ubuntu systemd getty autologin via Serial Console

Ubuntu17あたりでautologinする設定普通のtty([0-9].)なら systemctrl edit --force getty@tty0 (tty0はログインコンソールに変える) [Service] ExecStart= ExecStart=-/sbin/agetty -a <username> --noclear %I $TERMとすると、 /etc/systemd/system/getty@tty0.servi</username>…

xgpiops.h No such flie or Directory

zyboでUSB3320のリセットがMIO46につながっているのは Zybo Reference Manual [Reference.Digilentinc] ここからわかる。 どうやらハードウェア類がLinux前にリセットされていなければならないのは組み込みあるあるなのかしらないが 以下のサイトによるとそ…

zybo ethernet Ubuntu 17 ipv4

0からzyboのLinux起動を試しており、イーサネットがつながらなかった。 e-tipsmemo.hatenablog.com 大体ここをベースに今回はUbuntu 17 (Artful)を利用する。 ①デザイン zyboのイーサネットピンをMIOから出す。MDIOを忘れないようにする。 参考 ②bitstreamを…

EZ-USB FX2 Bulkloop ③

e-tipsmemo.hatenablog.com BulkloopのTD_pollを見ていく。 BulkloopではPCからinのEPに送られてきたデータをoutのEPからPCに送り返すものであった(はず)読み取り先のEPのステータスをチェックして 書き込み先のEPのステータスをチェックする。EPのバッファ…

EZ-USB FX2 Bulkloop ②

e-tipsmemo.hatenablog.comの続き。 CPUのクロックを48MHzに設定 http://www.cypress.com/file/126446/download p83にクロックツリーの・ようなものがある。 The slave FIFO interface can be clocked from either an internal or an external source. The E…

EZ-USB FX2 Bulkloop

fw.cを見る初期化があった後に(Bulkloop.cにある) ここでDevice Descriptorをそれぞれの構造体へ読む。 EP0でコントロールコマンドが来た時に必要。 で割り込みを有効にしているらしいが、関数呼び出しかと思わせておいてdefineで定義されている単なるレジス…