2011年1月11日火曜日

EvalBot 味見その2

 EvalBot
とりあえず、 サンプルプログラムを入手
http://micrium.com/page/downloads/os-iii_files

動作確認します。
コンパイラコード制限版の入手
http://www.iar.com/website1/1.0.1.0/675/3/

マイコンのRevision を確認します。
LSIの表面に 2列目後半に B1,C1,C3の文字があれば
TARGET_IS_TEMPEST_RB1または
TARGET_IS_TEMPEST_RC1,TARGET_IS_TEMPEST_RC3


をプレデファインに入れます。

電源
電池がもったいないので、JTAG +ICDI_VBUS -- D6(未実装だった) -- IN1(TPS213) を接続します。
この場合、USB ポートを利用すると(+DVBUS)と(+ICDI_VBUS)でショートする可能性あるので
気をつけてください。
回路図では D7 ダイオードが実装のはずですが、私の実機では0オーム抵抗で
接続されています。

コンパイルは
1. libdriver.aの生成
2. uCOS-III-Ex1
3. uCOS-III-Ex2
4. uCOS-III-Ex3
5. uCOS-III-Ex4
の順に行い、動作確認します。

EvalBot 味見その1

 Stellaris Evalbotを購入してみた。
http://www.luminarymicro.com/products/stellaris_evalbot.html

DigiKey で EKB-UCOS3-BNDLを購入、約4日で届きました。
Stellaris Evalbotのマイコンは ARM Cortex-M3 LM3S9B92 80MHz
256KB FLASH, 96KB RAMで、Cortex-M3でEther/USBがあるのは嬉しい。

 開発環境を調査すると
1. IAR ARM KickStart Edtion (32KB コード制限版)
2. Code Sourcey G++ Lite版 (Free)
3. LM Flash Programmer(Free)

 Stellarisの特徴--ソフトウエアに自信があり。
http://www.luminarymicro.com/products/software_updates.html

すごいのは、ROMにDriverが書き込まれている
メモリマップを示すと
$0000.0000 FLASH (256KByte)
$0100.0000 ROM (Driver/Boot Loader支援)
$2000.0000 SRAM (96Kbyte)
$4000.0000 I/O REG
$E000.0000 SYS REG
といったかんじ。

ROM APIは、たとえば
#define TARGET_IS_TEMPEST_RB1
#include <drivelib/rom.h>
#include <drivelib/rom_map.h>
として
    MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
とすると、ROMのバージョンに応じて、libdriver.a[SysCtlPeripheralEnable] を呼び出すか、
ROM内API[ROM_SysCtlPeripheralEnable]を呼び出すかを半自動化している。
 ROMにドライバーが格納されているので、 IAR 32KBコード制限版でも、なかなかのプログラムが
つくれます。サンプルプログラム4本がいい例となっています。

残念なところ
1. uC/OS 3がバンドルされていますが、IAR 用のHeader+Libraryのみです。
2. モーター軸のエンコーダはQEI入力ではなく、割り込み処理対応となります。
3. FLASH 書き換え回数 15000回はちょっと、不安。