
이번에는 보유하고 있는 OrangePI에서 사용 할 U-Boot를 크로스 컴파일을 진행 해 보고자 합니다. U-Boot에는 정말 다양한 기능을 가지고 있어, 일일이 설명하기에는 다소 내용이길어지기 때문에 OrangePI에서 꼭 필요한 것만 설명 하고자 합니다. 제가 가지고 있는 OrangePI One Board는 EMMC Nand Flash 메모리가 없는 관계로,기본적인 스토리지는 SD Card를 사용합니다. 때문에 U-Boot의 설정을 SD Card로 Booting 하도록 설정해야 하나U-Boot에는 이미 OrangePI One에 대한 설정들이 미리 준비 되어 있어서 간단하게 Compile 할 수 있습니다. Cross Compile에 대한 환경 설정이 이미 준비된 상태에서 설명 합니다.만약 없다면, 제..

얼마전 알X에서 구매한 Relay Board입니다.수경재배 시스템 만들어 보겠다고 참~ 별짓 다 합니다. ㅎㅎ 알X는 정말 어마 무시한 가격에 판매 하네요... 저 부품을 무엇에 사용하려고 하면... 아래 그림을 보시면 됩니다. 바로 환풍기 하고 워터펌프를 제어 하기 위함 입니다. SBC Board는 리눅스 기반의 임베이디드 보드 입니다.기존 보유중인 OrangePI one 이라는 제품으로 자세한 설명은 제 게시글에 있습니다. 저희집에는 어항도 있어서 습도가 어제 저녁에는 60% 까지 올라 오더군요.그래서 환풍기를 가동 할 필요가 있어서 그림처럼 연결 할 예정 입니다. 온도/습도 센서를 이용 하여 정보를 수집하고 습도의 46%가 넘어가게 되면자동으로 환풍기를 작동 시키기 위함 입니다. 차후에는 Relay..

제가 준비중인 수경재배 시스템 예상 구성도 입니다.OrangePI Board는 저의 다른 게시물에 이미 소개 되어 있습니다. 간단하게 ARM 32Bit 기반 SBC (Single-board computer) 입니다.쉽게 말하면 Embeded 입니다. 우리가 쉽게 사용하는 스마트폰 이나 공유기 등등이 모두 Embeded 입니다. 그림을 보시면 이미 OrangePI, PCA9548에 대해서는 저의 게시물에 소개글이 있습니다. 쉽게 설명 드리면 OrangePI board를 통해 PCA9548 Board와 연결하여 각종 센서를 연결하여각각의 정보를 수집하고, 수집된 정보를 통해 워터펌프와 공기순환기를 동작 시키게 됩니다. 물론 수집된 정보들은 OrangePI내에 구성된 Database에 저장되게 됩니다.이래야..

Mount전에 먼저 확인 할 것이 있습니다.Disk Image파일이기 때문에 파티션 정보를 먼저 확인 해 봐야 합니다. 파티션 정보를 확인 하기 위해서 parted 유틸리티를 사용 할 것 입니다.만약 parted이 없다면 우분투를 기준으로 아래 명령으로 설치 하면 됩니다.sudo apt-get install parted 이제 Disk Image File을 파티션 정보를 확인해 봅니다.parted ./OrangePi_one_ubuntu_xenial_desktop_linux5.3.5_v1.0.img 특별한 Error가 발생하지 않았다면, 아래의 그림처럼 표시가 됩니다. 이제 화면에 파티션 정보를 표시 하기 전에 표시될 용량 표시단위를 byte 단위로 표시 되도록 설정 합니다.(parted) unit B 파티..

Linux의 ramdisk의 RootFile System의 디렉토리를 구성한 후에는 디렉토리내 내에서 다음 아래 실행find . | cpio -H newc -o | gzip -c > ../Initrd.gzInitrd.gz 파일이 생성되면 u-boot가 포함된 gzip으로 압축.mkimage -n 'uboot ramdisk rootfs' -A arm -O linux -T ramdisk -C gzip -a 0 -e 0 -d Initrd.gz uInitrduInitrd 파일이 최종적인 RooFile System 파일이 됩니다.생성된 uInitrd 의 Header정보를 확인 합니다. mkimage -l uInitrd

VirtualBox에서 SD CARD를 인식 시킨 후 어느 순간 부터게스트 OS인 Linux에서 SD Card의 Disk 오류를 발생 시켜 버렸습니다.OS에서 SD Card인 /dev/sdb에 대하여 I/O Error가 계속 발생되어 증상확인을 해봅니다.위 그림에서 보듯이 SD CARD의 DeviceID가 변경 되었습니다.이제 원인을 알았으니, 수정을 합니다.이전에 생성한 sdcard.vmk 파일을 Editer로 열어 봅니다.# Disk DescriptorFileversion=1CID=d5b47e18parentCID=ffffffffcreateType="fullDevice"# Extent descriptionRW 62333952 FLAT "\\.\PHYSICALDRIVE1" 0 파일내용의 DeviceID명..

config 파일 설정kernel을 대상 board 또는 CPU 사양에 따라 config 파일을 설저해야 합니다.다행히 OrangePI에 대하여 Kernel이 지원되기 때문에 간단 하게 해결 할수 있습니다. 아래와 같이 make를 수행 합니다.make distcleanmake sunxi_defconfig sunxi_defconfig 은 arm cpu의 H3에 대한 설정 입니다.지원되는 H/W 관련 설정이 자동으로 됩니다. Kernel Cross Compilemake zImage Cross Compiler에 의해 arm 32bit의 Linux Kernel이 생성되고, zImage 이란 이름으로 Kernel 이 압축됩니다. 다음 아래의 경로에 Compile된 zImage 파일이 생성 됩니다.cd ./arch..
H/W Spec 이다. 거의 Android 폰 Spec수준이다.이제 Nand Flash에 Android O/S를 Write를 하기 위해서는 Write용 프로그램이 필요하다.Windows용과 Linux용이 있는데 Windows 10에서는몇가지 지랄 같은 준비 작업이 필요 하다.첫번째는 Nand Flsh에 Write하기 위한 Cable이 필요한데, 문제는 이 Cable이 USB라는 점이다.왜 USB가 문제인가 하면 바로 Windows 용 Driver 때문이다. USB인식을 위해 Write 프로그램에서 제공되는 Driver에 Driver서명이 없기 때문에 O/S에서 설치거부 한다.이문제를 해결하기 위해서는 복구모드로 부팅후 부팅옵션으로 Driver서명 확인 무시 하도록 해야 한다.그후 Driver를 설치 가..
- Total
- Today
- Yesterday
- arm
- 사무실
- 리눅스
- embeded
- 커널
- 베란다
- 식물키우기
- 버추얼박스
- cross compile
- 식물
- 1회용컵
- GCC
- 크로스컴파일
- 여행
- C++
- kernel
- CubieBoard2
- 1회용
- 임베이디드
- 수경재배
- 식물 키우기
- 채소 키우기
- 벌교
- 커피컵
- Linux
- Android
- 고흥
- C
- 상추
- 큐비보드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |