[H8-ML(1463)] H8/3664 のベクターの記述 (C言語)
From: wakky@xxxxxxxxxxxxxxxxxxx
Date: 2001年12月04日(火)21時29分46秒
日立のサイトから取ってきた cygwin の gcc(Ver 2.7-97r2a) を使っています。

3048 では、ベクターは4byte で、ポインタの長さと同じだったので、
typedef void (*fp)(void);
void start( void ) ;
const fp VectorTable[] __attribute__ ((section (".vectors"))) =
{
    (fp)start         //00
      .
      .
などという記述が可能でした。


今回、同じコンパイラで、3664 のプログラムを作っているのですが、
3664 の場合、ベクターが 2byte のため、
typedef short fp ;
void start( void ) ;
const fp VectorTable[] __attribute__ ((section (".vectors"))) =
{
    (fp)start         //00
      .
      .
などとすると、
>initializer element for `VectorTable[0]' is not computable at load time
というエラーになってしまいます。
キャストでごまかそうとしていろいろとやってみたのですが、このエラーは
無くなりません。
なんかいい方法はないでしょうか?
(アセンブラにしないとだめかなぁ〜)
--
--------- Computer Artisan ---------------------------
シーエー  寺脇 勝彦
E-mail wakky@xxxxxxxxxxxxxxxxxxx 
URL    http://www.computerartisan.com/

スレッド概略
[1459(R)](起点)
 └[1462(U)]
   └[表示中]
     └[1464(1)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]