본문 바로가기

Robotics/Hardware Tech.

라즈베리파이 Compute Module 개발킷으로 eMMC Flash


Raspberry Pi Compute Module Development Kit의 eMMC에 Rasbian을 설치하기 위해서는 아래 링크된 내용대로 따라하면 된다.


https://www.raspberrypi.org/documentation/hardware/computemodule/cm-emmc-flashing.md


그런데, 문제는 본인이 사용하는 Windows 8 데스크탑에서는 드라이버를 업데이트해도 안된다.

Ubuntu 14.10에서는 


Waiting for BCM2835...


에서 멈춰있다. 인식이 안된다는 소리다.



그래서, 사용중이던 Odroid U3에서 실행하니 된다.

이유는 알 수 없지만, 위 링크된 글에서 나와있듯이 특정 USB 호스트에서는 안될 수 있다고 한다.


Note that there is a bug in the BCM2835 bootloader which returns a slightly incorrect USB packet to the host. Most USB hosts seem to ignore this benign bug and work OK, however we do see some USB ports that due to this bug do not work. We don't quite understand why some ports fail - it doesn't seem to be correlated with whether they are USB2 or USB3 (we have seen both types working) but is likely specific to the host controller and driver.


일단 가능한 장치에서는 이상없이 eMMC에 Rasbian을 올리는 것을 확인.


그런데 희한하게도 실수로 USB Slave Boot Enable 점퍼를 Disable로 해놨는데도 된다는 것.... 뭐지?





일단 정리해보면


1. I/O보드에서 USB SLAVE BOOT ENABLE 점퍼를 Enable쪽으로 셋팅

2. 호스트 컴퓨터(사용자의 리눅스머신 또는 윈도우 PC)에서 다음을 차례대로 입력

$ git clone --depth=1 https://github.com/raspberrypi/tools

$ cd tools/usbboot

$ sudo apt-get install libusb-1.0-0-dev

$ make

$ sudo make install

$ sudo rpiboot


3. 라즈베리파이 I/O 보드의 usb slave를 pc와 연결하고 전원을 꽂는다.

4. 장치가 인식된다.


Waiting for BCM2835 ...

Found serial = 0: writing file ./usbbootcode.bin

Waiting for BCM2835 ...

Found serial = 1: writing file ./msd.elf


5. raspbian 최신버젼을 다운로드 받는다.


$ wget http://downloads.raspberrypi.org/raspbian_latest raspbian.zip


6. 압축을 해제한다.


$ unzip raspbian.zip


7. 이미지를 eMMC에 write한다. (최신버젼에 따라 img파일명이 바뀔수 있음.)


$ sudo dd if=2015-05-05-raspbian-wheezy.img of=/dev/sda bs=4MiB




===================================

(2015. 6. 30)

윈도우와 리눅스 머신에서 연결이 원활하지 않아서 다른 오드로이드에 연결했더니 잘된다.

이유가 뭘까나...