embeded/ARM2021. 1. 13. 14:47

라즈베리파이 내장(?) arm-arm 컴파일러

$ gcc --version 
gcc (Raspbian 8.3.0-6+rpi1) 8.3.0 
Copyright (C) 2018 Free Software Foundation, Inc. 
This is free software; see the source for copying conditions.  There is NO 
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[링크 : https://gcc.gnu.org/gcc-8/]

 

i.mx6 용 크로스컴파일러

$ arm-linux-gcc --version 
arm-linux-gcc.br_real (Buildroot 2018.02.5-gee769a6) 6.4.0 
Copyright (C) 2017 Free Software Foundation, Inc. 
This is free software; see the source for copying conditions.  There is NO 
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[링크 : https://gcc.gnu.org/gcc-6/]

 

시기적으로 크게 차이나는건 아니지만 상위 버전이 6.x와 8.x 차이로 커서 arm neon 관련 지원이 다른걸려나?

[링크 : https://gcc.gnu.org/releases.html]

 

+

gcc changelog 를 뒤져도 아직 발견은 못했는데...

6.x 와 8.x 의 NEON 지원에 무슨 차이가 있는게 아닐까 혹은 vertorized 관련 옵션 구현에 차이가 있나 생각이 든다.

i.mx6용으로 빌드하니 neon 옵션줘도 성능 향상이 없었는데

라즈베리용으로 빌드하니 i.mx6에서 돌릴때 성능 향상이 발생했다.

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

ARMv9 SVE2  (0) 2021.05.15
cortex-a9 하드웨어 Divider가 없어?!  (0) 2021.03.18
vfp  (0) 2021.01.13
NEON 강제활성화?  (0) 2021.01.12
softfp와 hardfp  (0) 2020.12.10
Posted by 구차니
embeded/ARM2021. 1. 13. 13:48

vfp

뒤에 붙는 D32 D16 F16은 다시 자세히 보니

Double / Float 와 몇개의 레지스터를 가지나 숫자를 표현한 듯?

 

VFPv1
Obsolete
VFPv2
An optional extension to the ARM instruction set in the ARMv5TE, ARMv5TEJ and ARMv6 architectures. VFPv2 has 16 64bit FPU registers.
VFPv3 or VFPv3-D32
Implemented on most Cortex-A8 and A9 ARMv7 processors. It is backwards compatible with VFPv2, except that it cannot trap floating-point exceptions. VFPv3 has 32 64bit FPU registers as standard, adds VCVT instructions to convert between scalar, float and double, adds immediate mode to VMOV such that constants can be loaded into FPU registers.
VFPv3-D16
As above, but with only 16 64-bit FPU registers. Implemented on Cortex-R4 and R5 processors and the Tegra 2 (Cortex-A9).
VFPv3-F16
Uncommon; it supports IEEE754-2008 half-precision (16-bit) floating point as a storage format.
VFPv4 or VFPv4-D32
Implemented on Cortex-A12 and A15 ARMv7 processors, Cortex-A7 optionally has VFPv4-D32 in the case of an FPU with Neon.[110] VFPv4 has 32 64-bit FPU registers as standard, adds both half-precision support as a storage format and fused multiply-accumulate instructions to the features of VFPv3.
VFPv4-D16
As above, but it has only 16 64-bit FPU registers. Implemented on Cortex-A5 and A7 processors in the case of an FPU without Neon.[110]
VFPv5-D16-M
Implemented on Cortex-M7 when single and double-precision floating-point core option exists.

[링크 : https://en.wikipedia.org/wiki/ARM_architecture]

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

 

+

 

[링크 : https://community.arm.com/developer/tools-software/tools/b/tools-software-ides-blog/posts/arm-cortex-a-processors-and-gcc-command-lines]

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

cortex-a9 하드웨어 Divider가 없어?!  (0) 2021.03.18
gcc 버전 차이?  (0) 2021.01.13
NEON 강제활성화?  (0) 2021.01.12
softfp와 hardfp  (0) 2020.12.10
ampere altra  (0) 2020.11.23
Posted by 구차니
embeded/ARM2021. 1. 12. 17:09

 

[리읔: https://developer.arm.com/documentation/dui0472/i/compiler-coding-practices/enabling-neon-and-fpu-for-bare-metal]

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

gcc 버전 차이?  (0) 2021.01.13
vfp  (0) 2021.01.13
softfp와 hardfp  (0) 2020.12.10
ampere altra  (0) 2020.11.23
arm cl  (0) 2020.10.29
Posted by 구차니
Linux2021. 1. 12. 16:19

-l 옵션에서 상세하게 적으면 되긴한데...

libc 처럼 so.0 숫자는 같은데 내부 버전이 다를 경우는 어떻게 해야하려나?

반대로.. 붙이려는 원하는 so가 존재한다면 그 파일도 있어야 빌드가 가능하다는 건가?

Instead of using "-lcurl" use "-l:libcurl.so.3" And ofcourse also use "-L _installed_path_"

[링크 : https://stackoverflow.com/questions/828053/how-do-you-link-to-a-specific-version-of-a-shared-library-in-gcc]

[링크 : https://www.xspdf.com/resolution/20065096.html]

'Linux' 카테고리의 다른 글

linux 프레임 버퍼에 이미지, 동영상 재생하기  (0) 2021.01.21
sit1 인터페이스  (0) 2021.01.20
libc static build 하기  (0) 2021.01.12
segmentation fault, bus error  (0) 2021.01.08
linux ip 와 gateway 설정  (0) 2021.01.08
Posted by 구차니
Linux2021. 1. 12. 16:14

원하는 것만 static하게 하는 법을 좀 더 찾아 봐야겠네

LDFLAGS = -static

[링크 : https://stackoverflow.com/questions/2856438/how-can-i-link-to-a-specific-glibc-version]

 

+

[링크 : https://xspdf.com/resolution/50038879.html]

'Linux' 카테고리의 다른 글

sit1 인터페이스  (0) 2021.01.20
특정 버전의 파일로 링크걸어서 빌드하기  (0) 2021.01.12
segmentation fault, bus error  (0) 2021.01.08
linux ip 와 gateway 설정  (0) 2021.01.08
udev  (0) 2021.01.05
Posted by 구차니
개소리 왈왈/블로그2021. 1. 11. 21:09

두 페이지 정도 밀렸는데 언제 정리 하냐 ㅠㅠ

'개소리 왈왈 > 블로그' 카테고리의 다른 글

남의 돈으로 기분내는 기부  (2) 2021.03.25
크크큭 흑화된다?  (0) 2021.03.24
블로그 휴식  (0) 2020.12.18
방문자가 점점 줄어드네 ㅠㅠ  (2) 2020.10.28
오랫만에 해피빈 기부  (0) 2020.10.28
Posted by 구차니
embeded2021. 1. 11. 16:07

uboot 용으로 받아둔거긴 하지만 pthread를 미지원 한다는건

리눅스 커널 상에서만 pthread를 지원하기 때문인가?

그래서 uboot 에서는 커널에서 도는게 아니기에 pthread를 지원할 수 없는 건가?

 

[링크 : https://nancom.tistory.com/177]

'embeded' 카테고리의 다른 글

중고 부품 지름  (0) 2025.01.06
i.mx6quad용 gcc 옵션  (0) 2021.01.08
orange pi r1+  (0) 2021.01.08
i.mx6 solo 비디오 성능 문제?  (0) 2020.10.19
간만에 부품 지름  (2) 2020.03.04
Posted by 구차니
embeded/raspberry pi2021. 1. 11. 15:27

예전에 쓴건진 모르겠지만.. 다시 씀 ㅋ

 

저용량 버전으로 설치하면

gdm이 없는데 lightdm 을 설치하고 리부팅 하면 GUI로 로그인하게 된다.

 

[링크 : https://blog.naver.com/hujinone22/220292580078]

 

+

2021.01.11

먼가 설정문제인지 모르겠는데 로그인이 안된다 ㅠㅠ

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

rpi pico  (0) 2021.01.31
bazel on rpi  (0) 2021.01.18
rpi youtube  (0) 2020.12.24
mpicc on rpi  (0) 2020.12.15
node-red UI bashboard  (0) 2020.12.08
Posted by 구차니

depth 문제라면.. 설마 압축하다 서버 뻗는건가?

 

[링크 : https://dukeyang.tistory.com/16]

[링크 : https://stackoverflow.com/questions/38618885]

 

에러가 한글로 나오면서 "early EOF"가 "너무 빨리 파일이 끝남" 로 나와서 좀 헤맸네

fatal: read error: Invalid argument, 255.05 MiB | 1.35 MiB/s
fatal: early EOF
fatal: index-pack failed

 

결론은.. 서버쪽 문제가 맞나보네

[링크 : https://www.lesstif.com/gitbook/git-clone-fatal-early-eof-fatal-index-pack-failed-95879326.html]

[링크 : https://pakss328.medium.com/git-early-eof-index-pack-failed-에러-처리-1d9d0357124b]

 

 

'프로그램 사용 > Version Control' 카테고리의 다른 글

git submodule  (0) 2021.04.05
git reset revert  (0) 2021.03.31
git stash  (0) 2020.01.21
git commit 간 diff  (0) 2020.01.21
git 에서 push 하지 않은 commit 확인하기  (0) 2019.11.23
Posted by 구차니

외부에서 획득한 cfg와 weight 로 실행을 하려고 하니 엉뚱하게 bicycle,person,car가 나오고 있어서 급 멘붕 -_-

/darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

 

 

그래서 코드를 뜯어보니 detect 로 실행 할 경우

test_detector를 실행하게 하고 cfg/coco.data 라는걸 자동으로 사용하게 한다.

    if (0 == strcmp(argv[1], "average")){
        average(argc, argv);
    } else if (0 == strcmp(argv[1], "yolo")){
        run_yolo(argc, argv);
    } else if (0 == strcmp(argv[1], "voxel")){
        run_voxel(argc, argv);
    } else if (0 == strcmp(argv[1], "super")){
        run_super(argc, argv);
    } else if (0 == strcmp(argv[1], "detector")){
        run_detector(argc, argv);
    } else if (0 == strcmp(argv[1], "detect")){
        float thresh = find_float_arg(argc, argv, "-thresh", .24);
		int ext_output = find_arg(argc, argv, "-ext_output");
        char *filename = (argc > 4) ? argv[4]: 0;
        test_detector("cfg/coco.data", argv[2], argv[3], filename, thresh, 0.5, 0, ext_output, 0, NULL, 0, 0);
    }

 

 coco.data에는 별 건 없는것 같은데 가장 중요한(?)건 names 인 것 같고

$ cat cfg/coco.data
classes= 80
train  = /home/pjreddie/data/coco/trainvalno5k.txt
valid  = coco_testdev
#valid = data/coco_val_5k.list
names = data/coco.names
backup = /home/pjreddie/backup/
eval=coco

 

coco.names 에는 항목별 이름이 존재하는 것을 확인할 수 있었다.

$ cat data/coco.names
person
bicycle
car
motorbike
aeroplane
bus
train
truck
boat
traffic light
fire hydrant
stop sign
parking meter
bench
bird
cat
dog
horse
sheep
cow
elephant
bear
zebra
giraffe
backpack
umbrella
handbag
tie
suitcase
frisbee
skis
snowboard
sports ball
kite
baseball bat
baseball glove
skateboard
surfboard
tennis racket
bottle
wine glass
cup
fork
knife
spoon
bowl
banana
apple
sandwich
orange
broccoli
carrot
hot dog
pizza
donut
cake
chair
sofa
pottedplant
bed
diningtable
toilet
tvmonitor
laptop
mouse
remote
keyboard
cell phone
microwave
oven
toaster
sink
refrigerator
book
clock
vase
scissors
teddy bear
hair drier
toothbrush

 

그러니까..

결국에는 최소 5개의 파일이 필요한건가?

cfg, weight, data, name 그리고 테스트 이미지

'프로그램 사용 > yolo_tensorflow' 카테고리의 다른 글

mobileNET/SSD  (0) 2021.01.14
caffe  (0) 2021.01.14
CNN convolution과 maxpool  (0) 2021.01.10
CNN과 RNN  (0) 2021.01.09
darknet과 darknetab  (0) 2021.01.09
Posted by 구차니