タグ

embedに関するgokingのブックマーク (33)

  • STM32用リンカスクリプトを書く - Wikimura

    なお、Flash ROMブートモードでは、Flashの内容が「0x0000 0000」からもアクセスできるようになる。 そのため、先頭の「0x0800 0000 ~ 0x0800 0130」は、「0x0000 0000 ~ 0x0000 0130」に対応する。 これは割り込みベクタを配置するためのスペースなので、必ず先頭から割り込みベクタを配置するスクリプトを書く必要がある。 ブートモードでのFlash ROMアドレスのエイリアスについては、[4]の「2.4 Boot Configuration」を参照されたい。割り込みベクタについては、[4]の「8.1 Nested vectored interrupt controller (NVIC)」を参照されたい。 割り込みベクタのセクション 割り込みベクタのセクション名はプログラマが付ける。 STM32の場合、スタートアップルーチンが提供されて

    goking
    goking 2012/12/25
  • 初めてのC言語 - 第9回 リンカスクリプト

    目的 メモリマップを自分で決めて、リンカスクリプトを(途中まで)記述する メモリマップ これまで普通にC言語を使ってきたときには、OSがありました。第1回の時にもプログラムを動かしていたのはLinuxでした。 プログラムはOSによって、様々なリソース割当を行われます。CPU時間もそのひとつですが、最も重要なのがメモリ割当です。実際にプログラムが使うメモリを予約して、その空間に適切な形でプログラムを読出し、プログラムを実行します。必要に応じてアドレス変換やメモリ保護なども行います。 しかし、この「始めてのC言語」ではOSはありません。メモリ割当は自分で行う必要があります。このメモリ割当を行うために必要なのがリンカスクリプトです。 リンカスクリプトを作る前に、ターゲットコンピュータのメモリマップを知る必要があります。メモリマップとは、どのアドレスに何が置いてあるかの表みたいなものです。今回対象

    goking
    goking 2012/12/25
  • TKJ Electronics » Ethernet on STM32F4DISCOVERY using external PHY

    Home > ARM, Development boards > Ethernet on STM32F4DISCOVERY using external PHY For you who have read about the STM32F4 Cortex-M4 processor you might know that this processor family includes a 10/100 Ethernet MAC with dedicated DMA that supports supports IEEE 1588v2 hardware, MII/RMII. This means that the only electronics needed to enable the ethernet capability is an external PHY and the Magjack

    goking
    goking 2012/12/22
  • すzのAVR研究: USB VID/PID

    スイッチサイエンスで『USB PID無償提供プログラム』を検討しているのを知った。USB の ファームウェアを公開している立場からすると、USB の PID/VID は結構厄介で、正直自由に使える ID が欲しい。ID を使わせてあけようと考える人がいるというのは、非常にありがたい。 この機会に使える PID/VID についてまとめておこうと思う。 チップベンダーが提供する サブライセンス MicroChip や FTDI, TI (, Atmel も?)などは、製品に利用できる サブライセンスを発行している。が、当然ながら そこのチップを使うことが前提になっている。いまのところ USB 付き AVR の ファームウェアしか作っていないのだが、互換性のある ファームウェアを PIC32MX 向けに作りたいと考えている。 ベンダーのしばりがあるのも問題だが、作っているものは製品ではないほうが

    goking
    goking 2012/12/20
  • by-the-Aの日記

    いつの間にか年をとってしまった。 気づいたらこんなところにいて、明日はもう決まっている。 通り過ぎた過去も、もうあのころのように、心を激しく揺さぶることはない。 知らないうちに大人になってしまったんだな。 今年も暑い。 たまの三連休にはうってつけの暑さ。 グレッグ・イーガンのゼンデギをちょっと前に読んだ。 この小説はつい最近の出来事と、近未来を描いていて、 SFとしては読みやすい部類。 中東の情勢の多少勉強にもなる。 核となる話はイーガンお得意のものだなぁと。 割とあの手の話に弱い。 イーガンも極限まで主人公を追い詰める。 でも息子はかわいい。 人間がペットを可愛いと思うのは、 見た目の可愛さもあるけど、 何を考えているのか、類推して納得できるからかなと。 コレが人間関係だとそうはいかない。 ペットよりはよっぽど感情も読めるし、意思疎通もできる。 でも一番肝心なところ、ココロの柔らかいとこ

    by-the-Aの日記
    goking
    goking 2012/07/07
    userbuttonはプルダウン
  • 2010-11-29

    OpenGLを使っているとテクスチャがちゃんと2の累乗(べき乗)のサイズかどうかをチェックする場面が有るかと思います。 ※2の累乗とは2,4,8,16,32など2を何回か掛けた値の事です。 ※OpenGLのバージョンやハードによっては2の累乗じゃ無くても良い時もあります。 その判定をシンプルに行っている記事がTwitterで紹介されていて、非常にナルホドという記述だったので紹介。 記事はこちら WebGL and OpenGL Differences - WebGL Public Wiki http://khronos.org/webgl/wiki/WebGL_and_OpenGL_Differences 該当プログラムはこちらになります。 function isPowerOfTwo(x) { return (x & (x - 1)) == 0; } 例えば8だった場合はビットで表すと 1

    2010-11-29
    goking
    goking 2012/06/21
    screenでシリアルを読む時の改行問題の解消
  • gdb の使い方・デバッグ方法まとめ

    たとえば、変数 var の値を2進数で表示したい場合は、次のように指定します。 (gdb) p/t var 一覧表示 whatis 変数の型を調べる。 info b 今設定しているブレークポイントの一覧を表示 セグメントフォルトをした後に利用すれば、どの関数で発生したか確認できます。 info stack 関数の呼び出しスタックの一覧を表示 info Thread 存在しているスレッドの一覧を表示 異なるアドレスにおける処理継続 以下のコマンドを使用することで、ユーザが選択したアドレスにおいて実行を継続させることができます jump linespec linespecで指定される行において、実行を再開 jump *address addressで指定されるアドレスにある命令から、実行を再開 アドレスが分かっている場合のメモリリーク出力 xはhexの意味です。 (gdb) p (char*)

    gdb の使い方・デバッグ方法まとめ
    goking
    goking 2012/06/18
  • https://www.cqpub.co.jp/interface/sample/200511/if0511_chap1.pdf

    goking
    goking 2012/06/17
    ブートローダ周辺のあれこれ。
  • Codesourcery G++ LiteでCortex-M4Fプログラムをコンパイルする - Blackfin空挺団::Blog

    2010年秋版のCodesourcery G++ LiteはCORTEX-M4Fに対応しています。試行錯誤した結果、以下のようにそれらしいコンパイル結果を得ることができました。 takemasa@takemasa-desktop:~/foo$ cat main.c volatile float a[20], b[20]; int main(void) { float sum=0.0; int i; for( i=0; i<20; i++ ) sum += a[i]*b[i]; return (int) sum; } takemasa@takemasa-desktop:~/foo$ takemasa@takemasa-desktop:~/foo$ arm-none-eabi-gcc -O2 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -mcpu=co

    Codesourcery G++ LiteでCortex-M4Fプログラムをコンパイルする - Blackfin空挺団::Blog
    goking
    goking 2012/06/16
  • ARMメモ (Cortex-M まとめ) | espyの日記 | スラド

    Cortex-なにがし、が出て以来把握できていなかったのでメモ。 jp.arm.comサイトから (1)コアの選択 (2)Cortexファミリ (3)Thumb-2 ...コード密度の向上による高性能、低消費電力化 (4)ARMのコード密度と性能を改善 ARM7TDMI のような呼称の"T"がThumb命令サポートで、32bit幅のARM命令セットに加えて 16bitのThumb命令セットも使える、というあたりはわかりやすかった。 ・Thumbで縮小しすぎたので高機能な32bit命令も加えたThumb-2命令セットを作った(3)(4)。 ・Cortexファミリは-A,-RはARM,Thumb,Thumb-2命令が使えるが Cortex-Mシリーズは組み込み向けでThumb-2命令セットのみ(2)、MMUも無し(1)。 てな感じか。 「MCUで予想を超える需要」,最小のARMコア「Corte

    goking
    goking 2012/06/16
  • newlibの構築(自分用メモ)

    goking
    goking 2012/06/15
  • マイコン風雲録: FreeRTOS

    goking
    goking 2012/06/12
  • 2. Exploring MRuby

    2. MRuby 探索 2012-05-18 (鈴) 1. はじめに 2. 構築 3. 構築過程再訪 4. 中間言語コード 5. おわりに 1 はじめに 章では組込み用 Ruby 処理系 mruby の作りと使い方を探索する。 執筆時現在,mruby はまだ正式にリリースされておらず, https://github.com/mruby/mruby から $ git clone https://github.com/mruby/mruby.git として最新の開発版を入手できる。 git [git-scm.com] をインストールしていない, あるいは通信経路・プロトコルの制限等により git が使えない環境でも同ページの Downloads リンクから HTTPS 経由で tar.gz ファイルをダウンロードできる。 現在,最新版の tar.gz ファイルの URL はリビジョンにかかわ

  • http://recotana.com/recotanablog/2010/07/28/411

    goking
    goking 2012/06/11
  • STM32L ST-LinkをMac OSXにインストールする – honkytonk

    goking
    goking 2012/06/11
    stlinkとgdb
  • 簡単版:ST-LINK編 | マイコン徹底入門:STM32ではじめるARM/Cortex-M3組み込み開発

    この簡単版導入編では、書込方法にST-LINKを使用することを前提にしています。STM32 Value line discovery上のST-LINKでも、単体版のST-LINKでも、同じ手順で利用できます。 ご注意:DFUファームウェアが書き込み済みのマイコンボードに以下の手順でプログラムを書き込むと、DFUファームウェアが削除されます。DFUファームウェアが必要な場合はこちらの手順を参照して復元させて下さい。 Java/Eclipseの設定済みファイルのインストールを行います。Java、は、インストーラーの指示通りインストールしてください。設定内容を変更する必要はありません。詳細や手順や作業の意味については詳細手順を記載したリンク先を参照して下さい。 Javaはこのリンク先(http://www.java.com/ja/download/index.jsp)のページの「無料Javaのダ

    goking
    goking 2012/06/11
    STM32は大体ここで
  • Open Source IDE and Toolchain for the STM32F4 Discovery on Mac OSX Lion

    Open Source IDE and Toolchain for the STM32F4 Discovery on Mac OSX Lion STM32F4-Discovery ST Micro in the last few weeks was the first to market with the brand new ARM Cortex-M4 32-bit microcontroller core. The really interesting new feature is the ‘F’ in the name – this is the first low-cost, low-ish-power light duty microcontroller to include a built in, single cycle per instruction 32-bit float

    Open Source IDE and Toolchain for the STM32F4 Discovery on Mac OSX Lion
    goking
    goking 2012/06/07
    eclipseを使ってる?
  • マイコン風雲録: Raspberry Pi vs その他のLinuxボード

    Raspberry Pi vs その他のLinuxボード *はじまり (注1) Raspberry Piの「Pi」は「Python」に由来している。 最初期のものは起動後にPythonのコマンドプロンプトが表示されるものだったからだ。 最初の1万台は中国製。(多分その後も同じだろう) * 元祖?! 何がどう元祖かはアレだけど、自分の中ではEthernetと2MバイトのDRAM積んだこれが、印象的。 持ってないけど。 これを買うのをやめたのは、Ethernetのスピードが非常に遅くて使えないって記述をどこかで見たため。 http://akizukidenshi.com/catalog/g/gK-01271/ * 他ボードとの比較表 ざっくり、比較表を作ってみた。 表にするとaitendoの「IMAPX210-MB」のすごさがわかる。 Beagleboneの立場が微妙だ。 Olimexも結構微

    goking
    goking 2012/06/07
    性能向上がスゴすぎ
  • マイコン風雲録: Maple: STM32VLDiscoveryをMaple IDEで動かす

    duino系(17) Python(5) 雑多なメモ(19) eLua(2) FreeRTOS(11) LCD(16) OpenOCD(10) TortoiseHg(4) Musicメモ(2) ARM系(22) LPCXpresso(16) mbed(3) SCons(4) BeRTOS(1) NuttX OS(1) Ethernet(4) PIC関連(10) PIC24F系(11) AVR系(3) 部品(4) STM32VLDiscoveryをMaple IDEで動かす *はじまり *基板の注意点 *ピンマップ *Maple IDEで動かす ST-LINK Utilityのインストール: Maple IDEの差分ファイルを適用する: Pythonをインストールする: STM32VLD用修正差分を適用する: Maple IDEを起動する: サンプルス

    goking
    goking 2012/06/07
  • ArduinoとEthernetシールドとDHCPとDNS

    以前書いた Arduino DHCP Libraryを使ってみる : blog.loadlimit – digital matter – で使ったライブラリが、最近のIDEで使えなくなったということで、他のライブラリを見つけました。 gkaindl.com → software → arduino ethernet 前述のDHCP Libraryをベースに改良されたもので、機能も拡張されています。 ダウンロード後、解凍して、中身のフォルダをArduinoのlibrariesフォルダにコピーします。 あとはただただソースを書くだけ。 DHCPの更新処理とかを自動でやってくれるmaintain()が便利です。こんな感じのコードになりました。 #if defined(ARDUINO) && ARDUINO > 18 #include <SPI.h> #endif #include <Ethern

    goking
    goking 2012/03/29
    arduino ethernetの別ライブラリ leaseの拡張