라즈베리파이 명령어
sudo su - // su 계정으로 변경
Ctrl + Alt + "F1~F6" // 가상콘솔 (마우스 안됨)
Ctrl + Alt + F7 // X-Window
원격 네트워크를 위한 설정
wlan0 선택 후, Automatically configure empty options 항목은 체크해제
위의 그림과 같이 설정한다.
ssh 설정
ssh : 원격으로 다른 컴퓨터에 접속해서 커맨드 라인 명령을 보내서 작업하는걸 도와주는 프로토콜이다.
즉, Telnet과 같은 기능을 보안성을 높여서 하는 프로토콜
sudo halt // sudo 계정으로 시스템 종료 명령어
네트워크 설정이 끝났으면, 이제 윈도우에서 putty를 통한 원격 접속이 가능해진다.
계정명 pi / 비밀번호 입력후 엔터
접속되면 로그인 시각과 계정명을 볼 수 있다.
편의를 위한 설정
계정의 홈 디렉토리 내 .bashrc 파일의
#주석이 붙은 부분을 아래와 같이 수정 및 삽입
.vimrc 파일 수정후 위의 명령어들이 visual editor에 계속 적용된다.
비쥬얼 에디터로 main.c 소스 작성
:q! // vi 강제종료
:wq // 저장후 종료
프리웨어 컴파일러 gcc
(GNU is Not Unix) 프로젝트의 프리웨어(freeware) 컴파일러.
본래 C 언어용 컴파일러로 시작하였으므로 GNU C Compiler의 약자였으나 후에 여러 언어를 지원하면서 GNU Compiler Collection으로 개명했다.
cc --version이라고 명령어를 쳐도 버전을 확인할 수 있다. // C Compiler 버전
gcc main main.c 는 main.c를 main이란 파일로 컴파일하라는 명령어이다.
--save-temps - 옵션
// 컴파일 과정에서 생성되는 중간 파일인 전처리 파일(test.i), 과 어셈블리 파일(test.s)을 지우지 않고 현재 디렉토리에 저장된다.
-o 옵션
// 컴파일 과정에서 생성되는 Binary파일(*.o)이 추출된다.
TightVNC Viewer로 원격접속하기
1. 최신 패키지 확인
apt-get update
2. VNC 서버(tightvncserver) 설치
apt-get install tightvncserver
3. VNC 서버 실행(암호 두번 입력, 짧으면 튕김)
vncserver
4. 서버 실행 확인(포트 5901, 6001)
netstat -tulpn
5. 컴퓨터에 VNC 다운로드 후 설치
http://www.tightvnc.com/download.php
6. 컴퓨터에서 VNC 뷰어실행
IP주소::5901 입력 후 3번의 비번 입력
6-1 android-vnc-viewer 로 안드로이드 폰에서도 접속 가능
위는 윈도우에서 TightVNC Viewer로 라즈베리 파이에 원격접속한 화면이다.
C언어 보강
num10
A=++num; // 전치연산의 값은 A 11 num 11
A=num++; // 후치연산의 값은 A10 num 11
c++에서 전자를 쓰는게 속도향상에 도움이 됨
헷갈릴때 둥근 괄호로 싸면 우선순위가 제일 높아 알기 쉽다.
auto 자동변수 (프로그램 종료하면 사라짐)
(auto) int A; // auto가 사실은 생략된 형태이다.
cl /P // 전처리 파일 생성 main.i
cl /FA // 어셈블리 파일 생성 main.asm
cl / C //main.c 기계어 파일 생성 main.ob
어셈블리 코드 살펴보기
main.c
#include <stdio.h>
int main()
{
int iCnt;
for(iCnt = 0; 100>iCnt ; ++iCnt);
return 0;
} |
main.asm
위는 main.c파일의 어셈블리 소스이다.
; 는 주석을 말한다.
소스를 간단화하면 위와 같다.
명령어 jmp는 점프, cmp는 비교하다, jge는 크거나 같으면(작으면 무효)의 의미이다.
$LN2@main을 보면 ++iCnt가 어셈블리 코드가 대략 어떻게 처리되는지를 알 수 있다.
mov eax, iCnt
add eax, 1
mov iCnt, eax
cl /O2 /Fa main.c는 속도 최적화를 해서 컴파일하라는 명령어이다.
코드가 어떻게 처리되었는지는 위와 같이 실제 어셈블리 코드를 보면 자세히 알 수 있다.
'코스웨어 > 16년 스마트컨트롤러' 카테고리의 다른 글
20160401_김도관_업무일지_C언어 기초및 라즈베리파이_Non-Canonical (0) | 2016.04.05 |
---|---|
20160331_김도관_업무일지_C언어 기초및 라즈베리파이 시리얼통신_Canonical (0) | 2016.04.05 |
20160330-업무일지-이보원 라즈베리파이 명령어 실습 (0) | 2016.04.05 |
20160329 업무보고 이보원 라즈베리파이 벡업 하기 및 visual studio 실습 (0) | 2016.04.05 |
20160404_박진한_업무일지_시리얼제어 (0) | 2016.04.05 |
20160329-업무일지-허도경-로봇제어-환경변수 (0) | 2016.04.04 |
20160404_조재찬_업무일지_전역변수와 포인터 (0) | 2016.04.04 |
2016_04_04_업무일지_노태경 (0) | 2016.04.04 |