작업 환경
-메인 OS : Windows 8.1K(Intel Core i5-4590)
-작업 OS : Ubuntu 14.04.5 LTS 64bit(VirtualBox)
-장 비 명 : Hybus-Smart4412
dot1.c
#include<stdio.h>
#include<stdlib.h>
#include<fcntl.h>
#define dot "/dev/dot"
int main()
{
int dot_d , i;
unsigned char num[10][8] =
{
{0x3C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00}, //zero
{0x18, 0x38, 0x78, 0x18, 0x18, 0x18, 0x7E, 0x00}, //one
{0x3C, 0x66, 0x06, 0x1C, 0x30, 0x60, 0x7E, 0x00}, //two
{0x3C, 0x66, 0x06, 0x1C, 0x06, 0x66, 0x3C, 0x00}, //three
{0x0C, 0x1C, 0x3C, 0X6C, 0x7E, 0x0C, 0x0C, 0x00}, //four
{0x7E, 0x60, 0x7C, 0x06, 0x06, 0x66, 0x3C, 0x00}, //five
{0x1C, 0x30, 0x60, 0x7C, 0x66, 0x66, 0x3C, 0x00}, //six
{0x7E, 0x06, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x00}, //seven
{0x3C, 0x66, 0x66, 0x3C, 0x66, 0x66, 0x3C, 0x00}, //eight
{0x3C, 0x66, 0x66, 0x3E, 0x06, 0x0C, 0x38, 0x00}, //nine
};
dot_d = open(dot , O_RDWR);
if(dot_d<0)
{
printf("Error\n");
return 0;
}
for(i=0;i<10;++i)
{
write(dot_d , &num[i] , sizeof(num[i]));
sleep(1);
}
close(dot_d);
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 dot1.c -o dot1
3. Test
- 윈도우(메인 OS)로 실행파일 복사
- Tera Term에서 포트 설정 후 설정 -> 시리얼 포트 -> 속도를 115200으로 설정
- Hybus-Smart4412 장비 부팅
- 메뉴 -> 전송 -> ZMODEM -> 보내기 에서 실행파일 선택
- chmod 777 [실행파일명] (실행파일 권한 설정)
- ./[실행파일명] (실행 후 테스트)
(★중요 : 만약 소스파일을 수정 했다면 Tera Term 에서 먼저 rm [실행파일명] 을 한 뒤 다시 ZMODEM -> 보내기 에서 실행파일 선택 후 chmod 777 [실행파일명] 와 ./[실행파일명] 다시 실행)
'Embedded > Kernel Porting' 카테고리의 다른 글
[Kernel Porting] Dot matrix와 tactsw를 이용한 사칙연산 (0) | 2016.12.19 |
---|---|
[Kernel Porting] Dot matrix A~Z 찍어보기 (0) | 2016.12.19 |
[Kernel Porting] Dot matrix 점멸하기 (0) | 2016.12.19 |
[Kernel Porting] 0~9 , A~Z 디폴트값 확인하기 (0) | 2016.12.19 |
[Kernel Porting] Dip스위치를 이용한 LED 점멸 (0) | 2016.12.18 |