フォト
無料ブログはココログ

MyList

« 期待される役所へ | トップページ | 小保方さんに続く若手研究者は今後出るか »

2014年2月 9日 (日)

トラ技2014/2オマケ基板(2)

OpenOCD + Versaloon(STM8S Discovery改)でアクセスしてみた。
Lpc810vsllink

> openocd.exe -s ./tcl -f interface/vsllink_swd.cfg -f target/lpc810_swd_flash.cfg

Lpc810_openocd

telnetでlocalhost:4444に接続して、メモリをダンプしてみた
ちゃんと動いているようだ。

Lpc810_openocd1

Lチカくらいなら1kのRAMで動くだろうと、ChaNさんの「32bitへの誘い」にあるLPC810でLチカ(gcc)を参考にやってみた。

  1. コンパイル
    ChaNさんのサンプルからの変更部分は、
    • LPC810.ld : 全てのセクションをRAMに出力するようにを書き換え
    • main.c :
      • main()関数の先頭にある _sidataを_sdataにコピーしている行をコメントアウト
      • PINENABLE0 = 0x1BF; をコメントアウト
      • GPIOのポートを変更 _BV(2) → _BV(1)
    • makefile : CPU = cortex-m0に変更(コンパイラが -mcpu=cortex-m0plusに対応していなかったので)
  2. ベクタテーブルのリマップ
    VTOR(Vector Table Offset Register) E000ED08hにRAMの先頭アドレス10000000hを設定
  3. SP、PCの設定
    SP、PCに設定する値は、ベクタテーブルの先頭に書いてあるのでload_imageコマンドでイメージをRAMに転送した後に、mdw 0x10000000 2 を実行してベクタテーブルの先頭を表示し、1word目をSPに2word目をPCに設定
  4. 実行
    resumeコマンドを実行
> reset halt
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0xf1000000 pc: 0x1fff0008 msp: 0x10000ffc
> load_image image/main.elf 348 bytes written at address 0x10000000
downloaded 348 bytes in 0.010000s (33.984 KiB/s)
> mww 0xe000ed08 0x10000000 > mdw 0x10000000 2 0x10000000: 100003e0 10000101
> reg sp 0x100003e0 sp (/32): 0x100003E0
> reg pc 0x10000101 pc (/32): 0x10000101
> resume >

静止画ではLチカってるのが分からないね (^^;
Lpc810lchika

 LPC810はROMにUART、I2C等のAPIを持っているのでこれを使うと1kのRAMだけで実験できるかな。

« 期待される役所へ | トップページ | 小保方さんに続く若手研究者は今後出るか »

書籍・雑誌」カテゴリの記事

CPUボード」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: トラ技2014/2オマケ基板(2):

« 期待される役所へ | トップページ | 小保方さんに続く若手研究者は今後出るか »