sio

シリアルIOに関しては代表的なもの用にPDICが数種類用意されています。そのうちUARTに関しては1550互換のST16C2550というUART2個いりのもののPDICが使えそうです。
このST16C2550は1550互換なので、1450互換なADSP-BF533のUARTとは少し異なります。しかし違うのはFIFOの存在で、しかもPDICFIFOを切って使っているのでこれは大した問題ではありません。
むしろ汎用UARTドライバとして考えたときにクロックの設定が決めうちになっていることのほうが残念といえます。もちろんPDICの標準初期化ルーチンを呼び出したあと、自前のsys_config.cの中で書き換えればいいのでたいした問題ではありません。以前1450/1550を例にオブジェクト指向と差分プログラミングの説明をしたことを思い出して、ちょっとだけ苦笑しました。
さて、ここまで書いておいてなんですが、PDICをそのまま使うのは危険なので一部書き直しが必要です。ADSP-BF533は投機的ロードの副作用のために、UART_IIRのような破壊読出し型のレジスタを読むときには必ず割り込み禁止しに無ければなりません。そのため、ステータス・チェック部は書き直しが必要です。