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

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)が別…