[Armadillo:05016] Re: CON16 (シリアルインターフェース1)のリブート時のメッセージ抑制

Yasuhisa Nakamura email@hidden
2010年 3月 12日 (金) 01:12:03 JST


中村です。

totoさんの質問とも、Armadilloとも関係がないのですが・・・

元ソースの
  char console[] = { "console=ttyAM0,115200" };
この文字列初期化の書式(構文)が気になっています。

普通は
  char console[] = "console=ttyAM0,115200";
こう書きますよね?

中カッコは
  char *str[]= { "abc", "xyz" };
のようなときに使うかと。。。

(要素1つの配列は意味がなさそうですが)上のconsoleだと
  char *console[] = { "console=ttyAM0,115200" };
が言語仕様的には正しいと思うのですが、元ソースの
ままでgccに"-W"や"-Wall"をつけても警告は出ません。

簡単なテストコードを書いてgccで試してみたところ、
どちらでもconsoleには同じ値が入るようです。

どなたか、根拠(Cの言語仕様)がわかる方がいましたら
教えてください。

よろしくお願いします。

-- 
なかむら


2010年 3月 12日(金)00:26 に Yasuhisa Nakamura さんは書きました:
> totoさん、こんばんは。
> 中村です。
>
> 2010年 3月 11日(木)21:41 に email@hidden さんは書きました:
>>> は、ソースの次の部分です。
>>>   char console[] = { "console=ttyAM0,115200" };
>>>
>> ということは
>>  char console[] = { "console=ttyAM1,115200" };
>>  した、Hermitを作成すれば、
>> setenvをしなくても、コンソールをttyAM1にすることが出来るのでしょうか?
>
> はい、そうです。
>
> 私は次のような修正をして、ttyAM1用とnotty用でconsole[]の
> デフォルトが異なるhermitを作って使っています。
>
> (最新のhermitのソースでは異なるかもしれません)
>
> --- src/target/armadillo2x0/linux.c-orig	2008-08-18 11:45:47.000000000 +0900
> +++ src/target/armadillo2x0/linux.c	2008-10-01 21:53:45.000000000 +0900
> @@ -134,7 +134,17 @@
>
>  char mtdparts210[] = { MTDPARTS210 };
>  char mtdparts2x0[] = { MTDPARTS2X0 };
> +#if defined(CONSOLE)
> +#  if CONSOLE == 0
>  char console[] = { "console=ttyAM0,115200" };
> +#  elif CONSOLE == 1
> +char console[] = { "console=ttyAM1,115200" };
> +#  else
> +#    error "unknown CONSOLE value"
> +#  endif
> +#else
> +char console[] = { "console=null" };
> +#endif
>
>  static int boot_cmdfunc(int argc, char *argv[])
>  {
> @@ -171,7 +181,9 @@
>  	case BOARD_ID_A210:
>  	case BOARD_ID_A210C:
>  	  argv[argc++] = mtdparts210;
> +#if defined(CONSOLE)
>  	  console[13] = '1';
> +#endif
>  	  break;
>  	case BOARD_ID_A220:
>  	case BOARD_ID_A230:
>
> --
> なかむら
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>
>




armadillo メーリングリストの案内