embeded/ARM2015. 2. 28. 23:37

라즈베리의 cpuinfo에서 arm7l 이라고 나와서 검색


느낌으로는.. 걍 붙는 접두 같긴한데.. (armel armhf랑은 다르게)

h는 hard

t는 thumb

n은 neon의 스멜이... -_-a


Mer port nameOBS scheduler nameRPM architecturesOBS project name in MDSOBS repository name in MDSDescription
i486i586i486Core:i486Core_i486Generic i486+ X86 port
i586i586i586, i686Core:i586Core_i586SSSE3 enabled X86 port
x86_64x86_64x86_64Core:x86_64Core_x86_64Generic 64 bit port
armv6larmv7elarmv6lCore:armv6lCore_armv6lARMv6 + VFP port
armv7larmv7elarmv7lCore:armv7lCore_armv7lARMv7 VFPv3-D16 port, softfp ABI
armv7hlarmv8elarmv7hlCore:armv7hlCore_armv7hlARMv7 VFPv3-D16 port, hardfp ABI
armv7tnhlarmv8elarmv7hl, armv7nhl, armv7tnhl, armv7thlCore:armv7tnhlCore_armv7tnhlARMv7 VFPv3-D16 port, hardfp ABI, NEON, Thumb2
mipselmipsmipselCore:mipselCore_mipselMIPS32 O32 ABI port, hardfloat

