School Study

업무일지 - 0512

룸훼훼 2010. 5. 12. 10:21
반응형
오전수업

코일


릴레이


-릴레이
릴레이는 코일에 전류를 흘리면 자석이 되는 성질을 이용하고 있다.
코일이 전자석으로 되었을 때 철판을 끌어당겨, 그 철판에 붙어있는
스위치부의 접점을 열거나 닫는다.
릴레이의 좋은점은 전기적으로 독립된 회로를 연동시킬수 있다는 점이다.
5V와 같은 저전압계로 구성된 회로의 동작에 의해 AC 100V계의 회로를
ON/OFF시키든가, 대전류의 회로를 ON/OFF시킬 수 있다.
그것은 코일 부분과 접점 부분이 완전하게 절연되어 있어서 전기적으로
외부기기와 절연할 수 있기 때문이다.

-MOSFET(Metal-Oxide Semiconductor Field Effect Transistor)또는
MOS 트랜지스터는 금속막,산화막,반도체영역으로 구성된 트랜지스터의 일종이다.

-논리회로
논리 게이트 : NOT, OR, AND, XOR등 기본이 되는 논리 연산을 수행하는 것이다.
논리식에서 항상가질수 있는값은 1(높음)또는 0(낮음)밖에 없다.

오후수업
소스
#include <stdio.h>
int main()
{
  printf("the first C Program example.\n");
  return 0;
}
 

  아래 그림은 like.c 소스 파일이 있을 때 gcc가 like.c 파일을 어떤 과정을 통해 컴파일하는지에 대해서 그림으로 나타낸 모습.

 그림에서 gcc는 cpp0(C PreProcesser)를 호출하여 전처리 과정을 거쳐 like.c 파일을 like.i 파일로 만든다. like.i 파일은 C 컴파일러인 cc1에 의하여 어셈블리 코드인 like.s로 컴파일되고 이후 like.s는 as 어셈블러에 의해 어셈블 과정을 거쳐 like.o 오브젝트 파일로 만들어진다.


예제


◆C함수구조
(책 - 임베디드시스템C)
C프로그램은 하나이상의 함수의 집합으로 구성된다.
기본적인 소스를 외우고 있어야 한다.(위의 예제참조)
소스중 <stdio.h>는 입출력을 담당하는 함수가 정의되어있는 파일로
C컴파일러에 포함되어 있다. 뒤에나오는 printf()함수를 사용하기위해
포함시켜야한다.
C의 실행은 항상 main()함수로 부터 시작되는것을 잊지 말자.
main()함수를 항상 포함시켜야 하며 하나이상의 main()함수가 있어서도
안된다. 대신 프로그램내에서 main()함수의 위치는 어디있든지 무관하다.

-
1bit는 2진수 binary digit의 약자.
4bit는 1Niddle이라 하며 2Niddle은 1byte이다.
8bit는 1byte.
-

-심볼테이블-
하나의 함수가 호출될 때 필요한 메모리의 크기를 미리 계산해 둔 메모리 지도로서, 컴파일 할 때 코드 세그먼트에 생성된다. 숫자 형태의 오프셋으로 되어 있으며, 함수가 호출되면 무조건 심볼 테이블의 크기에 해당하는 만큼을 프로그램 스택 메모리에 확보하게 된다. 스택에 생성된 메모리는 함수가 진행되는 동안 계속해서 사용되며 함수가 종료하면 이 메모리는 제거 된다.
   컴파일러는 함수를 호출하는데 필요한 메모리의 크기를 미리 계산해 둔다. 프로그램 내에서 사용한 데이터 타입을 이용하여 함수가 호출되는데 필요한 전체 메모리의 크기를 계산하게 되며, 미리 계산된 메모리 크기는 심볼 테이블에 그 정보가 저장된다.
   실제 함수가 호출될 때 해당 함수의 심볼 테이블을 참조해서 함수 호출에 필요한 메모리를 스택에 생성한다. 컴파일 타임에 메모리의 크기가 계산되기 때문에 이 메모리를 정적 바인딩 메모리라고 한다. 하나의 심볼 테이블을 가지고 있기 때문에 각각의 함수가 호출될 때 각 함수의 심볼 테이블을 참조해서 메모리를 생성하게 된다.
메모리에 저장될때에 byte단위로 저장이된다.
소스를 코딩할떄에 name의 대문자소문자를 구분하기때문에 유의해야한다.
char - 문자  
int - 정수
float - 실수

이세가지는 변수의type 임.

반응형

'School Study' 카테고리의 다른 글

[BSP]업무일지 -20100514 - 임종현  (0) 2010.05.14
업무일지 - 0513  (0) 2010.05.13
0511 업무일지  (0) 2010.05.11
0510  (0) 2010.05.10
업무일지  (0) 2010.05.10