Diary/2024-1
リスト | ||||||
---|---|---|---|---|---|---|
前の月<< 2024-1 >>次の月 | ||||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 謹賀新年 | 2 | 3 Tgif で日本語入力 | 4 | 5 | 6 | |
7 | 8 | 9 原稿執筆 | 10 | 11 | 12 ダメダメ | 13 |
14 「模倣と創造」 | 15 VMware 16.2.4 / Ubuntu 22.04 | 16 KB5034441 | 17 | 18 | 19 打ち合せ | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 PYNQ いろいろ | 29 RECONF研 | 30 | 31 |
2024-1-29
RECONF研
発表はなんとかかんとか,聞いてもらう人の時間をいただいてもよい程度の形にはできたなかな,と.
VLD研との合同研究会ということで,懇親会では少し分野違いの人とも,あれこれお話しできて楽しかった.
2024-1-28
PYNQ いろいろ
sshやシリアルコンソールで接続したPYNQ環境でFPGAのコンフィギュレーションをしたかったので,
source /usr/local/share/pynq-venv/bin/activate export BOARD=ZCU111 export XILINX_XRT=/usr
としてPythonで,
from pynq import Overlay overlay = Overlay("base.bit")
と,するなど.
また,PLに接続されたDRAMにアクセスしたかったので,
/dts-v1/; /plugin/; / { /*reserved memory*/ fragment@4 { target-path = "/"; overlay4: __overlay__ { reserved-memory { ranges; reserved { reg = <0x04 0x00 0x01 0x00>; }; }; }; }; };
というdram.dtsoを用意して,
xilinx@pynq:~$ dtc -I dts -O dtb -o dram.dtbo dram.dtso -q root@pynq:/home/xilinx# sudo -s root@pynq:/home/xilinx# mkdir /sys/kernel/config/device-tree/overlays/dram root@pynq:/home/xilinx# ls /sys/kernel/config/device-tree/overlays/dram dtbo path status root@pynq:/home/xilinx# cat /sys/kernel/config/device-tree/overlays/dram/status unapplied root@pynq:/home/xilinx# cat dram.dtbo > /sys/kernel/config/device-tree/overlays/dram/dtbo root@pynq:/home/xilinx# cat /sys/kernel/config/device-tree/overlays/dram/status applied
とか.
dtsoファイルの
reg = <0x04 0x00 0x01 0x00>;
は,0x4_0000_0000から0x1_0000_0000を対象にすることを意味している.
これで,Cからなら
int mem; if((mem = open("/dev/mem", O_RDWR)) < 0) { perror("open"); return EXIT_FAILURE; } volatile unsigned int *dram; dram = (volatile unsigned int *)mmap(NULL, 0x100000000llu, PROT_READ | PROT_WRITE, MAP_SHARED, mem, 0x400000000llu);
としてアクセスしたり,Pythonで,
buffer = pynq.allocate((2**19,), dtype='u4', target=ol.ddr4_0) buffer[0:10] # 読む buffer[0:10] = [0xcafe0000 + i for i in range(10)] # 書く buffer.flush() # フラッシュ buffer.freebuffer() # 解放
とかして,アクセスできる.
参考:
2024-1-19
打ち合せ
いろいろとやらないといけないことが積み上がってきたけど,
今日は打合せの一日.
2024-1-16
KB5034441
Windows10でKB5034441のアップデートに0x80070643エラーで失敗するなあと思ったらサポートがでてた.
KB5034441: Windows 10 バージョン 21H2 および 22H2 用 Windows 回復環境の更新プログラム
回復パーティションに空き容量が必要だそうで,回避にはパーティションのサイズ変更が必要とのこと.
手順は
KB5028997: WinRE 更新プログラムをインストールするためにパーティションのサイズを手動で変更する手順
に.
指示通りやって,アップデートの再試行で成功.
2024-1-15
VMware 16.2.4 / Ubuntu 22.04
カーネルアップデートのたびにカーネルモジュールを自分でビルドしないといけなくて面倒...
そろそろ17系にアップグレードするか,いっそVirtualBoxにするか.
git clone https://github.com/mkubecek/vmware-host-modules cd vmware-host-modules git checkout workstation-16.2.4 make sudo make install
でいいかと思いきや,カーネルが 6.5.0-14 で,gcc-12 が必要とのこと.
sudo apt update sudo apt install gcc-12 g++-12
でビルド.ビルド時のエラーは,
- https://communities.vmware.com/t5/Workstation-2023-Tech-Preview/Linux-Kernel-6-5-rc-vmmon-compile-fails/td-p/2981003
- https://communities.vmware.com/t5/VMware-Workstation-Pro/Cannot-compile-vmnet-kernel-module-on-kernel-6-4-10/td-p/2982156
を参考に対応.
2024-1-14
「模倣と創造」
佐宗さんの模倣と創造 13歳からのクリエイティブの教科書.
- 創造力は鍛えられる.大人でも.
- 子供の創造力を壊さないように,大人も創造力を鍛える必要がある
- 自分が主語の時間をすごす
- 余白を作る
っていうのが,すごく刺さった.
2024-1-12
ダメダメ
いろいろと,とてもダメダメだった.
いろいろとたてなおさねば.
2024-1-9
原稿執筆
1月RECONF研の技報執筆.
いつものように〆切間際になって,ようやく.
2024-1-3
Tgif で日本語入力
生活環境は,fcitx-mozcなUbuntu 22.04.
これにaptでインストールしているTgifではIMでの日本語入力ができてないどころか,
コピペしようとしても文字化けしてペーストできなかった.
というわけで,
- https://ayapin-film.sakura.ne.jp/Tgif/utf8.html
- https://qiita.com/qiitamatumoto/items/bf142b88056fba0d1d94
を参考に,先人の日本語パッチあててTgifをビルド.
% wget --no-check-certificate https://bourbon.usc.edu/tgif/ftp/tgif/tgif-QPL-4.2.5.tar.gz % mkdir tgif-patches; pushd tgif-patches % wget --no-check-certificate https://bourbon.usc.edu/tgif/ftp/tgif/patches/tgif-QPL-4.2-patch5a.gz % wget --no-check-certificate https://bourbon.usc.edu/tgif/ftp/tgif/patches/tgif-QPL-4.2-patch5b.gz % wget https://ayapin-film.sakura.ne.jp/Tgif/Srcs/tgif-utf8conv2euc.patch % wget https://ayapin-film.sakura.ne.jp/Tgif/Srcs/tgif-textcursor-a-urasim.patch % popd % tar xvf tgif-QPL-4.2.5.tar.gz % cd tgif-QPL-4.2.5 % patch -b -p0 < ../tgif-patches/tgif-QPL-4.2-patch5a % patch -b -p0 < ../tgif-patches/tgif-QPL-4.2-patch5b % patch -b -p0 < ../tgif-patches/tgif-utf8conv2euc.patch % patch -b -p0 < ../tgif-patches/tgif-textcursor-a-urasim.patch
で,Makefile.inに,-D_HAS_STREAMS_SUPPORT -DENABLE_NLS を追加して
% ./configure --prefix=/usr/local/ % make
としてビルド.
locale.hがないとかstropts.hが邪魔とかに起因するコンパイルエラーがでるので適宜修正してビルド.
終わったら,
% sudo make install
でインストールして,$HOME/.Xresources に
Tgif.Lang: ja_JP.eucJP Tgif.Modifiers: false Tgif.ConvSelection: _JAPANESE_CONVERSION Tgif.DoubleByteInputMethod: xim Tgif.*IMProtocol: fxitx Tgif.DefaultSingleByteFont: Helvetica Tgif.DefaultColorIndex: 0 Tgif.UseNKF: true Tgif.CopyAndPasteJIS: true Tgif.PreeditType: overthespot Tgif.HKUShowFontChar: \244\244 Tgif.GBShowFontChar: \271\372 Tgif.RyuminShowFontChar: \244\242 Tgif.GothicBBBShowFontChar: \244\316
とか書いたものをxrdbで読み込んで,
% XMODIFIERS=@im=fcitx LANGUAGE=ja_JP LANG=ja_JP.EUC-JP LC_ALL=ja_JP.EUC-JP LC_CTYPE=ja_JP.EUC-JP /usr/local/bin/tgif
として実行.
これで,日本語入力モードを有効にできるようになった.
...が,入力してもテキストボックスに入らない.
コード眺めてみると,そもそも,text.c の,DrawText関数の時点で入力した文字列を取得できていない模様.
とりあえず,ペーストでだけでも日本語入ればいいや,と割り切ることにして,
text.cでペーストのハンドリングしてる箇所で無理矢理 UTF-8 → EUC-JP 変換することにした.
text.c(22)
2024-1-1
謹賀新年
2023年の振り返りを踏まえて,2024年はもっと主体的に楽しく活動したいな,と.