본문 바로가기

전체

[Kernel Porting] LED 점멸하기2 작업 환경-메인 OS : Windows 8.1K(Intel Core i5-4590)-작업 OS : Ubuntu 14.04.5 LTS 64bit(VirtualBox)-장 비 명 : Hybus-Smart4412 led_test.c#include#include#include#include#include#include#include //디바이스 드라이버가 들어있는 경로 위치를 적어논것#define led "/dev/led" void LedUp(int dev);void LedDown(int dev);void LedAll(int dev);void LedOddEven(int dev);void LedInside(int dev);void LedOutside(int dev);int main(){int dev , i , n.. 더보기
[Kernel Porting] LED 점멸하기1 작업 환경-메인 OS : Windows 8.1K(Intel Core i5-4590)-작업 OS : Ubuntu 14.04.5 LTS 64bit(VirtualBox)-장 비 명 : Hybus-Smart4412 led.c#include#include#include#include#include#include#include //디바이스 드라이버가 들어있는 경로 위치를 적어논것#define led "/dev/led"int main(){int dev , i;unsigned char data;//1. 해당 드라이버 경로//2. O_RDWRdev = open(led,O_RDWR);if(dev 속도를 115200으로 설정- Hybus-Smart4412 장비 부팅- 메뉴 -> 전송 -> ZMODEM -> 보내기 에서 실행.. 더보기
[Kernel Porting] Hello World 출력하기 작업 환경-메인 OS : Windows 8.1K(Intel Core i5-4590)-작업 OS : Ubuntu 14.04.5 LTS 64bit(VirtualBox)-장 비 명 : Hybus-Smart4412 hello.c#includeint main(){printf("Hello World\n");return 0;} 1. 초기설정 sudo apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib gcc-4.4-multilib lib32z1 2. 컴파일/opt/gnueabi/opt/ext-toolchain/bin/arm-linux-gnueabihf-gcc hello.c -o hello 3. Test- 윈도우(메인 OS)로 실행파일 복사- Tera Term에서 포트 설정 후 설정.. 더보기
[Kernel Porting] Embedded Programming 컴파일 및 테스트 작업 환경-메인 OS : Windows 8.1K(Intel Core i5-4590)-작업 OS : Ubuntu 14.04.5 LTS 64bit(VirtualBox)-장 비 명 : Hybus-Smart4412TKU 디바이스 드라이버 경로 위치- cd ~/Smart4412/Development/Source/Kernel/kernel_4412/drivers/Exynos4412TKU_IEB- ls- 해당 드라이버 소스파일들을 확인할 수 있다.- ieb_led.c 의 경우 #define DEVICE_NAME "led"로 정의되어있으며 led.c예제를 보면 #define led "/dev/led" 경로를 지정해 주었다. 컴파일 방법 및 테스트1) Tera term으로 컴파일 및 테스트(Windows 환경)- sudo.. 더보기
[Kernel Porting] H-Smart4412 부트로더 설치 작업환경1.Main OS : Windows 8.1K for x642.Virtual OS : Ubuntu14.04.5 LTS(VirtualBox)3.Equipment : Hybus-Smart4412TKU 설치방법 및 순서- sd-card 준비- Linux 실행- sd_fuse- Bootloader write 1-1. 초기 설정- VirtualBox 5.1.10 Oracle VM VirtualBox Extension Pack 설치 (Ubuntu(가상공간)에서 USB가 인식되기 위해 확장팩을설치해야 한다. (★중요 : 설치 진행은 바탕화면에서 진행한다. 임의의 폴더 안에서 설치하면 오류 발생이 날 수 있다.) VirtualBox 5.1.10 Oracle VM VirtualBox Extension Pack 설치.. 더보기
[Kernel Porting] H-Smart4412 커널 포팅 작업환경1.Main OS : Windows 8.1K for x642.Virtual OS : Ubuntu14.04.5(VirtualBox)3.Equipment : Hybus-Smart4412TKU 파일https://drive.google.com/drive/folders/0B1BHFmZx9XP6aVRHOUFhSnFweUE 1. 초기설정- 우분투 설치 후 터미널 창에서 mkdir /Smart4412- Smart4412 디렉토리에 다운받은 Development 디렉토리 복사- Development 디렉토리 구조 ● Image : Bootloader , Kernel , Filesystem Image● Source : Bootloader , Kernel , Filesystem Source● Toolchain : C.. 더보기
[C언어] 비트연산 문제다음 int a = 0xA5의 값이 있다.int *p를 이용하여 a의 내용들을 변경하고 출력하세요(비트는 우측에서 0부터 시작한다.)1. 6번 비트가 0인지 1이면 true 0이면 false를 출력2. 3번 비트와 1번비트를 1로 set하고 출력3. 1번 비트와 2번 비트를 0으로 clear하고 출력4. 5,6,7,번 비트를 추출하여 값을 출력하세요 #include #define PR(a) printf("%x\n" , a) int main(void){int a = 0xA5; //1.if(a&(1 더보기
[Assembly] 어셈블리 문제8 실행환경- cpu : 인텔계열(64bit)- 컴파일러 : nasm- 리눅스 : ubuntu 16.04 LTS 설치방법- sudo apt-get install nasm 컴파일- nasm -f elf64 파일명.asm -o 파일명.o --> 목적파일을 만든다.- ld 파일명.o -o 파일명 --> 실행파일을 만든다. 문제8 : n을 입력받아 1부터 n까지의 합과 짝수의 합 홀수의 합 평균을 출력하시오. exam8.asmsection .data su db 'sum =' lsu equ $-su ev db 'even =' lev equ $-ev od db 'odd =' lod equ $-od av db 'avr =' lav equ $-av star db '*' ent db 0x0A section .bss nu r.. 더보기
[Assembly] 어셈블리 문제7 실행환경- cpu : 인텔계열(64bit)- 컴파일러 : nasm- 리눅스 : ubuntu 16.04 LTS 설치방법- sudo apt-get install nasm 컴파일- nasm -f elf64 파일명.asm -o 파일명.o --> 목적파일을 만든다.- ld 파일명.o -o 파일명 --> 실행파일을 만든다. 문제7 : goto문과 같은 태크를 사용해서 구구단을 출력하시오.(push,pop을 사용해도됨) exam7.asmsection .data x db 'x' e db '=' ent db 0x0A space db ' ' section .bss n1 resb 1 n2 resb 1 reresb 2 buf resb 1 buf2 resb 1 section .text global _start %macro wr.. 더보기
[Assembly] 어셈블리 문제6 실행환경- cpu : 인텔계열(64bit)- 컴파일러 : nasm- 리눅스 : ubuntu 16.04 LTS 설치방법- sudo apt-get install nasm 컴파일- nasm -f elf64 파일명.asm -o 파일명.o --> 목적파일을 만든다.- ld 파일명.o -o 파일명 --> 실행파일을 만든다. 문제6 : loop를 활용하여 문자 0~9 대문자 A~Z 소문자 a~z를 출력하시오 exam6.asm section .data n db '0' b db 'A' s db 'a' space db ' ' ent db 0x0A section .bss section .text global _start %macro write 2 mov eax,4 mov ebx,1 mov ecx,%1 mov edx,%2 i.. 더보기