(toppers-users 3446) CORTEX-M3依存部へのフィードバック

suikan suikan7 @ yahoo.co.jp
2011年 5月 4日 (水) 16:48:52 JST


こんにちは

TOPPERS/ASPをLPC1768に野良移植している酔漢です。
http://sourceforge.jp/projects/toppersasp4lpc/

1. _kernel_istkpt
CORTEX-M3依存部 1.3.2は、プロセッサがメモリ・リマップを行えることを前提
としており、その仮定に立って、例外ベクトルは常に0番地から始まるとしてい
ます。そのため、MSPの初期値を格納している_kernel_istkptのアドレスは、
cfg1_out.hの中で0に決め打ちされています。

ところが、中にはメモリ・リマップを行わないプロセッサもあります。LPC17xx
シリーズはメモリ・リマップを行いません。そのため、SRAM 上でデバッグを行
う場合には、例外ベクトルをSRAM上(非ゼロ番地)に動かして使います。
_kernel_istkptを0にハードコードして いると、この方法に対応できません。

次回リリースでは_kernel_istkptをハードコードしないように提案します。
TOPPERS/ASP for LPC1768では、_kernel_istkptの値はLDファイルからエクスポートする
例外ベクトルの先頭番地を参照するように変更しています。

2. タイポ
CORTEX-M3依存部 1.3.2のarch/arm_m_gcc/prc_support.Cにマクロのタイポが
ありますので報告します。

ディスパッチャー本体に

#ifdef TOPPERS_CUSTOM_IDEL

とありますが、これは TOPPERS_CUSTOM_IDLEの間違いであろうと推測しま
す。#endifにあるように TOPPERS_CUSTOM_IDLEに修正してください。

互換性を維持するのであれば、

#if defined(TOPPERS_CUSTOM_IDEL) || defined(TOPPERS_CUSTOM_IDLE)

とするのも手かと思います。



-- 
酔漢
Blackfin 空挺団           http://blackfin.s36.coreserver.jp/
TOPPERS/JSP for Blackfin  http://sourceforge.jp/projects/toppersjsp4bf/
Blog                      http://blackfin.g.hatena.ne.jp/suikan/