embeded/raspberry pi2015. 5. 12. 20:10

기존에 테스트 하던건 5.0.4 였네

좀 달라졌으려나...



2015년 3월 31일 릴리즈 버전이다.

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

어허허 파워드 허브를 사야하나? -_-  (0) 2015.05.23
openelec 5.0.8 lirc 활성화 확인  (0) 2015.05.12
wiring Pi  (0) 2015.05.12
UHS 지원여부?  (0) 2015.05.11
cortex-a7 / NEON 그리고.. 멀티프로세서  (0) 2015.05.07
Posted by 구차니
Programming/Java2015. 5. 12. 16:19

문득 수다 떨다가 검색 -_-

야이!!! FXXKIING 오라클!!!


Is Java still free?

The current version of Java - Java SE 8 - is free and available for redistribution for general purpose computing. Java SE continues to be available under the Oracle Binary Code License (BCL) free of charge. JRE use for embedded devices and other computing environments may require a license fee from Oracle. Read more about embedded use of Java SE or contact your local Oracle sales representative to obtain a license.

[링크 : http://www.oracle.com/technetwork/articles/javase/faqs-jsp-136696.html]


So What Does Java SE-Embedded Cost?


The universal answer to such a question is: it depends.  That is to say it depends upon the capability of the embedded processor.  Before we lose you, let's show the list price for Java embedded licensing associated with three platforms and then explain how we arrived at the numbers.  As of the posting of this entry, 06 December, 2013, here they are:


Per-unit cost for a Raspberry Pi: US $0.71

Per-unit cost for system based on Intel Atom Z510P: US $2.68

Per-unit cost for a Compulab Trim-Slice: US $5.36

[링크 : https://blogs.oracle.com/jtc/entry/java_embedded_pricing_publicly_available]

'Programming > Java' 카테고리의 다른 글

Java SE 8 설치해보려고 했더니..  (2) 2019.01.03
자바 유료화?  (10) 2018.11.05
predefined annotation /java  (0) 2014.06.27
JUnit tutorial  (0) 2014.06.27
java unchecked/checked exception  (0) 2014.05.15
Posted by 구차니
Programming/C Win32 MFC2015. 5. 12. 14:44

프로젝트에서 inline 함수를 다른 파일로 뺴서 하니

없는 함수라고 배째는 현상 발생 -_-


일단 __inline 키워드 빼니 해결되긴 한데..

extern __inline 이렇게 안해줘서 그런가?


[링크 : http://stackoverflow.com/questions/5229343/how-to-declare-an-inline-function-in-c99-multi-file-project]


KEIL

[링크 : http://www.keil.com/forum/13177/]

'Programming > C Win32 MFC' 카테고리의 다른 글

gcc 컴파일러 -D 옵션  (0) 2015.05.19
setjmp, longjmp  (0) 2015.05.19
혼돈의 카오스 - 교차참조 헤더  (0) 2015.05.11
#ifdef 와 #ifdef ()의 차이  (0) 2015.04.13
winUSB / win32 physical drive  (0) 2014.12.23
Posted by 구차니
embeded/raspberry pi2015. 5. 12. 13:03


기본 통합된건 없는것 같긴한데..

라즈베리 파이용 GPIO 컨트롤 라이브러리 라고 하면 되려나?

[링크 : http://wiringpi.com/download-and-install/]


pi4j는 wireing PI의 자바버전

[링크 : http://pi4j.com/]



void pinMode (int pin, int mode) ;

void pullUpDnControl (int pin, int pud) ;

void digitalWrite (int pin, int value) ;

void pwmWrite (int pin, int value) ;

int digitalRead (int pin) ;

analogRead (int pin) ;

analogWrite (int pin, int value) ;

[링크 : http://wiringpi.com/reference/core-functions/]

[링크 : http://wiringpi.com/reference/raspberry-pi-specifics/]

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

openelec 5.0.8 lirc 활성화 확인  (0) 2015.05.12
openELEC 5.0.8  (0) 2015.05.12
UHS 지원여부?  (0) 2015.05.11
cortex-a7 / NEON 그리고.. 멀티프로세서  (0) 2015.05.07
라즈베리 파이 2- 라즈비안 lirc  (0) 2015.05.05
Posted by 구차니
embeded/raspberry pi2015. 5. 11. 14:41


라즈베리에서는 UHS SD 스펙을 지원하지 않는건가?


[링크 : http://www.hardkernel.com/main/products/prdt_info.php]


일단.. SD 위원회 자료로는 UHS SD 카드라고 해도 장비에서 지원하지 않으면

Class 10 으로 하향 접속이 되는 것으로 보인다.

[링크 : https://www.sdcard.org/developers/overview/speed_class/]

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

openELEC 5.0.8  (0) 2015.05.12
wiring Pi  (0) 2015.05.12
cortex-a7 / NEON 그리고.. 멀티프로세서  (0) 2015.05.07
라즈베리 파이 2- 라즈비안 lirc  (0) 2015.05.05
BCM2708/BCM2835 ???  (0) 2015.04.30
Posted by 구차니
Programming/C Win32 MFC2015. 5. 11. 12:49

이번에 코드 재정비 중인데...

어우.. 정말 교차참조 하지 않도록 짜아야

수많은 ifdef의 향연에 꼬이는 바람에 뇌가 꽈직꽈직



아무튼 헤더도 계층을 만들어서 하던가 해야지

상호 교차참조 하는 상황에서는 예측 불가능한 상황이 발생할 수 있다.


헤더 중복 방지

[링크 : http://chanywa.com/8]


헤더 hierarchy

[링크 : http://ekessy.tistory.com/33]

'Programming > C Win32 MFC' 카테고리의 다른 글

setjmp, longjmp  (0) 2015.05.19
inline 함수..  (0) 2015.05.12
#ifdef 와 #ifdef ()의 차이  (0) 2015.04.13
winUSB / win32 physical drive  (0) 2014.12.23
printf POSIX 확장 %1$d  (0) 2014.12.09
Posted by 구차니
하드웨어/Storage2015. 5. 8. 14:42

기본 설정은 다운로드 완료시 업로드 중지

하드 수명이 딿은 걱정은 안해도 되려나?

역으로. 시드 유지하려면 반드시 이 부분은 설정해서 풀어주어야 할 것으로 보인다.




+

기가비트 버텨줄수 있는 녀석인 만큼

100Mbps 급의 토렌토 다운로드는 보장한다.

'하드웨어 > Storage' 카테고리의 다른 글

win7 + synology NAS iSCSI 연동  (0) 2015.05.14
synology DSM 5.2-5565 업데이트  (0) 2015.05.12
synology DS213j 보안 어드바이저  (0) 2015.05.08
ds213j file station 스트리밍  (0) 2015.05.06
synology DS213J가 더 빠른가..?  (0) 2015.05.03
Posted by 구차니
하드웨어/Storage2015. 5. 8. 13:27

오홍 별걸 다 제공하네


일단 기본적인 보안수준을 위해서 돌려보는게 좋긴한데

집에서만 쓰는거라 조금 과도하지 않아 싶을 정도?

계정이야 아내도 써야 하니 편하게 해둔 탓이고..

네트워크는 집에서 혼자 접속하니 22번으로 SSH를 놔둬서 -_-a



아무튼 보안이라는건 신경쓸게 많아서 문제인데

기본적인 가이드 라인을 제시해주는 것 만큼은 칭찬할만한 부분일듯.

Posted by 구차니
embeded/raspberry pi2015. 5. 7. 10:20

그림 상으로는 프로세서 코어 별로 NEON과 VFP가 독립적으로 내장되어 있는데..

4코어니까

openMP로 4 프로세스를 프로세서 별로 돌리면서 각각 NEON을 돌리는게 가능하려나?




[링크 : http://www.arm.com/products/processors/cortex-a/cortex-a7.php]

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

wiring Pi  (0) 2015.05.12
UHS 지원여부?  (0) 2015.05.11
라즈베리 파이 2- 라즈비안 lirc  (0) 2015.05.05
BCM2708/BCM2835 ???  (0) 2015.04.30
라즈베리 파이 SoC 관련  (0) 2015.04.29
Posted by 구차니
Programming/neon2015. 5. 6. 22:01

arm-none-linux-gnueabi-gcc -mfpu=neon -ftree-vectorize -c vectorized.c

플래그로 tree-vectorize를 주고

소스에서 __restrict 하면 gcc에서 알아서 neon 코드를 생성해 낸다고 한다.

openmp 를 조금 해봐서 그런가..openmp의 스멜이야 ㅋㅋㅋ


$ vi auto.c

void add_ints(int * __restrict pa, int * __restrict pb, unsigned int n, int x)

{

    unsigned int i;


    for(i = 0; i < (n & ~3); i++)

        pa[i] = pb[i] + x;

}


$ arm-linux-gnueabihf-gcc -mfpu=neon -ftree-vectorize -c auto.c

$ arm-linux-gnueabihf-objdump -D auto.o


auto.o:     file format elf32-littlearm


Disassembly of section .text:

00000000 <add_ints>:
   0:   e52db004        push    {fp}            ; (str fp, [sp, #-4]!)
   4:   e28db000        add     fp, sp, #0
   8:   e24dd01c        sub     sp, sp, #28
   c:   e50b0010        str     r0, [fp, #-16]
  10:   e50b1014        str     r1, [fp, #-20]
  14:   e50b2018        str     r2, [fp, #-24]
  18:   e50b301c        str     r3, [fp, #-28]
  1c:   e3a03000        mov     r3, #0
  20:   e50b3008        str     r3, [fp, #-8]
  24:   ea00000e        b       64 <add_ints+0x64>
  28:   e51b3008        ldr     r3, [fp, #-8]
  2c:   e1a03103        lsl     r3, r3, #2
  30:   e51b2010        ldr     r2, [fp, #-16]
  34:   e0823003        add     r3, r2, r3
  38:   e51b2008        ldr     r2, [fp, #-8]
  3c:   e1a02102        lsl     r2, r2, #2
  40:   e51b1014        ldr     r1, [fp, #-20]
  44:   e0812002        add     r2, r1, r2
  48:   e5921000        ldr     r1, [r2]
  4c:   e51b201c        ldr     r2, [fp, #-28]
  50:   e0812002        add     r2, r1, r2
  54:   e5832000        str     r2, [r3]
  58:   e51b3008        ldr     r3, [fp, #-8]
  5c:   e2833001        add     r3, r3, #1
  60:   e50b3008        str     r3, [fp, #-8]
  64:   e51b3018        ldr     r3, [fp, #-24]
  68:   e3c32003        bic     r2, r3, #3
  6c:   e51b3008        ldr     r3, [fp, #-8]
  70:   e1520003        cmp     r2, r3
  74:   8affffeb        bhi     28 <add_ints+0x28>
  78:   e24bd000        sub     sp, fp, #0
  7c:   e49db004        pop     {fp}            ; (ldr fp, [sp], #4)
  80:   e12fff1e        bx      lr

Disassembly of section .comment:

00000000 <.comment>:
   0:   43434700        movtmi  r4, #14080      ; 0x3700
   4:   6328203a        teqvs   r8, #58 ; 0x3a
   8:   73736f72        cmnvc   r3, #456        ; 0x1c8
   c:   6c6f6f74        stclvs  15, cr6, [pc], #-464    ; fffffe44 <add_ints+0xfffffe44>
  10:   20474e2d        subcs   r4, r7, sp, lsr #28
  14:   616e696c        cmnvs   lr, ip, ror #18
  18:   312d6f72        teqcc   sp, r2, ror pc
  1c:   2e33312e        rsfcssp f3, f3, #0.5
  20:   2e342d31        mrccs   13, 1, r2, cr4, cr1, {1}
  24:   30322d38        eorscc  r2, r2, r8, lsr sp
  28:   302e3431        eorcc   r3, lr, r1, lsr r4
  2c:   202d2031        eorcs   r2, sp, r1, lsr r0
  30:   616e694c        cmnvs   lr, ip, asr #18
  34:   47206f72                        ; <UNDEFINED> instruction: 0x47206f72
  38:   32204343        eorcc   r4, r0, #201326593      ; 0xc000001
  3c:   2e333130        mrccs   1, 1, r3, cr3, cr0, {1}
  40:   20293131        eorcs   r3, r9, r1, lsr r1
  44:   2e382e34        mrccs   14, 1, r2, cr8, cr4, {1}
  48:   30322033        eorscc  r2, r2, r3, lsr r0
  4c:   31303431        teqcc   r0, r1, lsr r4
  50:   28203630        stmdacs r0!, {r4, r5, r9, sl, ip, sp}
  54:   72657270        rsbvc   r7, r5, #112, 4
  58:   61656c65        cmnvs   r5, r5, ror #24
  5c:   00296573        eoreq   r6, r9, r3, ror r5

Disassembly of section .ARM.attributes:

00000000 <.ARM.attributes>:
   0:   00003241        andeq   r3, r0, r1, asr #4
   4:   61656100        cmnvs   r5, r0, lsl #2
   8:   01006962        tsteq   r0, r2, ror #18
   c:   00000028        andeq   r0, r0, r8, lsr #32
  10:   06003605        streq   r3, [r0], -r5, lsl #12
  14:   09010806        stmdbeq r1, {r1, r2, fp}
  18:   0c030a01        stceq   10, cr0, [r3], {1}
  1c:   14041201        strne   r1, [r4], #-513 ; 0x201
  20:   17011501        strne   r1, [r1, -r1, lsl #10]
  24:   19011803        stmdbne r1, {r0, r1, fp, ip}
  28:   1b021a01        blne    86834 <add_ints+0x86834>
  2c:   1e011c03        cdpne   12, 0, cr1, cr1, cr3, {0}
  30:   Address 0x00000030 is out of bounds.


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


엥? vadd 라던가 이런류의 코드는 안보이는데 -ㅁ-?

라즈베리 파이용 컴파일러가 문제인가?


음.. 해도 안되는데 -ㅁ-? auto vertorize는 안되는건가? ㅠㅠ

-mfpu=name

This specifies what floating-point hardware (or hardware emulation) is available on the target. Permissible names are: ‘vfp’, ‘vfpv3’, ‘vfpv3-fp16’, ‘vfpv3-d16’, ‘vfpv3-d16-fp16’, ‘vfpv3xd’, ‘vfpv3xd-fp16’, ‘neon’, ‘neon-fp16’, ‘vfpv4’, ‘vfpv4-d16’, ‘fpv4-sp-d16’, ‘neon-vfpv4’, ‘fpv5-d16’, ‘fpv5-sp-d16’, ‘fp-armv8’, ‘neon-fp-armv8’, and ‘crypto-neon-fp-armv8’.

If -msoft-float is specified this specifies the format of floating-point values.


If the selected floating-point hardware includes the NEON extension (e.g. -mfpu=‘neon’), note that floating-point operations are not generated by GCC's auto-vectorization pass unless -funsafe-math-optimizations is also specified. This is because NEON hardware does not fully implement the IEEE 754 standard for floating-point arithmetic (in particular denormal values are treated as zero), so the use of NEON instructions may lead to a loss of precision. 

[링크 : https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html]

    [링크 : https://www.raspberrypi.org/forums/viewtopic.php?f=33&t=98354] 



+

2016.03.14

-ftree-vectorizer-verbose=1

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


Using the Vectorizer


Vectorization is enabled by the flag -ftree-vectorize and by default at -O3. To allow vectorization on powerpc* platforms also use -maltivec. On i?86 and x86_64 platforms use -msse/-msse2. To enable vectorization of floating point reductions use -ffast-math or -fassociative-math.

-ftree-vectorizer-verbose=2

[링크 : https://gcc.gnu.org/projects/tree-ssa/vectorization.html]

'Programming > neon' 카테고리의 다른 글

node.js 멀티코어 사용하기  (0) 2018.09.10
kernel mode neon support?  (0) 2015.05.06
NEON instruction  (0) 2015.05.05
neon 예제 실행 + 커널 교체  (0) 2015.05.04
arm neon 예제 컴파일  (0) 2015.05.03
Posted by 구차니