SSブログ
English Version

テキサス eZ430−F2013 2007年05月04日(データ復活版) [日記]

 秋葉原でテキサスのマイクロコントローラF20xxの開発環境(USB接続の世界最小の開発環境と言われているタイプ)であるeZ430が購入可能との情報を見つけたので4/21(土)に千石さんで購入しました(何故か添付のCD-ROMは2台のPCで試しましたがリードエラーで読めなかった・・でも必要なソフトやマニュアルはインターネットで入手できた)。

  http://www.tij.co.jp/jcm/msp430/ez430/

 ゴールデンウィークに入ったのでまずはLEDを段階的に点灯するテストプログラムを作成してみました。
 統合開発環境ソフトのIAR Embedded Workbench IDEは当然eZ430内のチップ上でのディバッグもできますがソフトシミュレータも使うことができます。(PSoCのminiProgではプログラム書き込みはできてもディバッグができない。せめてシミュレータが動けばいいんですが・・もしかしてやり方がわかってないだけ?)

 まずはeZ430内チップのLEDをPWMでじわ〜と点灯するテストプログラムを作成したところすんなり動作^^。

 PICと違ってMSP430F2013は16ビットマイコンで汎用レジスタ16本あり命令体系の直交性もあり、癖もなく、まともなCコンパイラもfreeで使え、コンパイルされたコードもアセンブラと比べそれほど遜色ないものです。また、ディバッグ時には標準入出力関数も使えて便利です。
 このチップは秋月電子さんでも是非扱って欲しいものです(秋月さんで扱うようになるとホビーユーザーに広がるという噂もあるようです(笑))

 以下、テストプログラムのソース(何故か空行がなくなってしまう^^;


// eZ430-F2013 graduate LED test program
//  made by T.Satoh in 2007/05/04
#include "msp430.h"
#define MAX_CNT 200   // define cycle count length

void main(void) {
    register int i,rev,delta;
    WDTCTL = WDTPW + WDTHOLD;   // stop W.D.T
    P1DIR |= 0x01;              // set P1.0 to output mode
    rev = 0;    delta = 1;
    for (;;) {
        P1OUT |= 0x01;     // LED on
        for( i = MAX_CNT ; i ; i-- ) {
            if( i == rev ) {
                P1OUT &= 0xfe;  // LED off
            }
        }
        rev += delta;
        if( rev >= MAX_CNT || rev <= 0  ) {
            delta = - delta;
        }
    }
}


コンパイル後のコード
?cstart_end: main: 00F80C 40B2 5A80 0120 mov.w #0x5A80,&WDTCTL P1DIR |= 0x01; // set P1.0 to output mode 00F812 D3D2 0022 bis.b #0x1,&P1DIR rev = 0; 00F816 430E clr.w R14 delta = 1; 00F818 431D mov.w #0x1,R13 00F81A 3C0F jmp 0xF83A if( i == rev ) { 00F81C 9E0F cmp.w R14,R15 00F81E 2002 jne 0xF824 P1OUT &= 0xfe; // LED off 00F820 C3D2 0021 bic.b #0x1,&P1OUT for( i = MAX_CNT ; i ; i-- ) { 00F824 533F add.w #0xFFFF,R15 for( i = MAX_CNT ; i ; i-- ) { 00F826 930F tst.w R15 00F828 23F9 jne 0xF81C rev += delta; 00F82A 5D0E add.w R13,R14 if( rev >= MAX_CNT || rev <= 0 ) { 00F82C 903E 00C8 cmp.w #0xC8,R14 00F830 3402 jge 0xF836 00F832 931E cmp.w #0x1,R14 00F834 3402 jge 0xF83A delta = - delta; 00F836 E33D inv.w R13 00F838 531D inc.w R13 P1OUT |= 0x01; // LED on 00F83A D3D2 0021 bis.b #0x1,&P1OUT for( i = MAX_CNT ; i ; i-- ) { 00F83E 403F 00C8 mov.w #0xC8,R15 00F842 3FF1 jmp 0xF826 __DebugBreak: 00F844 4130 ret __exit: 00F846 120A push.w R10 00F848 8321 decd.w SP 00F84A 4C0A mov.w R12,R10 00F84C 4A81 0000 mov.w R10,0x0(SP) 00F850 410E mov.w SP,R14 00F852 435C mov.b #0x1,R12 00F854 12B0 F844 call #__DebugBreak 00F858 3FF9 jmp 0xF84C _exit: 00F85A 4030 F846 br #0xF846 exit: 00F85E 4030 F85A br #0xF85A

ニックネーム さと at 08:56 | Comment(2) | TrackBack(0) | 日記
nice!(0)  コメント(2)  トラックバック(0) 

nice! 0

コメント 2

さと

以下、Googleのキャッシュから復活させたコメント

〉 何故か空行がなくなってしまう^^;
 NDSのブウウザでは空行が見えます。手書入力もなかなかGoodです。増設メモリも付いてこの値段なら納得です。
 freeの開発環境があれば面白いのにねぇ。

Posted by さと at 2007年06月24日 00:51

--------------------------------------------------

 Wiiのブラウザでも改行はちゃんと見えます。(opera系は表示するみたい)
 WiiのブラウザはNDSより画面が広い(パソコンと比べたら狭いですが)のはいいのですが、手書き入手がないので入力し辛い

Posted by さと at 2007年08月10日 12:18
by さと (2008-01-06 02:04) 

さと

> NDSのブウウザでは空行が見えます。手書入力もなかなかGoodです。
> 増設メモリも付いてこの値段なら納得です。
> freeの開発環境があれば面白いのにねぇ。

NDS開発環境はfreeのものがありました。

devkitARMでndsファイルまで作成できます。


これはC言語での開発になりますが、他に
 ・スクリプト言語(DSLua)
 ・Basic言語(DSBasic)←整数型ですが・・・
等もあります。

 Linuxすら動きます。(無線LANに繋げられるし、メモリさえ増設してあればWebサーバやsambaまで動きます^^)
 このLinuxはfontが小さくて文字が読みづらい・・^^;(目が悪くなってきたせいもあるけど、拡大鏡で見ても読みづらい←fontのドット数が限界的に少ない・・・慣れれば気にならなくなるんだろうか・・??)

 エミュレータも今ではまともなものが何個かあって
NO$GBAがお勧めです。
by さと (2008-02-25 23:45) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0