네, 됩니다. 말씀하신 소스를 그대로 아래와 같이 컴파일해서 실행해 보았습니다.

파일이름이 test.c 라면,

]$ arm-linux-gcc -o test test.c
]$ ./test

혹시 arm-linux-gcc 버전이 어떻게 되시나요? 저는 3.3.4입니다.

버전확인은 아래와 같이 하시면 됩니다.

]$ arm-linux-gcc --version

이렇게 했음에도 그와 같이 이상하게 나온다면,
FALINUX 사에 A/S 문의를 해 보시는 것이 좋을 듯 합니다.

그런데, 아무리 생각해도 이해가 안 되네요....흠.
분명히 샘플만 컴파일하셨다면 다른 쪽에서 메모리를 건들 곳이 없을텐데...


>그대로 테스트 해보았습니다.
>
>#include <stdio.h>
>#include <string.h>
>
>int main()
>{
>   char  array[20];
>   int   ndx;
>  
>   memset( array, 0, 20);
>  
>   array[0] = 0x01;
>   *( (short *)&array[1]) = 162;
>  
>   for ( ndx = 0; ndx < 20; ndx++)
>   {
>      printf( "array[%d] = %2xn", ndx, (unsigned char)array[ndx]);
>   }
>}
>
>--------------------------------
>$ ./a.out
>array[0] =  0
>array[1] = a2
>array[2] =  0
>array[3] =  0
>array[4] =  0
>생략......
>
>
>그리고 혹시 몰라서
>
>
>
>
>#include <stdio.h>
>#include <string.h>
>
>int main()
>{
>   char  array[20];
>   int   ndx;
>  
>   memset( array, 0, 20);
>  
>   array[0] = 0x01;
>   *( (short *)&array[1]) = 0x0403;
>   *( (short *)&array[1]) = 0x0605;
>
>  
>   for ( ndx = 0; ndx < 20; ndx++)
>   {
>      printf( "[%02x]n", array[ndx]);
>   }
>}
>
>[00]
>[03]
>[00]
>[05]
>[00]
>/////생략
>어디가 문제인것 같나요???
>
>
>된다면 전화좀 주시겠습니까
>
>02-2140-3631 번 입니다.
>
>
>
>
>
>
>
>
>
>
>
>>안녕하세요.
>>
>>말씀을 보고 바로 프로그램을 작성해서 확인해 보았습니다.
>>그러나 PC에서 실행하나, EZ-X5에서 실행하나, 정상적으로
>>똑 같은 형태로 출력되었습니다.
>>
>>프로그램 소스를 올려 주시면 저도 확인해 보겠습니다.
>>
>>참고로 제가 확인한 프로그램입니다.
>>
>>#include <stdio.h>
>>#include <string.h>
>>
>>int main()
>>{
>>   char  array[20];
>>   int   ndx;
>>  
>>   memset( array, 0, 20);
>>  
>>   array[0] = 0x01;
>>   *( (short *)&array[1]) = 0x1234;
>>  
>>   for ( ndx = 0; ndx < 20; ndx++)
>>   {
>>      printf( "array[%d] = %xn", ndx, array[ndx]);
>>   }
>>}
>>
>>PC에서 실행하든 EZ-X5에서 실행하든 똑 같이 아래와 같이 출력되었습니다.
>>[root@ez-x5 test_fun]$ ./a.out    
>>array[0] = 1
>>array[1] = 34
>>array[2] = 12
>>array[3] = 0
>>array[4] = 0
>>array[5] = 0
>>array[6] = 0
>>array[7] = 0
>>array[8] = 0
>>array[9] = 0
>>array[10] = 0
>>array[11] = 0
>>array[12] = 0
>>array[13] = 0
>>array[14] = 0
>>array[15] = 0
>>array[16] = 0
>>array[17] = 0
>>array[18] = 0
>>array[19] = 0
>>
>>참고로 테스트할 때 사용한 162를 대입하면 아래와 같습니다.
>>
>>#include <stdio.h>
>>#include <string.h>
>>
>>int main()
>>{
>>   char  array[20];
>>   int   ndx;
>>  
>>   memset( array, 0, 20);
>>  
>>   array[0] = 0x01;
>>   *( (short *)&array[1]) = 162;
>>  
>>   for ( ndx = 0; ndx < 20; ndx++)
>>   {
>>      printf( "array[%d] = %2xn", ndx, (unsigned char)array[ndx]);
>>   }
>>}
>>
>>--------------------------------
>>]$ ./a.out
>>array[0] =  1
>>array[1] = a2
>>array[2] =  0
>>array[3] =  0
>>array[4] =  0
>>array[5] =  0
>>array[6] =  0
>>array[7] =  0
>>array[8] =  0
>>array[9] =  0
>>array[10] =  0
>>array[11] =  0
>>array[12] =  0
>>array[13] =  0
>>array[14] =  0
>>array[15] =  0
>>array[16] =  0
>>array[17] =  0
>>array[18] =  0
>>array[19] =  0
>>
>>
>>제가 올린 소스로 컴파일해서 확인해 보시면 빠르실 것입니다. ^^
>>
>>
>>
>>>안녕하십니까.
>>>
>>>EZ-X5 보드를 사용하고 있습니다.
>>>
>>>배열을 선언 했습니다.
>>>char array[20];
>>>
>>>메모리 초기화 후에
>>>memset( array, 0x00, 20 );
>>>
>>>array[0] = 0x01;
>>>을 할당하고
>>>
>>>*((short*)&array[1]) = 162;
>>>를 할당 했습니다.
>>>
>>>보통 리눅스의 핵사 값을 찍어보면
>>>
>>>[01] [a2] [00] [00] [00] [00] [00] .........
>>>이렇게 할당이 됩니다.
>>>
>>>보드에서 실행을 시켜 보면
>>>
>>>[00] [a2] [00] [00] [00] [00] [00] .........
>>>첫번째 메모리 까지 침범 합니다.
>>>
>>>그래서 [a2]가 이진수로 10100010 이니
>>>혹시 맨앞 비트에 문제가 있는거 아닌가 싶어서
>>>
>>>
>>>array[0] = 0x01;
>>>*((short*)&array[1]) = 0x02;
>>>를 할당했는데 결과는 마찬가지 입니다.
>>>
>>>왜 앞의 메모리 까지 침범하는지.. 답변 부탁드립니다.^^
>>>
>>>
>>>
>>>
>>>
>>
>