e-tipsmemo

ごった煮

2017-01-01から1年間の記事一覧

Rust multithread 実行時間測定

multithreadが本当に効いているのかを確かめたいので シングルスレッドとマルチスレッドで実行時間を測定したかった。しかし、 ここのような e-tipsmemo.hatenablog.com cargo banchによる測定方法ではなんだかうまくいかなかったので シンプルに実行前後の…

Ubuntu root file system for armhf

組み込みLinuxの勉強として あるARMデバイスのためにSDカードのパーティションにUbuntuのRoot File Systemを展開しておきたい。タイトルはBuildとあるがビルドするほどのものでもないかもしれない。実行環境はVMplayer上のUbuntu16.04 LTS 0 準備 $ sudo apt…

Rustでマルチスレッド 試用

rustbyexample.comここを参考に e-tipsmemo.hatenablog.com をマルチスレッド化してみる。 ついでに積分計算は台形で行うように変更した。 extern crate test; use std::thread; #[derive(Debug, Copy, Clone)] struct Fx { a: f64, b: f64, step: u64, f: f…

ElecrowとPCBGOGOの比較

パターンミスのために 基板製造を二回したので ElecrowとPCBGOGOでそれぞれ行い、 主観的な比較を行った。基板サイズは約50mmX50mmで色は白製造した基板 左がPCBGOGO 右がElecrow Elecrow 少し黄ばんでいる(白だと気になるかもしれない) 担当者によるチェッ…

Rust bench 実行時間測定

