stringとwstringとtstring

Visual Studioで文字列を扱うとき、 以下の設定の違いで TCHARの定義がかわる。 参考 Tchar.h における汎用テキストのマッピング typedef std::basic_string<TCHAR> tstring; typedef std::basic_stringstream<TCHAR> tstringstream; typedef std::basic_ostringstream<TCHAR> tos</tchar></tchar></tchar>…

C++ Rest SDK Visual Studio 2017 E0427 Error

WindowsでWin32のアプリを作っていたとき http requestとかするときいいライブラリないなみたいな記憶があって わざわざC++/CLIで、C#のHttpRequestクラスみたいなものをつかてたけども、MicrosoftのメンテしているC++ Rest SDKという物があったらしい。 (い…

Vivado fsbl build batchmode③

http://e-tipsmemo.hatenablog.com/entry/2018/06/11/000000e-tipsmemo.hatenablog.comの続きでfsblと言っているが、 device-treeをhsiから作る。これはそこまで苦労しなかった。 前提 WSLが入っている。とか WSLが入っているならdevice-tree-compilerが入っ…

Vivado fsbl build batchmode②

前回 e-tipsmemo.hatenablog.comまだ稚拙だがとりあえず自動化できた 依存の書き方がちょっとよくわからないので、本当は更新していないのに毎回ビルドされる。 それでもSDKをいちいち立ち上げるよりは早い。 いつか直す。構造 hsi**はログファイルmakeファ…

Vivado fsbl build batchmode①

XSDKを毎回起動するのは手間であるので自動でビルドしたいと思うのは当然である。検索すると以下のものがとても参考になる。 Vivado SDK でZynq FSBL(First Stage Boot Loader)をビルドするTclスクリプト(hsi編)ここにfsblを編集したものをビルドするという…

DataContractJsonSerializerでList<T>をシリアライズ・デシリアライズする。

{ "TEST": [ { "name": "aaa", "hoge": "bbb", "foo": "ccc" }, { "name": "ddd", "hoge": "eee", "foo": "fff" }, { "name": "ggg", "hoge": "hhh", "foo": "iii" }] } こういうJSONがある。 まずこれが正しいのかチェックした lab.syncer.jp OK次にこれを…

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がでる。 続くかも

Ryzen5 2600X 録画PC 諸々

e-tipsmemo.hatenablog.com 続き構成 物 型番 CPU Ryzen5 2600X マザボ Asrock X470 MASTER SLI GPU GF-GTX660-E2GHD/DF/OC(流用) メモリ CMK16GX4M2A2666C16 電源 Corsair CX550M 80PLUS ケース JONSBO U4 SSD MZVPV256HDGL-00000 HDD DT01ACA300 適当に放…

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をインストールする …

合計アクセスが10000人を超えた

ブログ開始日から1年と半年ぐらいでアクセス数が10000人を超えた。 これはブログ管理画面に乗っている数字によるものなので一日においてユニークユーザーをカウントしているのかどうかなどはあまりしらない。5月9日の11人目ぐらいのアクセスがちょうど10000…

小型ディスプレイ アクリルスタンド

Raspi、FPGA、サーバーセットアップ用に小型のHDMIモニターがあると良いな。 と思った。Amazonで小型ディスプレイを調べても、FullHDのものはなかなかない。 あっても高いか安くても小さすぎる。秋月にちょうどいいものがあった。 akizukidenshi.comただこれ…

Vivado IPコア コピー

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

Ryzen5 2600X 録画PC セットアップ

e-tipsmemo.hatenablog.com 続き。 マザーボードをマザーボードの箱の上で作業する。CPUとメモリを取り付けた。 CPUは簡単に取り付けられるが、 CPUファンの取り付けが難しい。 マザーボードに最初から付いている部品を取り外す。 マザーボード裏に押さえつ…

EZ-USB FX2 Slave FIFO③

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

Ryzen5 2600X 録画PC 検討

Zen+世代のAMD CPUとしてデスクトップ用Ryzen7/5 2000番代シリーズが発売。(4/19) たった2万3000円で6コア12スレッドが手に入るのは素晴らしい。 (i5-8400は2万円で6コア6スレッド)今回はRyzen5 2600Xを使って組んだ。 使用したパーツは以下 流用品もある。 …

EZ-USB FX2 Slave FIFO②

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

Windwos10 マイク 聞こえない

Windows10でマイクを利用するときにハマったこと 前提 マイクを持っている ドライバを入れたりした(Windowsデフォルトでもいい) マイクは認識されている 症状 設定→システム→サウンド→サウンドコントロールパネル→録音 でマイクが認識されており、既定のデバ…

EZ-USB FX2 Slave FIFO①

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

無変換 Escape 入れ替え

WSL(に限らないが)でVimを使うとescが遠いことが不便に思える。ググればたくさん出てくるが それをreg化したもの。 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] "Scancode Map"=hex:00,00…

ADALM-PLUTO 初期テスト

他のFPGAボードもいじっている途中だが、 格安ボードがあると買ってみたくなるものである。 www.digikey.jp ただ、これはFPGAが乗っていると言っても、使う側はそこをあまり意識しなくていいとおもわれる。 主にSDRを学習する用の開発ボードという様子。 ド…

SSH X11fowarding on WSL

やりたいこと WSLのセットアップ e-tipsmemo.hatenablog.comshellはfishを利用している。SSHとx11-appsを入れておく sudo apt-get install x11-apps Windowsの設定 Xmingが有名だがアプリケーションごとにタスクバー上のアイコンが分かれないのであんまり好…

Rust UTC timestamp

Rustでタイムスタンプがほしい時は多々ある。time crateじゃもうdepricatedなので chrono crateを使う。 $ cargo tree | grep chrono ├── chrono v0.4.1extern crate chrono; use chrono::prelude::*; #[test] fn timestamp(){ let dt = Utc::now(); println…

Rust パーセントエンコーディング

パーセントエンコーディングはabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.~ 以外の文字を{%[hex]}*nの組み合わせに置き換える。 HTTPリクエストなどで送るときに必要。 fn urlencode(my_str: String) -> String { let unreservedcha…

Oscilloscope選定

以前は秋月で買た「秋月3万オシロ」を利用していた www.owonjapan.com が、スペック的にもの足りない気がしてきたので新しく購入するオシロスコープを選定した。 と言っても、Agilentの普通のInfiniiVisionシリーズは高いキーサイト (KEYSIGHT)InfiniiVision…

Rust Build Windows DLL on WSL 2

e-tipsmemo.hatenablog.com このような記事を書いたが、.cargo/configの記述がこのままだと i686-pc-windows-gnuでコンパイルすると、 C:\projects\rust\src/libpanic_unwind/gcc.rs:292: undefined reference to `_Unwind_Resume' collect2: error: ld retu…

Rust Build Windows DLL on WSL

以前にこのような記事を書いたが、 e-tipsmemo.hatenablog.comRustupにformatterが標準機能になったらしいので cargoからインストールするのではなく、 rustup component add rustfmt-previewを行って、.vimrcに let g:rustfmt_autosave = 1だけを書けばよく…

EZ-USB FX2 Device Descriptor

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

rust obj loader

3Dモデルを読み込むのにOBJファイルローダーを作ろうかと思った。 が、優秀なローダーがあるのでそれを利用したほうが良いので tobj crateの紹介 GitHub - Twinklebear/tobj: Tiny OBJ Loader in RustCargo.tomlに追記。OBJファイルを用意する必要がある。 …