Tips

ステータスLEDを駆動するいくつかの方法

PFピンが足りません(-_-) こんな場合、真っ先に目をつけられるのはステータスLEDです。ステータスLEDはデバッグ用に必須なものです。しかし割込みも何も不要なものですのでボード機能としては贅沢品です。ですからFPGAのピンに追いやられたりするのです。 い…

クリッピング

Blackfinには16/32ビットクリッピング命令がありません。しかし、たとえば次のようにすることで任意の値でのクリッピングを行うことができます。 // r1 には 32767-x:32767-x を入れておく。xはクリッピング値 r0 = r0 +|+ r1(s); r0 = r0 -|- r1(s); ただし…

プロジェクト・グループ

VisualDSP++ 4.0では、複数プロジェクトをまとめてプロジェクト・グループとすることができるようになりました。 プロジェクト一括保存 プロジェクト・グループは配下の各プロジェクトを一括して開く、閉じる、保存することが可能です。ですので、ライブラリ…

EZ-KIT Liteの設計資料

あまり知られていませんが、アナログ・デバイセズの公開FTPサーバーにはEZ-KIT LITEの設計資料が置いてあります。 ftp://ftp.analog.com/pub/tools/Hardware/Reference_Designs/

最悪の場合?

外部SDRAMを使わず、外部PROM上で直接命令を実行していると考えてください。当然、キャッシュをオンにしておきます。 今、偶然キャッシュがミスヒットして外部ROMからのキャッシュ・バースト・フィルが始まりました。ここで割り込みが発生するとどうなるでし…

知られざるスクラッチ・レジスタ

Blackfinには、条件付ながらコンパイラが決して使わず演算にも使えない純粋なスクラッチ・レジスタとして使えるグローバル・レジスタが一本あります。 USPです (^^; そう。ユーザーモードを使わないならUSPは誰に気兼ねすることなく使える非常に便利なレジス…

-si-revision

VisualDSP++ 3.5 はシリコンのリビジョンに応じてアノーマリー回避を行うコードを生成することができます。たいていの場合アノーマリー回避コードはやや性能が低下するため、正しいリビジョンを指定する必要があります。 使用するリビジョンの指定は次のよう…

アノーマリ#55

ADSP-BF533 Rev0.2のアノーマリ#55には EBIU_AMGCTLのCDPRIOビットが0に固定されており、コアとDMAの外部アクセスが重なると必ずコアが優先される というそっけない記述があるだけです。しかしこのそっけないアノーマリには直感的ではない重大な問題が潜んで…

UART DMA

ADSP-BF533はUARTの送信用、受信用にそれぞれ専用のDMAを持っています。このため、長さがわかっている通信なら負荷を減らすこともできます。ただ、一つ注意が必要なのは、DMAを使うためにUART_IERのETBEIとERBFIを1にして送信バッファ空割り込みと受信バッフ…

UARTの落とし穴

ADSP-BF533のUARTは16450互換タイプです。古くからPCをいじっている人やIPに詳しい方はピンと来たかもしれませんが、これはバッファなしのタイプで、最近ではPCでは使われていません。バッファ付きの16550が開発されたのは、PC*1の割り込み応答が遅かったた…

リーク電流

750MHz版BF533のデータシートを見ると、コアにクロックを供給しない状態でも0.8V時に16mA以上流れていることがわかります。高速動作と引き換えみたいなものですが、長時間待ちうけのようなアプリケーションにはこのままでは使えませんので注意が必要です。

破壊性読み出しレジスタと割り込み

MMRの中には一度読むと状態が変わるものがあります。多くのレジスタは読み出しても問題ありませんが、古いデバイスとの互換性を保つためにそのようなレジスタを持っているデバイスがあります。UARTがそれです。UARTの受信レジスタUART_RBRや割り込みステータ…

投機的ロードとデバッグ

図を見てください。これはTOPPERS/JSPの割り込みハンドラのエントリー部です。ステップ実行でこの位置に来たときに出力ウインドウに次のメッセージが現れました。 Dag0 Prot Violation !32 bit access DAG0で保護違反が発生しています。32ビット・アクセスに…

ビットフィールドと16進数

サンプルプログラムなんかを読んでいて16進数を見るとうんざりすることがあります。とくにペリフェラル設定となると、16進数を頭の中で分解してどのビットの状態が0でどのビットの状態が1か考えなければなりません。残念ながら私の頭はそれほどよくありませ…