最近はRustの勉強をしている。 Rustはコンパイル時にいい感じにメモリ管理ができる一方で、C++とかで実現できることが簡単にできなくなっている。 ミュータブルなグローバル変数(とくにシングルトン)を実現したかったので、その方法をメモしておく。
CADDiさんが開催しているC++勉強会に参加してきたので,その覚書. type eraser expression template についての話.
元ネタはこれc++ - Variadic Templates Multidimensional Array Container - Stack Overflowint a[10][20]とかdouble b[1][2][3][4]のように,多次元配列を可変長テンプレートを使って実装する. array<int,10,20> aやarray<int,1,2,3,4> bと書くことで…
C++の左辺値と右辺値について勉強したのでまとめておく.参考にしたサイト 本の虫: rvalue reference 完全解説 C++11 Tutorial – thispointer.com
C++でテンプレートクラスに 演算子をオーバーロードしてcoutに出力しようとしたら思ったより大変だったので,メモしておく. 普通のクラスに対して をオーバーロードしようとすると,クラス定義内でfriend宣言してからオーバーロードすることが一般的だと思…
家にVPN接続できるようになったので,使用環境や設定方法についてまとめておく. VPN使いたい!って人の参考に慣れば幸いです.
この記事とこの記事でWebsocketを実現する方法を書いた. 参考にしたコードはこちら.このサンプルコードでは,lws_write関数の第3引数にLWS_WRITE_TEXTが指定されていることからわかるように,Websocketから送られてくるデータはテキストデータとなっている…
前回の記事でWebsocketサーバーをC言語で実装する方法を書いた.今回はクライアント側のアプリケーションとして,JavaScriptでWebsocket通信を行う方法についてまとめておく.
ZynqとWebsocketを組み合わせてリアルタイムモニターシステムを構築したという記事を書いた.Websocketサーバをどのように実装したかについてメモを残しておく.このgithubのコードを基本としてサーバを実装した.このページでは,上記コードを例にとってど…
HHKBを購入しました! 購入したのはHappy Hacking Keyboard Professinal2の墨. キータッチが非常に軽く,キーの配置もコンパクトで非常にタイピングしやすいキーボード.Ubuntu18.04に接続して使うときの設定方法を残しておく.
ZynqとWebsocketを使って,FPGA上のデータをウェブブラウザからリアルタイムに見られるようなシステムを作った.youtu.beこの記事では全体の概要だけ説明して,細かい実装については別の記事にしていこうと思う.
Javaでラムダ式を使ってみる. 匿名クラス ラムダ式 関数型インターフェース
Javaの勉強をしていて,ふと疑問になったことがある.JavaにはObjectクラスというものがあり,ObjectクラスにはにはStringを返すtoStringメソッドがある.一方で,StringクラスはスーパークラスとしてObjectクラスを持つ.つまり,Stringクラスの定義にはObj…
Javaのスレッドについてまとめておく スレッドとは スレッドの状態 sleepメソッド スレッドの作成 Threadクラスでよく使うメソッド ExecutorServiceインターフェース ExecutorServiceでよく使うメソッド 排他制御 スレッドの制御 interrupt 同期制御
プログラム実行時の不具合を例外という.例外をそのままにしてしまうと,プログラムが強制終了してしまいよくない.例外にたいする処理のことを「例外処理」という.Javaでどのように例外処理が行われているかについてまとめておく. 例外処理の方法 例外ク…
Javaのポリモフィズムについてまとめておく ポリモフィズムとは abstract class(抽象クラス) abstract method(抽象メソッド) インターフェース キャスト 参照型のキャスト Object型 ポリモフィズムの例
Javaの継承についてまとめておく. 継承とは スーパークラスとサブクラス 多重継承 Objectクラス 継承のやり方 superとthis オーバーライド @Overrideについて final演算子
Javaの研修が始まったので,自分のためにもまとめておく. 何回かに分けて書こうと思う.最近はZynqをさわれていないし更新頻度も落ちてしまった. けれども,ありがたいことにブログを見に来てくれている人たちが一定数いるみたいです.励みになります.頑…
今日からエンジニアとして勤務します.新卒採用で,しばらくは研修が続く予定です.今までより使える時間は少なくなってしまいますが,これからもうまく時間を作ってブログを更新していきたいです.
以前Zynqでdevice tree overlayを試す記事を書いた. ZynqでDevice Tree Overlayを使う - メモ置き場 その中でikwzmさんのdtbocfgというカーネルモジュールをロードする必要がある.今まではZynqをブートするたびにモジュールを手作業でインストールしていた…
ZYNQで超単純なAXI DMAを試してみる.AXI DMAとはAXIバスを使ったDirect Memory Accessのことで,PSを介さずにPL部分からメモリ(ZYBO-Z7の場合はDDR3メモリ)にデータを転送する方法のことである.XilinxからはAXI Direct Memory AccessというIPが提供されて…
以前の記事で,FPGA Managerを使ってZYNQのPLを動的に変更する方法を紹介した. Device Tree OverlayとFPGA Managerを使ってZynqの構成をLinuxから更新する - メモ置き場記事を公開してからすぐにTwitterでikwzmさんからこんなリプライを頂いていた.この記…
パソコンでネットサーフィンをしていると知らないうちに10時間くらい経っていた,なんてことはザラにある. 人生の限られた時間を有効に使うため,パソコンを立ち上げてから一定時間たったら強制的に電源を落とす,という設定をする.Linuxユーザ向けの話.
最近ちょっと調子が悪く,更新頻度が落ちている. というのも親知らずを抜いて,なんかずっとグズっていたため.これから抜歯に立ち向かう人の参考になればと思い,抜いた後の様子などをメモしておく.
そろそろZynqのPLも触っていきたい,ということでPcamのデモを動かしてみた. reference.digilentinc.com本当にデモを動かしただけなので,オリジナリティは何もない.
ZynqのLinuxからの操作で,Zynqの構成を更新してみる. 必要な準備は Device Tree Overlay ZynqでDevice Tree Overlayを使う - メモ置き場 FPGA Manager ZynqでFPGA Managerを使う - メモ置き場 の2つが使えるようになっていること.過去の記事を参考に使え…
FPGA Managerを使うと,Linux側から(つまりZynqのPS側から)FPGAを書き換えることができる.Xilinxが提供するLinuxでは/dev/xdevcfgというデバイスドライバがあって,ここにbitstreamファイルをcatで書き込むとPLを書き換えることができる. 今回はこのxdevcf…
qiita.comikwzmさんの記事を参考にZynqでDevice Tree Overlayを使ってみた. Device Tree Overlayとは,Linux kernelを起動したままdevice treeを新たに追加することのできる機能である.
ZynqのLinux kernelを更新する方法についてまとめておく.kernelのバージョンを確認するにはunameコマンドを使う. Xilinxが提供しているkernelでは aho@zynq:~$ uname -r 4.10.0-xilinx となり,4.10.0のkernelが動いていることがわかる(2019年1月現在).
Zynq搭載ボードZYBO-Z7-20を使ってLチカをする.Linuxの構築や開発環境の準備は Vivado 2018.2とDigilentのボードファイルをUbuntu 18.04にインストール - メモ置き場 ZYBO-Z7でUbuntu 16.04 LTSを動かす - メモ置き場 を参考のこと.デバイスツリーの書き換…