rustである関数の実行時間を測定したいときがあったのでメモ 環境 rustc --version rustc 1.24.0-nightly (f8af59d95 2017-12-13)rustc-testクレートが必要なのでCargo.tomlに記述する。 extern crate test; use test::test::Bencher; struct Fx { a: f64, b…

Verilog ビデオ信号出力(Transition Minimized Differential Signaling)

いわゆるHDMIのV1.0でDVI-Dと互換のデータ形式e-tipsmemo.hatenablog.com の続き。 といっても e-tipsmemo.hatenablog.com をVerilogにするだけ module encoding( input clk, input resetn, input [7:0] din, output [9:0] dout, input disp_area, input c0,…

objcopyで textセクションの抽出

諸事情があって自分の書いたMIPSアセンブリを純粋に機械語に変換しただけの16進数表示のテキストが ほしいという状況になった。 今回はMIPSでそういう状況だったがgccを使っているのでアセンブラのところを切り替えれば x86でもx64でもarmでもなんでも同様の…

Rust入門 セットアップ

Bash On Windowsをインストールし直すたびにこれも検索し直しているのは時間がかかって仕方がないのでメモ(2017/12)WSL上でRust install $ curl https://sh.rustup.rs -sSf | sh Current installation options: default host triple: x86_64-apple-darwin de…

WSL(Bash On Windows)を再セットアップ

色々とめんどくさくなったときに再設定するためのメモcmd.exeからオプションなしの削除 >lxrun /uninstallすべて削除 >lxrun /uninstall /full最近のWindowsのアップデートでWSLが標準機能になったのでストアからインストール www.microsoft.com起動するとro…

KiCADのモデル Fusion360

KiCADには3Dmodelを表示・出力機能がデフォルトであるが、 対応フォーマットがwrlというものだけだ。 一方でフリーの3DCADとしては最も優秀だと思われる Fusion360の出力フォーマットにwrlはない。 これをFreeCADを使って変換するプラグインがあるらしいので…

Verilog ビデオ信号出力(アナログRGB)

忘れないように。 1920x1080@60fpsの場合 ビデオ期間とhsyncの関係 ビデオ期間とvsyncの関係 50fpsだとフロントポーチ、バックポーチの各値が違う。 hが横方向のピクセルを、vを縦のラインを数えていくカウンターを用意して、 適当な値になったらvsyncやhsyn…

Transition Minimized Differential Signaling のメモ

毎回調べてい気がするのでメモ #include <iostream> #include <bitset> int main() { std::bitset<8> rline[2200] = {0}; std::bitset<10> rout[2200] = {0}; //init for(int i=0;i<1920;i++) { rline[i] = 0x50; } int cnt = -2; for(int i=0;i<1920;i++) { std::cout << rlin</bitset></iostream>…

ElectronでJCanvasを使う

Javascriptがよくわからなかったので導入がよくわからなかった。 electronのアプリの場所でローカルインストールする npm install --save-dev jquery npm install --save-dev jcanvas index.html <html> <head> <meta charset="UTF-8"> <link href="./style.css" rel="stylesheet"> <title>Hello World!</title> </head> <body> <h1>Hello World!</h1> </body></html>

KiCAD 4.0.1 length matching (differential)

e-tipsmemo.hatenablog.com の続き。 前提として回路図を書いてフットプリントの割当をしてある状態にする。 また、差動配線にしたいPinにつながるネット名が [hoge]+,[hoge]- または[hoge]_P,[hoge]_Nとなっていないとできない。 ①表示→OpenGL Modeにする。…

Uart受信 Form Closing 停止する。

UARTの受信スレッドからUIスレッドの内容を変更する方法として、 以下のようなコードを書いた。 private void DataReceived(object sender, SerialDataReceivedEventArgs e) { //受信処理 ... this.Invoke(new MethodInvoker(() => { /*UIスレッドでなんかす…

マイクロマウスのために買った部品たち

機械を習ったことがないが マイクロマウスを始めるために何が必要か全くわからなかったので 調べた結果必要だと思われるものを色々と買った。京商 ホイールセット (599XX) ラジコン用パーツ MZH270GM出版社/メーカー: 京商メディア: おもちゃ&ホビーこの商…

歯車の検討準備

歯車を購入するにあたって、機械要素部品としての基本的な知識を調べた。 小原歯車工業(株):歯車技術資料 歯車の歯形及び寸法Fusion 360のアドインに 平歯車を作るものがあり これに必要な最低限のもの Standard 寸法 mm単位 or inch単位 Pressure Angle 圧…

L3GD20 動作テスト②

前回の続き L3GD20が送る角加速度を見るが そのままのデータだとノイズやなんやらの影響で 値が暴れすぎるので今のところ移動平均をとって出力させる。 平均をとるデータ数を変えてどれくらいなめらかになるか試す。移動平均なし 5回 10回 なんとなく飛んで…

L3GD20 動作テスト①

急に作りたくなったものがあるので、L3GD20をmbedから使ってみる。I2Cはちょっと面倒なのでSPIで通信する。図にするほどのものでもない図。 akizukidenshi.com ライブラリがあるいが面白くないので自分でのチップデータシートによるとSPIの波形は のようなタ…

"AXI なんとか FIFO" の雑な違い..(?)

Vivado IP の中には今(2016.4)のところ FIFOで検索すると以下のものがヒットする。 FIFO Generator AXI Data FIFO AXI-Stream FIFO AXI4-Stream Data FIFO AXI Virtual FIFO Controller 一番目は普通のFIFOである。 最後はおいておいて、その下3つの違いにつ…

C# sscanf の代替

C#でsscanfしたいなという人が絶対にいると思っていたら ネットにあったのでその紹介。www.blackbeltcoder.comこれは同時に以下のTextParserというものを利用している。 (Microsoft.VisualBasic.FileIOにもTextParserクラスがあるが、それとは別) www.blackb…

C# serialport ReadExisting

急に作りたくなったもののためのデバッグのために UARTでパソコンに情報を送信しているが それを可視化したほうが分かりやすかったので寄り道。フォームアプリケーションが 楽なのでC#を使用。 2.0あたりで適当に使ってから久しぶりに使ったきがする。\r\nで…

BD6231F-E2動作テスト

急に作りたくなったものがあるので 秋月電子の良さそうなモータードライバ akizukidenshi.com の動作テスト 雑な図 モータードライバー自体の電源は6Vでも 入力電圧Hレベルは2.0VなのでmbedのPWM(3.3V)でもOK。ついでに可変抵抗でも繋いで、 AD変換した値を…

Bash on Windowsをイイカンジにする② (fish shellのインストール)

前回の続き e-tipsmemo.hatenablog.com右クリックでアイコンを表示 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\Background\shell\bash] "icon"="%USERPROFILE%\\AppData\\Local\\lxss\\bash.ico"ターミナルエミュレーターとして gi…

RN-42動作確認

急に作りたくなったものがあるので それのためにRN-42の動作テストを行った。 mbed RN-42 #include "mbed.h" Serial rn42(p13,p14); Serial pc(USBTX, USBRX); DigitalOut myled1(LED1); DigitalOut myled2(LED2); DigitalOut myled3(LED3); DigitalOut myle…

kernel moduleの個人的なテンプレート

キャラクタデバイスドライバのkernel moduleの個人的なテンプレート kernelは4あたり #include <linux/module.h> #include <linux/kernel.h> #include <linux/proc_fs.h> #include <linux/cdev.h> #include <linux/slab.h> #include <linux/device.h> #include <asm/uaccess.h> #define DEVNAME "hello" #define MINOR_COUNT 1 MODULE_LICENSE("Dual BSD/…</asm/uaccess.h></linux/device.h></linux/slab.h></linux/cdev.h></linux/proc_fs.h></linux/kernel.h></linux/module.h>

Bash on Windowsをイイカンジにする

右クリックでBash起動 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\Background\shell\bash\command] @="C:\\Windows\\System32\\bash.exe" 少し前のアップデートによって、Bash On Windowsから Windowsのアプリケーション(.exe)が起…

zybo 基板寸法

zyboを購入した。 のは良いが、裏面がむき出しなので、電源を入れたままスチールラックの上にうっかりおいた日にはショートして壊してしまう可能性がある。 裏面にアクリルの板を取り付ける。 Digilentのサイトを見ても寸法が書いていないので 適当なところ…

zybo 割り込み④ まとめ

e-tipsmemo.hatenablog.com これらのまとめ insmodの後に(デバイスが見つかったので)probeが呼ばれて幾つかのリソースの値を取得できている事がわかる。 もしprobeが呼ばれない場合は、compatibeが間違っていることやdevicetreeが間違っているなど。 zynq> i…

zybo 割り込み③ device driver編

e-tipsmemo.hatenablog.com の続き。デバイスドライバは書いたことがなかったので備忘録として 参考資料たち。Introduction to Linux Device Drivers - Part 1 The BasicsIntroduction to Linux Device Drivers - Part 2 Platform and Character Drivers ど…