Jetson TX1 - 소프트웨어 셋업
·
Embedded Linux/JetsonTX1
Jetson TX1 - 소프트웨어 셋업 Linux Check배포판 버전 확인$ grep . /etc/*-release 커널 버전 확인$ uname -r 리눅스 비트 확인$ uname -m nvidia -smi : gpu Ethernet 연결 후 ip 확인하기$ ifconfig SSH 원격 접속 포트 확인하기$ netstat -tnlp SSH 확인하기$ ssh 22번 포트가 열려 있는 것을 확인할 수 있습니다. openssh 설치하기$ sudo apt-get install openssh-server ssh-keygen을 이용해 처음으로 key 생성하기있어도 overwrite를 통해 생성합니다.$ sudo ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key $ sudo ssh..
Jetson TX1 - 시작과 셋업
·
Embedded Linux/JetsonTX1
Jetson TX1 - 시작과 셋업 NVIDIA Jetson TX1은 세계에서 가장 발달한 임베디드 비주얼 컴퓨팅 시스템이며최고의 성능, 최신 기술, 최고의 개발 플랫폼을 제공합니다. 모듈 장착형 슈퍼컴퓨터인 Jetson TX1은 최신 비주얼 컴퓨팅에 필요한 성능과 전력 효율을 제공합니다. 혁신적인 NVIDIA Maxwell™ 아키텍처와 256개의 CUDA 코어로 구성되었으며 1 TeraFLOPs 이상의 성능을 제공합니다. 64비트 CPU, 4K 비디오 인코딩 및 디코딩 기능, 1400 MPix/s 수준의 카메라 인터페이스가 포함된 이 제품은 임베디드 딥러닝, 컴퓨터 비전, 그래픽 및 고성능 GPU 컴퓨팅을 위한 최고의 시스템입니다. 최신기술 Jetson SDK에서는 최신 드라이버, 라이브러리, API를..
4. 비트연산 -2
·
Embedded Linux
4. 시프트 Shift쉬프트 연산의 동작은 대상이 되는 값을 왼쪽 또는 오른쪽으로 지정된 횟수만큼 이동시키는 연산이다. 1. 왼쪽 쉬프트 왼쪽 쉬프트는 지정된 횟수만큼 왼쪽으로 모든 비트를 이동하고, 오른쪽 두 비트는 0으로 채운다. 왼쪽 쉬프트는 부호와 상관없이 빈칸은 0으로 채워진다. 2. 오른쪽 쉬프트 오른쪽 쉬프트는 지정된 횟수만큼 오른쪽으로 모든 비트를 이동하고, 왼쪽 비트는 0 또는 1로 채워진다. 쉬프트의 대상이 되는 값이 부호가 없는 데이터이면 0으로 채워지고, 부호가 있는 데이터이면 부호 비트로 채워진다. 비트 연산 예제unsigned char a=0xf0; //11110000(2) 한 비트 클리어(예> 5번 비트) a &= ~(0x1
4. 비트 연산 -1
·
Embedded Linux
4. 비트 연산특정 비트 제어1. 비트 연산자비트연산자에는 AND, OR, NOT, XOR의 기본연산자와 쉬프트 연산자로 이루어져있다. 이중 AND와 OR연산자는 논리연산자에서 사용하는 &&와 ||와 구분된다. 연산연산자항해석AND&이항대응되는 비트를 AND 연산. 두 비트가 모두 1이면 1OR|이항대응되는 비트를 OR 연산. 두 비트가 모두 0이면 0NOT~단항비트 반전 1->0 0->1XOR^이항대응되는 비트를 XOR, 두 비트가 같으면 0, 다르면 1SHIFT이항지정된 횟수만큼 비트를 오른쪽으로 이동 2. 특정 비트 클리어, 설정, 반전1. 비트 마스킹0으로 클리어 하고 싶은 비트는 0과 & 연산한다. 이러한 원리를 비트 연산에 적용 ** 레지스터를 0과 & 전체 연산하면 모든 비트가 0이 되므로 ..
3. C 프로그램에서 하드웨어 접근 방법
·
Embedded Linux
3. C 프로그램에서 하드웨어 접근 방법 C 프로그래밍에서 하드웨어 접근 방법1. 프로세서에서 주변기기는 메모리다.프로세서는 LED, UART, 버튼 등 주변 입출력 장치를 단순히 메모리로 처리한다. 입출력 장치를 제어하기 위한 값들을 보내거나 받을 때, 메모리에 값을 읽고 쓰는 것과 동일하게 처리한다. 프로세서는 외부에 있는 주변기기로부터 데이터를 받거나 보내는 통로가 필요한데, 이것이 입출력포트이다. 그러므로 C프로그램에서 주변기기를 제어하기 위해서는 먼저 입출력 포트가 사용할 메모리를 지정하고, 주변기기로 데이터를 쓰거나, 읽기 위해서는 주변기기가 사용하는 포트에 할당된 메모리에 읽고, 쓰기를 한다. 2. Memory mapped I/O와 I/O mapped I/O프로세서에 따라서 주변 기기가 사용..
2. 임베디드 시스템 개발 환경의 특징
·
Embedded Linux
2. 임베디드 시스템 개발 환경의 특징 임베디드 시스템 개발환경의 특징1. 임베디드 소프트웨어 개발환경의 특징> 소프트웨어를 개발하는 시스템과 실행시키는 시스템이 다르다. 실행되는 시스템에 적합한 바이너리 코드를 생성해야 한다. PC는 개발 환경과 실행 환경이 동일하기 때문에 이러한 문제를 고려하지 않아도 된다. > 개발 툴 사용 방법을 정확히 숙지하고, 컴파일러에게 시스템 구성에 대해서 상세히 알려줘야 한다. 임베디드 시스템의 하드웨어 구성은 모두 다르다. 프로세서의 종류나 메모리의 크기와 종류, 연결된 주변기기들의 종류 등 구성이 동일하지 않으므로 컴파일러에서 자동으로 처리해줄 수 있는 부분이 많지 않다. 그래서 이러한 정보들을 컴파일러에 하나하나 설정해 주어야 한다. > 하드디스크가 없다. 임베디드..
리눅스 디바이스 드라이버 프로그래밍
·
Embedded Linux
12.1 Linux 상에서 디바이스의 정의 1. Linux 상에서 제어 가능한 디바이스 종류Linux에서 제어하는 디바이스는 윗 그림의 밑 부분 Device 3가지이다. 디바이스 이름설명디바이스 예Block Device중간에 있는 버퍼를 통해 디바이스 제어에 순서를 마음대로 조정할 수 있는 디바이스들하드 디스크(대부분 메모리 관련 디바이스들)Character Device중간에 버퍼가 없기 때문에, 디바이스 제어 순서를 마음대로 조정할 수 없는 디바이스들키보드, 마우스, LED, 버튼Network Device성격은 Block Device와 유사하나, 중간에 있는TCP/IP 프로토콜 스택에 의해 관리되는 디바이스들Ethernet, Wi-Fi 2. Linux에서 디바이스를 정의하기 위해 필요한 것들-1. 디바..
리눅스 커널 모듈 프로그래밍
·
Embedded Linux
11.1 펌-웨어, 커널 모듈, 디바이스 드라이버 비교 분석 하드웨어를 제어하기 위한 소프트웨어를 흔히 들 “임베디드 소프트웨어(Embedded Software)”라 부른다. 그리고 그러한 임베디드 소프트웨어로는 운영체제 없이 제어하는 “펌웨어(Firmware)”와 이 책에서 다루는 임베디드 리눅스(Embedded Linux)에서 동작하는 “커널 모듈(Kernel Module)”, “디바이스 드라이버(Device Driver)”가 있다. FirmwareEmbedded Linux Kernel Module, Device Drivermain() 함수가 있다.main() 함수가 없다.독립적으로 실행될 수 있다.User Application 요청이 있을 때만 실행될 수 있다.개발자 마음대로 소스 작성이 가능하다...
김 정출
'Embedded Linux' 카테고리의 글 목록