Centos7.3とKVMでテストVM環境づくり(1)

とりあえず以下サイトを参考に作ってみた。実現したいことは以下の通り。 Web管理画面で管理できること。 DiskImageはLVM領域(Logical Volume)に配置すること。 Web管理画面 WebVirtMgr 本格的な運用にはnginxが必要だけど、テスト程度であれば以下のDebugモ…

iPhoneでRAW(DNG)形式で写真を撮影しDNGをPC(OSX)に転送する

lightroom mobileの同期機能を使えば行けそうだけど、そんなに高頻度で使わないため、できるだけ無料で実現したい。試行錯誤した結果、ProCAM4とファイル管理(ファイル管理アプリ)を使って、PCにDNGを転送できた。最後はiTuensを使うのでOSX/Windows関係無…

osxで実行ファイルをダンプする

objdumpが入っていないため、逆アセンブルするにはどうすればよいかと迷っていたが、"otool -tV"を使えば同等のことが実現できた。

NECの次世代スパコン(Aurora)

HPC

2014年に次モデル(Aurora)開発の記事が出たが、2016/12/07に続報があった。 NECが「Aurora」というプロジェクト名で次世代スパコンを開発していることはすでに発表されていたが、その実体はベールに包まれていた。今回のSC16で、NECはそのベールを少し持ち上…

qemu(qemu-system-x86_64)の-kernelオプションは、64bitイメージをサポートしていない模様。

$qemu-system-x86_64 -kernel iso/boot/kernel.elf Cannot load x86-64 image, give a 32bit one QEMU 2.7.0のソースも見たが、実行ファイルのマシンタイプがEM_X86_64の場合エラー処理に入る感じ、残念!。

Intel「Atom」シリーズを終了するとアナウンスして半年、Apollo Lakeをリリース。

Intelが「Atom」シリーズを終了すると打ち出してから半年。筆者は、このニュースを聞いた時、Atom搭載の格安のタブレットやノートPC、格安デスクトップは消滅するのかと、思っていたけど、半年経ってみるとApollo Lakeをリリースするなど、Atomシリーズが完…

C++ templateでstd::vector もどきを実装してみる。

c++

#include <iostream> template <class T> class List { public: List(); List(int size); ~List(); T& operator[](int index); private: T* data; }; template <class T> List<T>::List(int size) { data = new T[size]; return; } template <class T> List<T>::~List() { delete[] data; return; } temp</t></class></t></class></class></iostream>…

PowershellでWORDを目次付きでPDFに自動変換する

単純な変換なら日本語の情報も多いが、目次付けるオプションに対応しているものは限られる。 Office Script to convert Word document to PDF file (PowerShell)

Windows7環境でVisual Stdio無しでIISとASP.NETを動かす。

Windows vista以降では.net frameworkがデフォルトでインストールされている。 実は、C#とVisual Basic(.NET Framework用のもの。「VB.NET」と呼ばれることもある。以降「VB」)のコンパイラーはWindowsに標準で含まれているのだ。 OSに標準付属のC#/VBコ…

mipsel-elf-gdbのsimulatorでmipsのバイナリーを実行する

エミュレータとして知名度のあるqemu以外にも、gdbにはsimulatorが内蔵されており、簡単なバイナリーを実行できることを知ったので試してみる。この方式の利点はbinutilsをクロスコンパイルするだけで、assemblerとsimulatorが手に入るという手軽さ。今後考…

TD8

