サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
円安とは
tnishinaga.hatenablog.com
私が海外でPi5発売されてから楽しみにしていたことの一つは「RP1に搭載されているPIOが使えるか」です。 画像は https://datasheets.raspberrypi.com/rp1/rp1-peripherals.pdf のFigure2,pp.6 より引用(一部加筆) 海外でのPi5発売とほぼ同時期に公開されたRP1のマニュアルをみると、Cortex-M3コアにPIOが接続されている様子が示されていました。 また、同マニュアルのpp.12よりRP1のコアクロックは200MHzらしいです。 (PicoのRP2040と同じなら)PIOはコアクロックと同じ速度で動くはずなので、理論値で最大100MHzくらいの信号を出力できるかもしれず、ワクワクしていました。 時が経ち2024年2月13日、ついにPi5が日本でも発売され、嬉しいことに1台購入することができました。 そこで早速RP1の
UEFI 2.5からネットワークブートの方法として"HTTP BOOT"が増えました。 今回はこのHTTP BOOTは従来の方式に比べ何が嬉しいのか、この機能を使ってUEFIのアプリを起動するにはどのようにすればよいかを書いていこうと思います。 忙しい人のまとめ ネットワークブートがHTTP経由でできます DHCPの設定変更なしでもOKです 対応バージョンはUEFI 2.5以上です HTTP BOOT とは HTTP BOOTはUEFI 2.5で追加されたネットワークブートのためのUEFIの機能です。 この機能を使うと、HTTP(またはHTTPS)サーバーからファイルを取得し、UEFIアプリやOSを起動することができるようになります。 HTTP BOOT と PXEブートの違い よく知られたネットワークブートの方法としてPXEブートがあります。これとHTTP BOOTはどのような点が異なる
自宅開発環境が貧弱で大変厳しいので、コーディング環境含めクラウド上で行えるようにできないかと色々試しています。 とりあえず最低限SSH使える環境がアレばスマフォでもコーディングとビルドが行える環境を作るのが目標です。 クラウドは使っている間だけ課金されるので、使うときにマシンを建てて終わったら即潰す運用をすると安く済みそうです。 潰し忘れを防ぐため、インスタンスの立ち上げも落とすのもすべて自動でやりたいです。 今回はその第一歩として、READMEを読みながらVagrantを使ってMicrosoft Azure上に仮想マシンを建ててみました。 必要アプリのインストール Vagrant, Azure-cli, vagrant-azure pluginとdotenvをインストールする必要があります。 Vagrant やるだけ Azure-cli Azure-cliのインストール方法はgithub
vagrantを使ってAzureに仮想マシンを建てようとしたらそれ以前のところで躓いたので備忘録として残しておきます。 問題が起こった環境 Arch Linux(x86_64) $ yaourt vagrant 1 community/vagrant 1.9.5-1 [installed] Build and distribute virtualized development environments 2 community/vagrant-substrate 605.0566498-2 [installed] Substrate layer for Vagrant 問題1 : SEGVする $ vagrant plugin install vagrant-azure --plugin-version '2.0.0.pre8' Installing the 'vagrant-azure
目grep入門 +解説 from murachue www.slideshare.net こちらのスライドでご存知の方も多いと思いますが、ARMの実行バイナリをバイナリエディタのビットマップビューで見るとゴマ粒のようなものが縦に並んでいるのが見えます。 これはほとんどの命令の先頭4bitが0xEになるというARM命令の特徴によるものであり、CTFなどでそのバイナリがどのアーキテクチャ向けのものかを特定する手がかりになります。 ここまでは私も知っていたのですが、ではなぜ命令の頭が0xEになるかまでは調べたことが無かったので、調べてみました。 条件実行 先頭が0xEとなる理由を探るため、ARM7の資料を参照してARM命令のフォーマットを確認してみます。 ARM Information Center この資料より、ARM命令のフォーマットは大まかに以下のような構成になっていることがわかります。
Cortex-Mマイコン上で計算を行うアセンブリコードのデバッグを、エミュレータを使ってパソコンの上で行いたいです。 大学までのバスの中でパソコンからマイコン垂らしながらデバッグするのは不便で少し恥ずかしいので。 Cortex-M3プロセッサに対応しているエミュレータとしてQEMUがありますが、用意されているマイコンボードが LM3S811EVB / LM3S6965EVB の2つしかありません。 wiki.qemu.org 私は普段シリアルの設定などちょっと大変なところはすべてmbedライブラリにおまかせしているので、できればmbedの対応しているボードを使いたいです。 mbedに対応したマイコンボードの使えるエミュレータはないのでしょうか? ということで調べてみたのが今回の内容となります。 まとめ GNU ARM Eclipse QEMUを使えばmbed対応ボードのNUCLEO-F10
これまでのあらすじ 2016年の2月の終わり頃,Raspberry Pi 3(以下,RasPi3)が発売されました. 日本では技適のいろいろがありまして,その1ヶ月後の3月終わり頃から秋月やマルツなどで購入できるようになりました. RasPi3の特徴は,Raspberry Pi 2まで採用していた32-bit ARMアーキテクチャのCPUではなく,64-bit ARMアーキテクチャのCPUを採用している点です. 32-bitから64-bitになると,CPUが1度の命令で処理できるデータの長さが32から64と2倍になるので,同じ処理なら一般的に64-bit環境で実行するほうが高速*1です. しかし,2016年3月はまだ公式から64-bit版のraspbianは提供されていないどころか,そもそもファームウェアが64-bitに対応していなかったために,簡単に64-bitのOSやプログラムを動かす
3月27-29日にKernelVMキャンプに参加してきました. その成果報告をここに書きます. 知らない方のために説明すると,KernelVMキャンプは東京の山奥に籠もり昼夜問わず黙々とハックし続ける非常に厳しいキャンプで……えっ? 温泉? あいまいみー? 女装ヒルクライム? 何言ってるのかさっぱりわからないですね…… やったこと1:Raspberry Pi 2 を JTAGデバッグする 以前からsyuuさんと進めているRasPi2用VMM実装のため,JTAGデバッガが欲しいという話をしていました. tnishinaga.hatenablog.com この時はまだdbgbaseの話がフォーラムに上がっておらず,何故動かないのかをコードを追って探っていました. 結果, Cortex-A7/A15 のサポートが 0.8.0リリース以降に追加されていること JTAG接続先が見つかり,接続(TAP
タイトルのとおりです. BareMetalなRaspberry Pi2にJTAGデバッガをつなげて,gdbでレジスタ読んだり実行止めたり出来ました. とりあえず,メモだけ残します. 参考にしたサイト http://www.raspberrypi.org/forums/viewtopic.php?f=72&t=100268 用意するもの JTAGデバッガ : ARM-USB-TINY-H 使ったソフト OpenOCD 0.9.0-dev-00358-gd3c2679-dirty 手順 1. OpenOCDのビルド 0.8.0リリース以降にCortex-A7/A15用のサポートが入ったので,最新版のコードを持ってきて各環境でビルドする. ビルド方法は時間がないので省略. ARM-USB-TINY-Hを使うには $ ./configure --enable-ftdi としなければならないことに注
ARMの仮想化支援機能を使ってみたかったので, 現在しゅううさん(@syuu1228)と一緒に教育用自作VMMを作成中です. もちろん,BareMetalで. 対象ボードは,とりあえずCortex-A7を積んだRaspberry Pi 2を予定中. (ARM64なボードが届いたらそちらに移るかも?) まだ色々調べている段階なので,道中わかったことをメモしていきます. ARMの仮想化支援 ARMの仮想化支援機構は,Cortex-A15(+ Cortex-A7)から導入された. ここで行われた主なアーキテクチャ拡張は以下の3つ: ハイパバイザモードの追加 2重メモリアドレス変換機能 物理アドレス空間の40bitへの拡張 各機能の詳細はまだ調べきれていない. 以下の資料を参照. http://www.hotchips.org/wp-content/uploads/hc_archives/hc22
Raspberry Pi 2が届いたので、とりあえず使用感・性能・消費電流について簡単にチェックしてみました。 使用感 かなり快適です。感動しました。 Raspberry Pi 1はCUIですら反応が遅く、デスクトップを起動すると遅すぎてとても使えないレベルでした。 しかし、Raspberry Pi 2は違います。 最初のraspi-config画面の時点から、動作が軽快です。 Raspberry Pi 1ではLocale設定などを行おうとすると、1アクションに10秒ほど待たされましたが、Raspberry Pi 2ではほとんどありません。 GUIを起動しても動作は快適。 ブラウザもすぐ立ち上がりますし、2,3枚ウィンドウ開いても軽快に動作します。 この使用感で4000円程度なら、日常で使う管理コンソールマシンとして、またはVNCクライアントマシンなどの用途に、十分使えるレベルだと思います
mbedとは、お手軽マイコン開発ツール群であるArduinoのARM版のようなものである。 オンラインのIDEを用い、mbedライブラリとユーザーの公開しているライブラリを用いてお手軽に開発を行うことができる。 しかし、デバッグはオンラインでは行えない。 デバッグを行いたい場合は、ソースコードのエクスポートを行い、オフライン環境でコンパイルし、オフラインのデバッガツールを用いて行わねばならない。 オフライン環境としては、MDK ARMというARM社謹製の開発ツールを使うのが一番である。 なぜなら、mbedのライブラリなどはすべてMDK ARMでコンパイルされているからだ。 しかしこのツールは1年で50万のライセンス料が必要で、個人は手の届かないシロモノであった。 しかたがないのでフリーなコンパイル環境(GCC)を用意することにした。 フリーな開発環境のインストール mbedのオフラインコン
iperfを使うことはあっても中の通信がどうなっているのか知らなかったので、調べてみました。 自作のコードで簡単なスループット計測が行えることをゴールとします。 環境 今回の調査はm1 mac book上でiperfを実行し、その通信内容をwiresharkで見ながら行いました。 iperfのバージョンは以下になります。 ~ ❯❯❯ iperf3-darwin -v iperf 3.8.1 - -- Apple version iperf3-107 (cJSON 1.7.13) Darwin hostname.local 23.1.0 Darwin Kernel Version 23.1.0: Mon Oct 9 21:28:12 PDT 2023; root:xnu-10002.41.9~6/RELEASE_ARM64_T8103 arm64 Optional features avai
同人誌にも書いたことがありますが、以前からネットワーク経由でパソコンの電源を制御する回路を作っています。 その最新版の基板ができたので、先ほどElecrowに発注をかけてみました。 今回はその発注までの手順のメモです。 ちなみにこの基板の製作にはeagleをつかいました。 先日KiCadの紹介をしておきながら何言ってるんだって感じですね……この基板はKiCadを知る前から作っているものなのでeagleのほうが楽だったんです……。 今回発注したのは以下の基板です。 メイン基板(10cm * 8cm) 10枚 サブ基板(10cm * 8cm) 20枚 提出データの作成 基本はこちらの方のブログ記事を参考に進めました。 ОКБ-810 ルイセンコ設計局 - Elecrowへの発注手順 主な手順は ElecrowのDRCでデザインルールチェック ElecrowのCAMファイルでガバー出力 出力され
以前書いたように、gstreamer用のOMXプラグイン(gst-omx)Version 1.0はバグを含んでいて、とある動画を変換すると一部フレームが欠落して残念な感じになってました。 http://tnishinaga.hatenablog.com/entry/2014/05/08/024659 http://tnishinaga.hatenablog.com/entry/2014/05/07/032019 というわけで仕方なく、最新のgst-omxを持ってきてビルドして、それを使って動画の変換をしてみました。 以下にそれまでの手順をメモを元に示しますが、再現性は現在確認中です。 上手くいかなかったらコメントで知らせてください。 おおまかな手順 まず、以前の記事で作成した環境上で、gst-omxプラグインだけをアップデートしようと試みましたが、gstreamer関連のヘッダに定義された
Raspberry Piにはハードウェアデコード機能だけではなく、エンコード機能もあると言われていますが、日本で実際にやっている人を、あまり見たことがありません。 調べてみたところフォーラムではすでに使い方が確立してるみたいなので、私もハードウェアエンコード機能を使って、mpeg2の動画をh.264な動画に変換してみました。 gstreamer1.0のインストール 動画のデコード、エンコードにはgstreamerを使用します。 ただしハードウェアアクセラレーションをつかうライブラリはバージョン1.0以上でないと使えないみたいです。 現在提供されているgstreamerのバージョンは0.10なので、公式レポジトリからはインストールが出来ません。 他の方がコンパイルしたものをもらってきて解決します。 *1 参考サイト: http://theiopage.blogspot.jp/2013/04/
このページを最初にブックマークしてみませんか?
『/home/tnishinaga/TechMEMO』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く