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/ARM2015. 2. 24. 09:04

크레마 터치

모토로라 모토 G

델 스트릭


모토로라 니네는 자회사인 freescale 칩 쓰는것도 아니면서 왜 SD를 쓰고 그래 -_-


[링크 : http://www.kpug.kr/kpugknow/1826161]

    [링크 : http://gyeo.egloos.com/279631]

    [링크 : http://gigglehd.com/zbxe/10931062#7]

[링크 : http://en.wikipedia.org/wiki/Dell_Streak] 델 스트릭

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

arm7l softfp hardfp fmac  (0) 2015.02.28
밑바닥에서 rootfs 생성하기  (0) 2015.02.26
eMMC / UFS / PCM(PRAM)  (0) 2015.02.20
arm linux patch  (0) 2015.02.20
gcc -lz 와 -z  (0) 2015.02.12
Posted by 구차니
embeded/ARM2015. 2. 20. 21:52

eMMC는 라즈베리 2나 비글본에서 옵션 품목으로 채용하고 있는데

기존의 Flash나 SD 메모리 보다는 안정적이고 빠른 녀석으로

SD 메모리가 컨트롤러는 CPU에서 내장하고 있는 반면, eMMC는 컨트롤러와 메모리를 하나의 패키징에 넣고

FLASH 메모리 처럼 쓰려는 접근 방법이다.

물론 FLASH 메모리 역시 소프트웨어적으로 wear leveling을 지원해야 하기에 상당히 번거로운 감이 없기에

SW와의 통합이 중요하고 어려운 난제인데

eMMC의 경우 이 모든 것을 하나의 칩으로 해결해 버리려는 목적을 가졌다고 해야 하려나?

요약하면... 즉.. 임베디드 세상에서의 SSD 드라이브?(자체적으로 Trim과 Wear leveling등을 지원하는?)


아무튼.. 이걸로도 부족해서

더 빠르고 좋은(!) UFS도 투입하려고 있는데..


eMMC

The eMMC (embedded MMC) architecture puts the MMC components (flash memory plus controller) into a small ball grid array (BGA) IC package for use in circuit boards as an embedded non-volatile memory system. eMMC doesn't support the SPI-bus protocol.


Almost all mobile phones and tablets use this form of flash for main storage. The latest version of the eMMC standard (JESD84-B501) by JEDEC is version 5.01, with speeds rivaling discrete SATA based SSDs (400 MB/s).


[링크 : http://en.wikipedia.org/wiki/MultiMediaCard#eMMC] eMMC

[링크 : http://en.wikipedia.org/wiki/Phase-change_memory] PCM

[링크 : http://en.wikipedia.org/wiki/Ferroelectric_RAM]


배워도 배워도 끝이 없구나 ㅠㅠ


[링크 : http://avenuel.tistory.com/2137] eMMC

[링크 : http://avenuel.tistory.com/2138] UFS



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

밑바닥에서 rootfs 생성하기  (0) 2015.02.26
SD 메모리를 메인 스토리지로 쓰는 녀석...들?  (0) 2015.02.24
arm linux patch  (0) 2015.02.20
gcc -lz 와 -z  (0) 2015.02.12
i.MX515 EVK 보드 CPU 활성화 내용  (0) 2015.02.10
Posted by 구차니
embeded/ARM2015. 2. 20. 21:31

음.. 찾아는 보는데..

공식적으로 3.x 대에 대한 커널은 존재하지 않는 걸려나?


[링크 : http://www.arm.linux.org.uk/developer/]

[링크 : http://www.arm.linux.org.uk/docs/kerncomp.php]

[링크 : ftp://ftp.arm.linux.org.uk/pub/armlinux/source/kernel-patches/]


비글본은 3.10.x 대 라는 듯?

[링크 : http://slowbootkernelhacks.blogspot.kr/2014/03/beaglebone-linux-kernel310x-programming.html]

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

[링크 : http://beagleboard.org/latest-images]


오잉? 3.x대 부터는 그냥 통합인가?!

[링크 : http://www.acmesystems.it/compile_linux_3_12_8]

Posted by 구차니
embeded/ARM2015. 2. 12. 15:00

-lz는 libz.so를 쓰라는거고

-z는 실수로 친건데

이상한 ld 파일을 끌어와서 하길래 멘붕와서 찾아봐도

이렇다할 설명이 없다.


아무튼.. -z text 라고 되어있고 이게 링커에게 옵션으로 던져주는것 같은데

-lz 대신 -z로 입력해서 그 뒤의 값이 링커에게 넘어갔던 것으로 생각된다.


-mimpure-text
-mimpure-text, used in addition to -shared, tells the compiler to not pass -z text to the linker when linking a shared object. Using this option, you can link position-dependent code into a shared object.

[링크 : http://linux.die.net/man/1/gcc]

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

eMMC / UFS / PCM(PRAM)  (0) 2015.02.20
arm linux patch  (0) 2015.02.20
i.MX515 EVK 보드 CPU 활성화 내용  (0) 2015.02.10
zedboard / cortex-A9 / Xilinx Zynq-7000 neon & vfpv3  (0) 2015.02.10
uboot.bin 아키텍쳐별 바이너리 차이점  (0) 2015.02.09
Posted by 구차니
embeded/ARM2015. 2. 10. 17:24

neon은 켜져있는데.. vfpv3는 안켜줬네?


$ LD_SHOW_AUXV=1 ls

AT_HWCAP:    swp half thumb fast-mult vfp edsp neon

AT_PAGESZ:       4096

AT_CLKTCK:       100

AT_PHDR:         0x8034

AT_PHENT:        32

AT_PHNUM:        10

AT_BASE:         0x2aaab000

AT_FLAGS:        0x0

AT_ENTRY:        0x9bf0

AT_UID:          1000

AT_EUID:         1000

AT_GID:          1000

AT_EGID:         1000

AT_SECURE:       0

AT_RANDOM:       0x7e9cf967

AT_EXECFN:       /bin/ls

AT_PLATFORM:     v7l


$ cat /proc/cpuinfo

Processor       : ARMv7 Processor rev 1 (v7l)

BogoMIPS        : 799.53

Features        : swp half thumb fastmult vfp edsp neon vfpv3

CPU implementer : 0x41

CPU architecture: 7

CPU variant     : 0x2

CPU part        : 0xc08

CPU revision    : 1


Hardware        : Freescale MX51 Babbage Board

Revision        : 51120

Serial          : 0000000000000000



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

arm linux patch  (0) 2015.02.20
gcc -lz 와 -z  (0) 2015.02.12
zedboard / cortex-A9 / Xilinx Zynq-7000 neon & vfpv3  (0) 2015.02.10
uboot.bin 아키텍쳐별 바이너리 차이점  (0) 2015.02.09
ARM assembly / coprocessor & NEON  (0) 2015.02.09
Posted by 구차니
embeded/ARM2015. 2. 10. 08:20

커널에서

Floating Poiint 관련 옵션을 빼면 커널 패닉이 나서 부팅이 안된다 -_-

그래서.. 커널에서 빼면 장비가 사용 불가능한지 테스트 불가 -_ㅠ


# cat /proc/cpuinfo

processor       : 0

model name      : ARMv7 Processor rev 0 (v7l)

BogoMIPS        : 1332.01

Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls

CPU implementer : 0x41

CPU architecture: 7

CPU variant     : 0x3

CPU part        : 0xc09

CPU revision    : 0


processor       : 1

model name      : ARMv7 Processor rev 0 (v7l)

BogoMIPS        : 1332.01

Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls

CPU implementer : 0x41

CPU architecture: 7

CPU variant     : 0x3

CPU part        : 0xc09

CPU revision    : 0


Hardware        : Xilinx Zynq Platform

Revision        : 0000

Serial          : 0000000000000000 


# LD_SHOW_AUXV=1 /bin/dd

AT_HWCAP:    swp half thumb fastmult vfp edsp neon vfpv3 tls

AT_PAGESZ:       4096

AT_CLKTCK:       100

AT_PHDR:         0x8034

AT_PHENT:        32

AT_PHNUM:        8

AT_BASE:         0xb6fc7000

AT_FLAGS:        0x0

AT_ENTRY:        0xe990

AT_UID:          0

AT_EUID:         0

AT_GID:          0

AT_EGID:         0

AT_SECURE:       0

AT_RANDOM:       0xbea33f12

AT_EXECFN:       /bin/dd

AT_PLATFORM:     v7l



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

gcc -lz 와 -z  (0) 2015.02.12
i.MX515 EVK 보드 CPU 활성화 내용  (0) 2015.02.10
uboot.bin 아키텍쳐별 바이너리 차이점  (0) 2015.02.09
ARM assembly / coprocessor & NEON  (0) 2015.02.09
neon / co-processor 그리고 MCR MRC p16  (0) 2015.02.09
Posted by 구차니
embeded/ARM2015. 2. 9. 14:13

CFLAGS에 주니 이상해서

CC = (CROSS_COMPILE)gcc -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp

주고 컴파일 후

$ readelf -a u-boot

로 확인해본 내용


$ readelf -a u-boot

Attribute Section: aeabi

File Attributes

  Tag_CPU_name: "5"

  Tag_CPU_arch: v5T

  Tag_ARM_ISA_use: Yes

  Tag_THUMB_ISA_use: Thumb-1

  Tag_ABI_PCS_wchar_t: 4

  Tag_ABI_FP_denormal: Needed

  Tag_ABI_FP_exceptions: Needed

  Tag_ABI_FP_number_model: IEEE 754

  Tag_ABI_align8_needed: Yes

  Tag_ABI_enum_size: int 


$ readelf -a u-boot

Attribute Section: aeabi

File Attributes

  Tag_CPU_name: "7-A"

  Tag_CPU_arch: v7

  Tag_CPU_arch_profile: Application

  Tag_ARM_ISA_use: Yes

  Tag_THUMB_ISA_use: Thumb-2

  Tag_FP_arch: VFPv3

  Tag_Advanced_SIMD_arch: NEONv1

  Tag_ABI_PCS_wchar_t: 4

  Tag_ABI_FP_denormal: Needed

  Tag_ABI_FP_exceptions: Needed

  Tag_ABI_FP_number_model: IEEE 754

  Tag_ABI_align_needed: 8-byte

  Tag_ABI_enum_size: int 


머.. 그렇게 한다고 해도.. neon이나 vfpv3가 활성화 되진 않네..

Posted by 구차니
embeded/ARM2015. 2. 9. 11:52


MRC는 R←C로

MCR은 C←R로


MCR 코프로세스번호, 0, 레지스터번호, Coprocessor 레지스터번호, c0, 0

MCR p15, 0, r4, c2, c0, 0

coprocessor 15번 2번 register에 r4 값을 전송

[링크 : http://recipes.egloos.com/5041803]


AND    논리 AND

ORR    논리 OR

EOR    논리 배타적 OR

BIC    논리 AND NOT

ORN    논리 OR NOT (Thumb-2에만 해당)

[링크 : http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0204ik/Cihdafai.html]


[링크 : http://dreamlog.tistory.com/221]

Posted by 구차니
embeded/ARM2015. 2. 9. 11:32


arm 에서 레퍼런스 확인중

NEON은 끄거나 켤수 있고

"NEON 옵션 없이 프로세서를 설정시,

모든 Advanced SIMD와 VFP 명령어의 시도의 결과는 정의되지 않은 명령어 예외발생이 된다."




MRC와 MCR 명령을 이용해서 코프로세서 p15 번에 명령을 주는데

여기서는 NEON을 비활성화 하는 것으로 보여진다.


CP15에 MRC/MCR 명령을 통해 Auxiliary Control Register에 접근할 수 있다.


뜬금(...?)없는 어셈블리 공부 하게 생겼구만 -_ㅠ

[링크 : http://infocenter.arm.com/help/topic/com.arm.doc.ddi0344k/DDI0344K_cortex_a8_r3p2_trm.pdf]

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

uboot.bin 아키텍쳐별 바이너리 차이점  (0) 2015.02.09
ARM assembly / coprocessor & NEON  (0) 2015.02.09
freescale imx515 neon  (0) 2015.02.02
ARM cortex-a8 neon 활성화 체크  (0) 2015.02.02
i.mx515 uboot cross compile  (0) 2015.02.02
Posted by 구차니