単純に8bit化(レジスターとバス、アドレスを拡張する)をした。IN/OUTも8bit幅にしたので、独自に実装していたクロックカウンター表示機能は外すことに。また、プログラム側も変更しています。というのもレジスター幅が増えレジスターの最大値が増えた(15->2…

TD4の拡張検討とTD8化

今年もあとわずかだけど、どんな案があるのか調べてみた。 8bit化(レジスターとバス、アドレスを拡張する):http://hexprobe.nbug.net/hard:cpu:td4 命令追加 RAMを実装 ROMをブロックRAMで実装する(FPGA限定) 単純な8bit化は簡単そうなので試してみた。

TD4をverilogで実装しMachXO2(Lattice)で動作させる

FPGAとverilogの勉強がてら『CPUの創りかた』の 4 ビット CPU TD4を動かしてみる事にした。MachXO2のボードを使うメリットは、追加の部品0(LED等を半田付けする必要なし)でtd4の主要機能が動かせること。とても楽だし難易度が低い。ほぼコピペ(参考:CPU…

メモ:スマホからGoogleハングアウトで電話をかけるために

ハングアウトのURLが変わったためか、料金をチャージする画面にたどり着けず苦労したのでメモ((2015年11月時点の情報です)。まずは、スマホにハングアウトアプリをインストールする。次に、PCからハングアウトのページにアクセスし、サイドにある電話アイ…

FPGAボードの勉強

ずいぶん前に入手し放置していたFPGA評価ボード「MACHXO2−1200ZE 評価ボード」でLチカしてみた。忘れないようにメモ。一時このボードは2000円台で秋月等で入手できたようだが、既に発売中止となっており、最近安いFPGAボードは減ってる模様。 …

LPC1114でLチカ

以前購入してそのままになっていた、LPC1114。ふとネットを見ているとソフトでUSBを実現させ、USBブートローダーを作成した方がいたので、試してみたくなり手始めにLチカしてみた。 準備したもの(ハード) LPC1114FN28/102 1個 USB Serial(秋月電子 AE-FT22…

まずはUSB Serialを3.3Vレベルにする。

元記事はFT232RLモジュール(レベルが3.3V)を利用しているが、手持ちのUSB Serialがあるので、別件の試験を兼ねて活用することにした。通常は5V動作だけど、ジャンパーピンで設定を変えて、外部から3.3Vを給電することで動かすことができる。ESP-WROOM-02自体…

ESP-WROOM-02を試してみた(1)

この記事「ESP-WROOM-02で、IFTTTをhttps(SSL/TLS)で呼び出す例 - Qiita」を読んでいて、ついつい遊んでみたくなってきた。まずは、ハードの準備ということでこの記事「ESP-WROOM-02を動かしてみた - Qiita」を読みながら進めてみる。 準備したもの ESP-WROO…

QEMU(windows版)でmonitorを利用する。

忘れないようにメモ。qemuには、エミュレーションしているハードの状態を参照できるモニター機能が存在する。通常はGUIからCtrl-Alt-[1, 2, 3]で切り替えるとドキュメントにある。当方が利用したWindows版のQEMUだと、なぜかこのモニター機能がうまく利用で…

追記 NASMでの構造体の参照

気になって調べてみた。こっちのほうがシンプルに書ける気がする。 struc mytype mt_long: resd 1 mt_word: resw 1 mt_byte: resb 1 mt_str: resb 32 endstruc NASM - The Netwide Assembler あとは"mov ax,[mystruc+mytype.word]"のような形で利用する。

GAS(GNU Assembler)で構造体にアクセスする

環境はWindows7(32bit)&cygwinのgcc/gas(x86)で試した。".struct"で構造体を定義し、その後サイズ(item_length)を算出する。そして".bss"セクションに構造体名(item)でitem_length分メモリーを確保(".space")する。後は、レジスタにitemのアドレスを代入…

xv6をWindows環境(cygwin環境)で手軽にビルドする

OS

cygwinのgcc(binutil)だと出力可能なバイナリーフォーマットが原因で、自作OSのビルドが出来ないケースが多々ある。そこで、cygwinportsを利用しgccを導入することでこの問題を解決する。ついでに今回はxv6をビルドしてみた。cygwin & apt-cyg の導入までは…

参考になるx64アセンブラの情報

Assembly Programming on x86-64 Linux →linux上でx64(amd64)のアセンブラを利用したコードの紹介http://homepage1.nifty.com/herumi/prog/x64.html →呼び出し既約の解説

参考にできる64bit自作OSの例

ソースコードが公開されていると、わからないことを確認できるので助かる。 Programming a 64-bit Operating System →64bit OSの作成方法を説明している。アセンブラはNASMを使っている模様。 https://github.com/neri/op05 →国産64bit OSとして初期のころ有…

64bit OS(x64 Kernel)の自作のために(1)

前から気になっていたところ、以下Blogで実際に動くコード(x86->x64)が公開されていたので、BlogとOSDEVの記事を参考にしながら動かしてみた。ビルド環境はWindows7 with Cygwin(x86_64-pc-linux-gnu-gcc ver 4.8.2)このとき、はまったのがx64でのGDT(Glob…

「USB-Blasterもどき」をPIC/AVRライターが無い環境から作成する。

ここしばらく色々ありすぎて、バタバタしていたがやっと落ち着いてきたので、久々に更新することにした。なんとなくFPGA/CPLDに興味を持ったが入門キットでも結構な値段がする。安いキット(キットで約1,600円)はあるが書き込むための機材(USB-Blaster)が別…

OSX(10.9)のclangでx86&ELFなオブジェクトを生成する

Xcode 4.0から標準のコンパイラーがLLVM(clang)になったが、OSX 10.9環境&xcode 5.xを普通に使うと"Mach-O 64-bit object x86_64"なバイナリを生成してしまう。 Linux/GNU界隈でメジャーなELF(Executable and Linkable Format)なオブジェクトの生成したくて…

ruby-2.1.0を試す&gemの管理

ruby2.1.0が12/25にリリースされたのでrails4.0と組み合わせを試してみようとおもった。 RGenGCとメソッドキャッシュ、その他の最適化により、Ruby 2.0やそれ以前のバージョンと比較して高速化されています。 手元の環境で、何も考えずに適当なRailsプロジェ…

cookbookのテストにkitchen-dockerを使ってみた。

今度は"kitchen-docker が動きました - ようへいの日々精進XP"を見て、dockerを利用しcookbookを高速にテストできるkitchen-dockerを知った。まだ開発されて間もないという事も有り、いろいろ引っかかったのでメモしておく。試しにapache2のcookbookをテスト…

cookbookのテストにkitchen-lxcを使ってみた。

"test-kitchen + LXC でさくっと cookbook をテストする(為の環境を作る) - ようへいの日々精進XP"を見てchefのcookbookを簡単にテストできるtest-kitchenと、lxcを利用して高速にテストできるkitchen-lxcを知った。面白そうなので試したところ、いくつか…