본문 바로가기
코스웨어/16년 스마트컨트롤러

20160328_김도관_업무일지_라즈베리파이 네트워크 설정및 C언어와 어셈블리 비교

by 알 수 없는 사용자 2016. 3. 29.
728x90
반응형

1.OS


DOS   

단일 태스킹 체제


유닉스   

멀티태스킹 체제 :하나의 명령어 처리가 완료되지 않은 상태에서 다른 명령어를 처리할수 있다는 뜻으로, 즉 여려개의 명령어를 동시에 처리할 수 있는 방식을 의미함


리눅스 

유닉스의 일종, 클론이라 볼수있는 OS

멀티태스킹 지원됨

가상콘솔 6개와 X-Window가 존재함


라즈비안의 경우 가상콘솔은 각각 CTRL+ F1 ~F6 으로 전환이 가능하며 CTRL+F7로 X-Window로 전환가능함





2.C언어


가변인자 생략기호 (ellipsis) : "..."

생략 기호는 컴파일러에게 이후의 인수에 대해서는 개수와 타입을 점검하지 않도록 함

이후 별도로 정의할 필요 없이 임의 타입의 인수들을 개수에 상관없이 전달할 수 있음

printf()함수 참고


표기 형태 : 함수 (  , ...); 

EX)

   

1
2
3
4
5
 
int testC(int A,...)
{
    return 0;
}
cs





3.어셈블리

기계어에서 한 단계 위의 언어이며 기계어와 함께 단 둘뿐인 저급언어에 속함


 명령어 

 

mov

A , B

nemonic

니모닉

operand

오퍼랜드


c언어와 어셈블리 비교


c언어

1
2
3
4
5
6
7
8
#include <stdio.h>
 
int main()
{
    int iCnt;
    for(iCnt = 0; iCnt < 100; iCnt++);
    return iCnt;
}
cs


어셈블리

1
2
3
4
5
6
7
8
9
10
11
12
    mov    iCnt, 0 // iCnt를 0으로 초기화
    jmp    SHORT $LN4@main //LN4로 점프
$LN2@main:
    mov    eax, iCnt // iCnt값을 eax에 넣음
    add    eax, 1    // iCnt+1 을 eax
    mov    iCnt, eax // eax를 iCnt
$LN4@main:
    cmp    iCnt, 100 // iCnt값과 100을 비교함        
    jge    SHORT $LN3@main // 100보다 크면 LN3로 보냄
    jmp    SHORT $LN2@main // 100보다 작으면 LN2로 점프
$LN3@main:
    mov    eax, iCnt // iCnt를 eax에 넣음
cs





4.라즈베리파이 

1) SSH 설정

ssh가 없을 경우 패키지 설치

sudo apt-get install ssh


네트워크 환경 설정



SSH 설정

    


윈도우에서 putty로 SSH 접속



2) alias 설정 : 일종의 단축 매크로

해당 사용자 디렉토리에서 vi .bashrc




위 처럼 ll 을 입력할 경우 ls -l 의 명령문이 입력됨

728x90