[링크 : https://wiki.merproject.org/wiki/OBS_architecture_naming]


그리고 VFPv4 에서는 FMAC를 탑재하고

soft는 소프트웨어 부동소수점 흉내내기(에뮬레이션)

softfp는 소프트웨어적으로 흉내내는 방식을 따르나 자동으로 vfp 레지스터에 쓰도록 하고

hardfp는 vfp 하드웨어 레지스터에 바로 쓰도록 하는 차이가 있다고 한다.


Soft

  • Full software floating point - compiler should refuse to generate a real FPU instruction and -mfpu= is ignored.
  • FPU operations are emulated by the compiler
  • Function calls are generated to pass FP arguments (float, double) in integer registers (one for float, a pair of registers for double)


Softfp

  • To reiterate, function calls are generated to pass FP arguments in integer registers
  • Compiler can make smart choices about when and if it generates emulated or real FPU instructions depending on chosen FPU type (-mfpu=)
  • This means soft and softfp code can be intermixed


Hardfp

  • Full hardware floating point.
  • FP arguments are passed directly in FPU registers
  • Cannot possibly run without the FPU defined in -mfpu= (or a superset of the FPU defined, where relevant)
  • FPU instructions could be emulated by the kernel so that FPU-less systems could run with this ABI but as far as we know this does not exist
  • No function prologue or epilogue requirements for FP arguments, no pipeline stalls, maximum performance (just like in PowerPC and MIPS)

[링크 : https://wiki.debian.org/ArmHardFloatPort/VfpComparison]



FMAC는 Fused Multiply ACCumulator로

하드웨어로 구성된 다중 누산기 라고 해석하면 되려나?

[링크 : http://en.wikipedia.org/wiki/Multiply–accumulate_operation]

Posted by 구차니
embeded/raspberry pi2015. 2. 28. 16:56

지금까지 실험(?)해본 내용


2.5인치 USB HDD >>> 전력부족으로 틱틱틱 -_-a

하드는 아마도.. 3.5 인치 외장전원을 쓰던가 파워드 허브를 써야 할 듯



방열판

50도 -> 35도




USB 4개 있어서 외장 하드 4개 달려는 나의 음모는 이렇게 날아가고..

솔찍히 50도면 칩 보증 온도 내라서 상관없지만

그래서 산거니까 달아주니 마음이 평온해짐 ㅋㅋ


--


USB 3/4번 포트(아마도 랜에서 먼쪽?)은 smsc USB LAN과 하나의 허브를 공유함

랜은 usb to Ethernet

그리고 USB 는 100mA 까지만 전력을 공급이 가능하도록 되어있음


[링크 : http://ko.wikipedia.org/wiki/라즈베리_파이]


smsc LAN9512은

USB 2port hub + Fast Ethernet 칩이다


Two downstream ports, one upstream port

 — Two integrated downstream USB 2.0 PHYs

 — One integrated upstream USB 2.0 PHY

Integrated 10/100 Ethernet MAC with full-duplex support

Integrated 10/100 Ethernet PHY with HP Auto-MDIX


[링크 : http://ww1.microchip.com/downloads/en/DeviceDoc/9512.pdf]

'embeded > raspberry pi' 카테고리의 다른 글

라즈베리 빌드 관련  (0) 2015.03.01
라즈베리 파이 2 - NOOBS  (0) 2015.03.01
라즈베리 파이 2 audio 관련 config.txt 설정  (0) 2015.02.28
라즈베리 pi 2 - openELEC  (0) 2015.02.27
raspberry SD 메모리 구조  (0) 2015.02.27
Posted by 구차니
embeded/raspberry pi2015. 2. 28. 16:17

라즈베리 openELEC을 설치하면

HDMI로 연결했음에도 불구하고 소리가 나지 않는다 -_-


그래서 검색을 해보니...

hdmi_drive=2로 설정을 하라는데


이리저리 찾아보니.. 부트로더가 아니라 라즈베리 설정에 관련된 파일인 config.txt에 하라고 되어있다.

즉, 커널 인자로 넘기는게 아니란것!


################################################################################

#      This file is part of OpenELEC - http://www.openelec.tv

#      Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)

#      Inspired and partly copied from:

#  http://youresuchageek.blogspot.fr/2012/09/howto-raspberry-pi-openelec-on.html

#

#  OpenELEC is free software: you can redistribute it and/or modify

#  it under the terms of the GNU General Public License as published by

#  the Free Software Foundation, either version 2 of the License, or

#  (at your option) any later version.

#

#  OpenELEC is distributed in the hope that it will be useful,

#  but WITHOUT ANY WARRANTY; without even the implied warranty of

#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

#  GNU General Public License for more details.

#

#  You should have received a copy of the GNU General Public License

#  along with OpenELEC.  If not, see <http://www.gnu.org/licenses/>.

################################################################################

# Bootloader configuration - config.txt

################################################################################


################################################################################

# Memory (System/GPU configuration )

################################################################################


# default GPU memory split (do not change if you do not know what you are doing)

  gpu_mem=128


# SDRAM size based GPU memory split, uncomment and setup to override 'gpu_mem'

  gpu_mem_256=112

  gpu_mem_512=160

  gpu_mem_1024=256


################################################################################

# Overclocking settings

# WARNING: Do not change/enable if you do not know what you are doing!

#          The System may become unstable or you can have data corruption or

#          you can loose your warranty if you set wrong settings

#

# please read: http://elinux.org/RPi_config.txt#Overclocking_configuration

################################################################################


# Overclock mode settings.

#

# default recommended values are: arm_freq | core_freq | sdram_freq | over_voltage

# no overclocking               :    700   |    250    |    400     |      0

# mode 'Modest'                 :    800   |    300    |    400     |      0

# mode 'Medium'                 :    900   |    333    |    450     |      2

# mode 'High'                   :    950   |    450    |    450     |      6

# mode 'Turbo'                  :   1000   |    500    |    500     |      6


# arm_freq=700

# core_freq=250

# sdram_freq=400

# over_voltage=0


# set to 'force_turbo=1' to disable dynamic overclocking (you can lose your warranty!)

  force_turbo=0


# If you have any data corruption using Turbo Mode and overclocking

# try with this setting uncommented

# If this still fails, try to use Medium mode without "over_voltage=2"

# If it ultimately keeps failing, forget about this until it gets fixed

# Use a more conservative mode that will works fine in any cases:

# initial_turbo=30


################################################################################

# Overscan settings

################################################################################


# Make display smaller to stop text spilling off the screen

# see also http://www.raspberrypi.org/phpBB3/viewtopic.php?f=67&t=15700

# overscan_scale=1

# disable_overscan=1


# Adapt overscan values to your needs

# overscan_left=57

# overscan_right=59

# overscan_top=20

# overscan_bottom=20


################################################################################

# various settings see also: http://elinux.org/RPi_config.txt

################################################################################


# Force HDMI even if unplugged or powered off

# hdmi_force_hotplug=1


# Doesn't sent initial active source message.

# Avoids bringing CEC (enabled TV) out of standby and channel switch when

# rebooting.

  hdmi_ignore_cec_init=1


################################################################################

# License keys to enable GPU hardware decoding for various codecs

# to obtain keys visit the shop at http://www.raspberrypi.com

################################################################################


# decode_MPG2=0x00000000

# decode_WVC1=0x00000000

# decode_DTS=0x00000000

# decode_DDP=0x00000000


################################################################################

# End of default configuration

# all values below this line were inserted from config.txt.bk (your old config)

# and can be merged with the above values

################################################################################ 


그래서 hdmi_drive=2 로 설정하고 부팅을 하니

hdmi_drive chooses between HDMI and DVI modes


 hdmi_drive=1 Normal DVI mode (No sound)

 hdmi_drive=2 Normal HDMI mode (Sound will be sent if supported and enabled)


[링크 : http://elinux.org/RPiconfig]


HDMI 모니터에 연결하면 소리도 잘나오고 모두 happy~ 이긴한데!

DVI 모니터에 HDMI to DVI 케이블로 연결하면 화면이 안나온다!!!


아마 DMT 방식이라던가 이런 DVI 모니터에서 지원못하는 방식이라서 그런거 같은데

hdmi_group=0으로 하면 EDID로 받는다고 하니 문제가 있는 모니터가 아니라면 0으로 설정해주면 되지 않으려나?

hdmi_group defines the HDMI type

Not specifying the group, or setting to 0 will use the preferred group reported by the edid.


hdmi_group=1   CEA

hdmi_group=2   DMT


[링크 : http://elinux.org/RPiconfig] 


---

뜬금포 결론

DVI로 해서 처음 소리가 안난건

openELEC에서 audio 출력이 HDMI로 되어있고

라즈베리 OS 설정에서는 DVI로 모드로 되어 있어서 서로 엉긴것 -_-


일단 기본값으로는 DVI 출력에 HDMI 오디오 출력이므로

HDMI-DVI로 쓴다면 openELEC 설정에서 Audio 출력을 HDMI and Analogue 로 설정해주어야 한다.


그리고 HDMI로 사용한다면

hdmi_drive=2로 설정해주면 나머지는 설정할 사항이 없다.


System - Settings


System


Audio output - Audio output device HDMI and Analogue로 설정해주면 DVI 사용시 아날로그 출력이 된다.

[링크 : http://openelec.tv/forum/124-raspberry-pi/74408-problems-with-hdmi-audio-on-openelec-5-0]

Posted by 구차니
embeded/raspberry pi2015. 2. 27. 23:18

openELEC는 XBMC를 기반으로 하는 녀석으로

로그인 아이디는 root / openelec 이다.

[링크 : http://wiki.openelec.tv/index.php/OpenELEC_FAQ#SSH_Login]


일단 깔끔한 로고로 시작!


언어에 한글이 있는데 이걸로 하면 대참사.jpg


RTC가 없어서 랜선을 연결하지 않고 하면 이렇게

epoch로 설정되서 1970년으로 가게 된다.


한글로 설정한 여파 ㅋㅋ 나오는게 없어 -_-


암튼 부랴부랴 겨우겨우 찾아서 언어를 바꾸는데 하단의 OP / Cancel은 이미지인지 제대로 안나온다.

리부팅 해야 나오려나?


문제가 되었던 항목인데.

난 잘되는거 보면 실수로 이상하게 설정했던 것으로 보인다.

SYSTEM - OpenELEC - Connection


랜을 클릭해 Connect|Disconnect와 Edit이 나오는데


Connection Automatically가 꺼져있으면 랜이 자동으로 살아나지 않는다.



음.. 라즈비언 보다는 무언가 옵션이 좀 많이 활성화 되는 느낌?

Feature의 목록과 LD_SHOW_AUXV는 커널에서 출력하는 거고 인식하는 거니까..

커널 버전에 따라 혹은 패치에 따라 다르게 나오는 걸려나?

머 그래도.. bogoMIPS가 발바닥인건 여전하네 머...


OpenELEC:~ # cat /proc/cpuinfo

processor       : 0

model name      : ARMv7 Processor rev 5 (v7l)

BogoMIPS        : 38.00

Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm

CPU implementer : 0x41

CPU architecture: 7

CPU variant     : 0x0

CPU part        : 0xc07

CPU revision    : 5


Hardware        : BCM2709

Revision        : a21041

Serial          : 00000000a37ce24e


OpenELEC:~ # LD_SHOW_AUXV=1 ls

AT_HWCAP:        half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm

AT_PAGESZ:       4096

AT_CLKTCK:       100

AT_PHDR:         0x8034

AT_PHENT:        32

AT_PHNUM:        9

AT_BASE:         0x76f7b000

AT_FLAGS:        0x0

AT_ENTRY:        0xc984

AT_UID:          0

AT_EUID:         0

AT_GID:          0

AT_EGID:         0

AT_SECURE:       0

AT_RANDOM:       0x7edfae68

AT_HWCAP2:

AT_EXECFN:       /bin/ls

AT_PLATFORM:     v7l


아무튼 설정된 아이피로 웹접속하면

이런게 뜨는데 무언가.. 다른 탭들은 안들어 가지는 느낌이고


putty를 이용 ssh에

root / openelec으로 로그인 할 수 있다.



그나저나 열은 50도 정도인데...

PC USB에 연결해서 전력부족인지..

동영상 틀거나 하면 심각하게 느려진다 -_ㅠ


나중에 2A 짜리 전원을 직결해서 해봐야 하나?


+

2015.02.28

라즈베리 파이 1용 펌웨어를 파이2에 넣었더니

HDMI 출력만 나오고 부팅이 진행되지 않는다.

시리얼을 켜보고 로그를 보지 않으면 방법이 없을 듯


아무튼 openELEC이 업데이트 파일을 제공하지만

커널 레벨에서 아주 분리해버린 느낌이라.. 실질적으로 두개의 커널 호환성은 없다고 보여진다.

Posted by 구차니
embeded/raspberry pi2015. 2. 27. 22:41

raspbian

openelec 구우려고 raspian으로 구운녀석 한번 꽂아봤다가

문득 생각이 나서 한번 확인해보니

나의 사랑스런 8GB 하드가 이렇게 보이네?


무려 56메가!!! -_-????


파티션 정보를 보니

boot 영역으로 56MB씩이나 할당해주는 여유!를 보이고

느끼으로는.. 원래 3기가 짜리 이미지로 되어 있던 것으로 보인다.

그러니까.. 이렇게 8기가 중에 4.4기가가 버려졌겠지?


FAT로 설정된 boot 영역은

커널.img 라... 멀 어떤식으로 부팅하는 걸려나?

나중에 다시 구워서 리눅스에서 좀더 세밀하게 파티션 정보를 봐야 알것 같지만


bcm2709-rpi-2-b.dtb 파일을 열어보니 웬지 모를 uboot의 스멜?

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait


아마도 bootcode.bin이 부트로더 같고.. 커널은 커널이고

kernel7.img는 라즈베리 2용 armv7용 커널로 생각된다.


그나저나.. start*.elf는 정체가 머지?


---

openELEC


raspbian보다는 단순한데

dtb 가 데이터나 바이너리로 바뀌고

cmdline.txt에 디스크 설정내용이 있다.

그나저나. p1이 boot p2가 disk 라는데

boot=/dev/mmcblk0p1 disk=/dev/mmcblk0p2 quiet 



암만봐도.. p2가 rootfs + xbmc 라고 하기에는 너무 적어 보이는데..

p1의 SYSTEM이 rootfs 같기도 하고? 



아무튼

start*.elf는 부트로더

cmdline.txt 나 *.dtb는 부트로더 환경파일

kernel.img는 커널

파티션 2는 rootfs로 라즈베리 파이가 구성되는 것으로 보인다.

Posted by 구차니
embeded/raspberry pi2015. 2. 26. 22:27

하드웨어 ::

일단은.. 5V 2A 어댑터를 먼저 구해야겠구나 -_ㅠ

그리고 900MHz / 450MHz가 기본이고

라즈비안으로는 700MHz / 400MHz 으로 다운클럭해서 사용되는게 기본값으로 보인다.


[링크 : http://www.element14.com/.../raspberry-pi-2-model-b-frequently-asked-questions-faqs...whsoftware]

[링크 : http://www.element14.com/community/community/raspberry-pi]


하드웨어 정보 링크는 있는데.. 핀배열도 라즈베리 2도 동일한건지 알 방법이 없다.

[링크 : http://www.raspberrypi.org/documentation/hardware/README.md]


언급된 내용으로는 Pi 1(Model B+)와 동일한 폼팩터와 호환성을 지닌다는거 보면

B+를 기준으로 Pinout을 보면 될 것으로 보인다.

The Raspberry Pi 2 has an identical form factor to the previous (Pi 1) Model B+ and has complete compatibility with Raspberry Pi 1

[링크 : http://www.raspberrypi.org/products/raspberry-pi-2-model-b/]


오디오 잭은 4극으로 L/R/C/G 순서로 연결이 된다.

콤포짓 비디오니까.. 그럼 듀얼 모니터 사용이 가능하려나?


GPIO 쪽은 설명이 무언가 많이 부실...

SPI / UART / I2C 정도 밖에 안보이는 기분...



[링크 : http://www.raspberrypi.org/.../Raspberry-Pi-B-Plus-V1.2-Schematics.pdf]


라즈베리 R1 R2의 핀 배열 음.. B+는 어디서 찾지?

[링크 : http://www.megaleecher.net/Raspberry_Pi_GPIO_Pinout_Helper]


구글느님 만세!

B+에서는.. PWM이 사라진건가?!


구매한 업체가 여기니까.. 이게 확실할듯?


[링크 : http://www.element14.com/community/docs/DOC-68203/l/raspberry-pi-b-gpio-40-pin-block-pinout#]


윈도우즈 10

윈도우즈 10 IoT 버전은 공짜! 단, 가입은 필수

(내 msn 아이디로 되려나...)

[링크 : http://dev.windows.com/ko-kr/featured/raspberrypi2support]

'embeded > raspberry pi' 카테고리의 다른 글

라즈베리 pi 2 - openELEC  (0) 2015.02.27
raspberry SD 메모리 구조  (0) 2015.02.27
라즈베리 2 시작! - raspbian  (0) 2015.02.26
으헤헤헤헤 라즈베리 2  (0) 2015.02.26
라즈베리 파이 2 구매!!  (0) 2015.02.25
Posted by 구차니
embeded/ARM2015. 2. 26. 22:08

예전에 dd로 부팅디스크 만들어 보려다 실패했는데..

한번 다시 도전해 봐야겠다?


[링크 : http://www.tldp.org/HOWTO/Bootdisk-HOWTO/buildroot.html]

[링크 : https://wiki.ubuntu.com/ARM/RootfsFromScratch]

'embeded > ARM' 카테고리의 다른 글

bogoMIPS가 너무 낮게 나오네  (0) 2015.03.03
arm7l softfp hardfp fmac  (0) 2015.02.28
SD 메모리를 메인 스토리지로 쓰는 녀석...들?  (0) 2015.02.24
eMMC / UFS / PCM(PRAM)  (0) 2015.02.20
arm linux patch  (0) 2015.02.20
Posted by 구차니
embeded/raspberry pi2015. 2. 26. 20:33

일단 펌웨어(?) 다운로드

정확하게는 OS 이미지라고 해야겠지만 귀찮으니까?!


[링크 : http://www.raspberrypi.org/downloads/]


설치법은 dd로 밀어 넣으면 되는 img 파일이다.

다운로드 시간은 대략 Raspbian/라즈비안 1기가 약 10분

snappy ubunutu/우분투 700메가 약 5분 걸린다.


라즈비안은 pi / raspberry

우분투는 ubuntu / ubuntu 가 로그인 계정이다.



압축풀면 3GB에 달하는 이미지가 나오니까 

SD 메모리도 4GB microSD 로 최소한 구매를 해야 한다.


메뉴얼에는 라즈비안 기준으로 기본 계정이 적혀있으니 참고!

[링크 : http://www.raspberrypi.org/documentation/installation/installing-images/README.md]

  [링크 : http://www.raspberrypi.org/documentation/installation/installing-images/linux.md]

  [링크 : http://www.raspberrypi.org/documentation/installation/installing-images/windows.md]


일단.. SD 메모리와 리더가 없으니 하나 구매!

오프매장에서 사서 좀 비싼게 바로 가지고 놀고 싶으니.. ㅠㅠ 끄응

아무튼.. 트래센드 8GB 로도 부팅이 되니 문제 없음! SDHC까지는 인식되나 보다


+

2015.05.23

머야 다시 보니 SD 메모리 자체에 써있는건 class 10 -_-

케이스랑 안맞네?! ㄷㄷㄷ

+


SD가 생겼으니 굽자굽자!


윈도우에서는 sourceforgr의 win32 disk imager 라고 해서 dd 의 윈도우 버전 같은걸 제공하는데 나름 빠르고 쓸만한듯?

트레센드 class 6 8GB를 사용했는데 16MB/s 최대라서 굽는데 대략 5분 걸린듯(3기가를 이렇게 빠르게 굽다니 ㄷㄷ)

[링크 : http://sourceforge.net/projects/win32diskimager/]


아무튼

SD 메모리 굽고

HDMI / microUSB 케이블 데탑 본체에 연결하니! 뚜둥!

유윳빛깔 라.즈.베.리!



음.. 이런저런 설정을 하라고 하는데 귀찮으니 그냥 Finish 하려다가


남자를 끌어 드리는 마력의 키워드 7. Overclock!!!!

기본값은 None 700MHz / 250MHz / 400Mhz 인데

생각해보니까... Modest 정도 까진 해볼걸 그랬나?


8. Advanced Options는 별건 없..(?)다

각종 주변기기 설정이랑 SSH 정도?

아.. A3 Memory Split을 안봤구나 ㅠㅠ

이건 PC에서 내장 메모리를 사용할때 GPU에 얼마의 RAM을 할당 해줄지 결정하는 것과 같은 설정이라고 한다.


위에서 Finish 하면 그냥 로그인 한채로 떨어지고

다음번 리부팅 시에는 pi / raspberry로 로그인 해야한다.


끄응.. BogoMIPS는 38.40 측정법이 잘못되었나 먼가 잘못되었나.. 왜케 저조해?

암튼 LD_SHOW_AUXV 플래그에 의하면 vfp vfpv3 neon이 활성화!! 우오옹!!

(이거 하나 보려고 산거 같은 기분인데 -_-a)


startx 로 Xwindow도 구동했는데..

생각해보니 마우스를 연결안했네 -_-

윈도우키(리눅스에서는 Super) 누르면 Menu 눌리니까 적당히 종료 ㅠㅠ)


오늘은 요기까지~

'embeded > raspberry pi' 카테고리의 다른 글

raspberry SD 메모리 구조  (0) 2015.02.27
라즈베리 2 하드웨어 관련 정보 및 win10 IoT  (0) 2015.02.26
으헤헤헤헤 라즈베리 2  (0) 2015.02.26
라즈베리 파이 2 구매!!  (0) 2015.02.25
망했어요 -_-  (6) 2015.02.24
Posted by 구차니
embeded/raspberry pi2015. 2. 26. 17:49

횡격막을 두드리는 소리!!1 ㅋㅋ

그나저나 패키징 깔끔하게 잘 만든듯?


앜ㅋ 앙대 내얼굴이 보이잖아 ㅠㅠ

메뉴얼은 무려!!!! 10개국어 넘게 되어있다 ㄷㄷ


아이이뽀 케이스에 고정도 안하고 그냥 넣어두기만 했는데

이~~ 뻐~~~ ㅋㅋ


---

그나저나.. 크롬에서는 깨지는 나쁜 녀석들 흑 ㅠㅠ

(해상도 문제였나.. 브라우저를 좌우로 크게 켜주면 문제없다 --a)

암튼! OS 배포된 것들 중 라즈베리 1만 쓸수 있는 녀석도 있으니 적당히 골라서 써야 하고

로그인 계정은 default login에 써있으니 참고해야 한다.



Posted by 구차니
embeded/raspberry pi2015. 2. 25. 21:01

와라와라와라!!!



근데 생각해보니까..

나 microSD 리더랑

microSD가 없다? -_ㅠ

Posted by 구차니