Posts

Showing posts from May, 2016

ストリーミングを録音する

某所のwmaファイルに書かれているURLで流れてくるストリーミング音声を録音する方法を書いておく。 ストリーミングにしていると言うことは、録音して欲しくないと考えていることは理解するのだが、常にネットワークにつながっている訳ではない事情から、仕方がないと思うことにする。 ダウンロードしたwmaファイルは、XMLファイルである。httpなURLが書かれているので、以下のように実行すれば良い。mplayerは、pkgsrc/multimedia/mplayerからインストールしておく。 $ mplayer 'http://example.com/example.wma?xxx' -dumpstream -dumpfile example.wma

STM32F4 DiscoveryでeCos 3.0を動かす

eCosはSTM32F4 DiscoveryというARM Cortex-M4の評価ボードで動く。 昨年の10月に試していて、無事に動作させることができたのだが、 きちんと再現できるように書いておかなかったので、再現に苦労してしまった。 NetBSD/amd64 7.99.29と7.0_STABLE (2016-05-06時点)で確認したが、別にNetBSDに限るものではないと思う。 ツールの導入BinutilsとGCCの導入 pkgsrcより、pkgsrc/cross/arm-none-eabi-gcc5をmake installで導入すると、 Binutils 2.26とGCC 5.3.0が導入される。 依存するパッケージの導入 GUIツールであるconfigtoolとコマンドラインツールであるecosconfigは、 TclとTk、wxGTK28、wxGTK28-contribを必要としているので、 pkgsrcから以下をインストールしておく。 pkgsrc/lang/tclpkgsrc/x11/tkpkgsrc/x11/wxGTK28pkgsrc/x11/wxGTK28-contribeCosのソースツリーの取得 eCosのソースツリーは公式にはAnonymous CVSで取得できるが、 私は自分でGitリポジトリーに変換している。 ecosmasterブランチをデフォルトのブランチとして管理している。 以下のように取得しておく。 $ cd ~/rtos/ecos $ git clone git@github.com:ryoon/eCos.git 依存するライブラリーの導入 cyginfraとlibcdlというライブラリーがeCosの一部として提供されている。 設定ツールが使用するので、用意しておく。 $ ~/rtos/ecos/eCos/host/infra/configure --prefix=/home/ryo_on/rtos/ecos/tools $ gmake install $ ~/rtos/ecos/eCos/host/libcdl/configure --prefix=/home/ryo_on/rtos/ecos/tools --with-infra=/home/ryo_on/rtos/ecos/tools --with-tcl=/…

OLEDBのドライバーを列挙する

WindowsにおけるOLEDBの良い所は、ODBCのようにあらかじめODBCデータソースに登録しておく必要がないことだと思う。 しかし、事前に明示的に登録する作業がないせいで、OLEDBのドライバーがインストールされているかが分かりにくいように感じている。 PowerShellを使うとOLEDBドライバーを列挙できる。 > (New-Object data.oledb.oledbenumerator).getElements() 例えばOracle Provider for OLE DBがあるかは、OraOLEDB.Oracleがあるかで分かる。 SOURCES_NAME : OraOLEDB.Oracle SOURCES_PARSENAME : {3F63C36E-51A3-11D2-BB7D-00C04FA30080} SOURCES_DESCRIPTION : Oracle Provider for OLE DB SOURCES_TYPE : 1 SOURCES_ISPARENT : False SOURCES_CLSID : {3F63C36E-51A3-11D2-BB7D-00C04FA30080}

ADO+OLEDBでTNSをJScriptから直接指定してOracle Databaseにアクセスする

WindowsにおけるOLEDBの良い所は、あらかじめODBCデータソースを設定しておかなくて良いというところだと思う。これは特に複数のクライアントPCにからデータベースにアクセスしなくてはいけない状況で、そのクライアントPCのユーザーがODBCのことを理解していない場合には、重要であると思う。ODBCデータソースに自動登録するスクリプトも書けるものだとは思うが。 しかし、Oracle Databaseにアクセスする場合には、インスタントクライアントのインストールが必要であるのは仕方がないとしても、tnsnames.oraを配置するのは面倒である。 ADOとOLEDBの組み合わせで、TNSの文字列をそのままサーバー名として与えることで、tnsnames.oraに追記する必要はないことが分かったので例を示しておく。 ADOをWindows Scripting Host (WSH)のJScriptから使った場合でまとめておく。 /* * テーブルをTSVファイルにダンプする * Copyright (c) 2016 Ryo ONODERA, All rights reserved. * License: 2-clause BSD */ var bTable = "table1"; // Define columns var columns = ["column1", "column2", "column3", "column4", "column5", "column6", "column7", "column8", "column9", "column10", "column11", "column12"]; // Start main(); // YYYYMMDDhhmm function getNow() { var date = new Date(); //date = new Date(2016, 1, 3); var dateString = (""…

GXemul 0.6.0.1のエミュレートする環境

GXemul 0.6.0.1でエミュレートしているマシンの情報がGoogleで検索してもうまく出て来ないので、gxemul -Hの結果を掲載しておく。 改めて見てみると、知らないアーキテクチャーも含めて本当に多くをエミュレートしている。 Available template machines: testm88k Experimental M88K machine. testmips Experimental MIPS machine. -------------------------------------------------------------------------- The following applies to the LEGACY modes only: Available CPU types: Alpha: 21064 21066 21164 21164A-2 21164PC 21264 21364 ARM: ARM3 ARM610 ARM610 ARM620 ARM700 ARM710 ARM710A ARM720T ARM740T4K ARM740T8K ARM7500 ARM7500FE ARM810 ARM920T ARM922T ARM940T ARM946ES ARM966ES ARM966ESR1 ARM1020E ARM1022ES ARM1026EJS ARM1136JS ARM1136JSR1 SA110 SA1100 SA1110 TI925T IXP1200 80200 …

NetBSD on Panasonic CF-S10ETHDS

ちょっとした理由で、Panasonic Let's Note CF-S10を使う機会があったので、NetBSD/amd64 currentを動かしてみた。build.sh live-imageの作ってくれるlive imageをUSB stickに書き込んで使った。 CF-S10は左右にUSB端子があるのだが、右側はUSB 3.0専用らしく、そこにUSB stickを差し込むと7.99.27はsd0がなくroot file systemが見付けられずに起動できなかった。左側の端子にUSB stickを差し込めば問題ない。 NetBSD/amd64 7.99.29にしたdmesgは紛失してしまったのだが、7.99.29ではXHCI USB 3.0が有効になっているので、右側の端子に差し込んでもちゃんと起動する。 native X.orgも何も設定することなく起動した。 Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 The NetBSD Foundation, Inc. All rights reserved. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. NetBSD 7.99.27 (GENERIC) #0: Tue Apr 19 08:46:20 JST 2016 ryo_on@brownie:/usr/world/7.99/amd64/obj/sys/arch/amd64/compile/GENERIC total memory = 3983 MB avail memory = 3847 MB timecounter: Timecounters tick every 10.000 msec Kernelized RAIDframe activated timecounter: Timecounter "i…