DSPのプログラムをダウンロードし、実行させるDOS用プログラムです。 下記の手順になります。

  1. dsp21k_open()でDSPボードと接続
  2. dsp21k_reset_bd()でDSPボードをリセット
  3. dsp21k_cfg_proc()でDSPを初期化
  4. dsp21k_dl_exe()でプログラムをDSPに転送
  5. dsp21k_start()DSPプログラムを実行
  6. 処理が終わるのを待つ
  7. dsp21k_reset_bd()ボードをリセット (しなくても良い)
  8. dsp21k_close()終了
これ以外に、DSPとPC間でデータ転送を行う関数などが用意されています。


#include <stdio.h>
#include <stdlib.h>
#include "dsp21k.h"

#define ADSPNUM 0
#define BUFLEN 1024

int main(int argc, char *argv[])
{
  PDSP21K processor;
  char buf[BUFLEN];

  if (argc != 2) {
    fprintf(stderr, "Usage: %s PROGRAM\n", argv[0]);
    exit(1);
  }

  if ((processor = dsp21k_open(ADSPNUM)) == NULL) {
    fprintf(stderr, "Cannot open processor ADSP%d\n", ADSPNUM);
    exit(1);
  }

  dsp21k_reset_bd(processor);
  dsp21k_cfg_proc(processor);

  if (!dsp21k_dl_exe(processor, argv[1])) {
    fprintf(stderr, "Cannot download %s\n", argv[1]);
    exit(1);
  }
  dsp21k_start(processor);

  fprintf(stderr, "Execute %s on DSP%d\n", argv[1], ADSPNUM);
  fprintf(stderr, "Press RETURN to terminate: ");
  fgets(buf, BUFLEN, stdin);

  dsp21k_reset_bd(processor);
  dsp21k_close(processor);

  return 0;
}