Temurin-build: arm32 ๋นŒ๋“œ๊ฐ€ armv6 pi์—์„œ ์‹คํŒจํ•˜๊ณ  Atomic store (jlong)๊ฐ€ ์ง€์›๋˜์ง€ ์•Š์Œ

์— ๋งŒ๋“  2018๋…„ 11์›” 06์ผ  ยท  25์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: adoptium/temurin-build

์•ˆ๋…•ํ•˜์„ธ์š”!

Eclipse IDE๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด OpenJDK 8์„ ์„ค์น˜ ํ•œ Ubuntu์— Eclipse๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

asus@asus-X551MA:~$ java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-1ubuntu0.18.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
asus@asus-X551MA:~$ 

Eclipse์—์„œ๋Š” Linux 64 OpenJDK-10.0.2 + 13์„ ์ปดํŒŒ์ผ๋Ÿฌ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Raspberry Pi B + v1.2์—์„œ arm32 OpenJDK-10.0.2 + 13์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

pi<strong i="10">@raspberrypi</strong>:~ $ java -version
openjdk version "10.0.2-adoptopenjdk" 2018-07-17
OpenJDK Runtime Enviroment (build 10.0.2-adoptopenjdk+13)
OpenJDK Client VM (build 10.0.2-adoptopenjdk+13, mixed mode)
pi<strong i="11">@raspberrypi</strong>: ~ $

๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์—ฌ Raspberry Pi B + v1.2์— OpenJDK-10.0.2 + 13์„ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

export JAVA_HOME="path that you found"
export PATH=$JAVA_HOME/bin:$PATH

Java ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ Eclipse IDE์—์„œ ์ปดํŒŒ์ผํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

pi<strong i="18">@raspberrypi</strong>:~ $ java -jar JoystickStepperLCD.jar
========================= DEBUG MESSAGE: Atomic load(jlong) unsupported on this platform ===============

[error occurred during error reportin ((null)), id 0xe0000000]
pi<strong i="19">@raspberrypi</strong>:~ $

JoystickStepperLCD.zip์—์„œ JoystickStepperLCD.jar๋ฅผ ๋‹ค์šด๋กœ๋“œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
https://github.com/DanielMartensson/Embedded-Systems/tree/master/JoystickStepperLCD

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š”,
๋ฌธ์ œ๋Š” AssumeMP ํ”Œ๋ž˜๊ทธ๊ฐ€ ํ™œ์„ฑํ™”๋˜์—ˆ์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด Java๋ฅผ ์‹คํ–‰ ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

java -XX:-AssumeMP -jar JoystickStepperLCD.jar

๋˜๋Š” https://ci.adoptopenjdk.net/view/ev3dev/job/openjdk11_build_ev3_linux/ ์—์„œ JDK ๋นŒ๋“œ๋ฅผ ์‹คํ–‰ ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? LEGO Mindstorms ํ‚คํŠธ์˜ ARMv5 ํ”„๋กœ์„ธ์„œ์—์„œ ์‹คํ–‰๋˜๋„๋ก OpenJDK๋ฅผ ํŒจ์น˜ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ง€๊ธˆ๊นŒ์ง€ ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๋ฌธ์•ˆ ์ธ์‚ฌ,
์•ผ ์ฟ ๋ธŒ ๋ฐ”๋„ฅ

๋ชจ๋“  25 ๋Œ“๊ธ€

@DanielMartensson Ohhhhhh ์ด๊ฑด ๋ง์ด ๋˜๋„ค์š”. arm32v6์—์„œ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ธฐ๋Šฅ์„ ๋Ÿฐํƒ€์ž„์—์„œ ์ปดํŒŒ์ผํ–ˆ์Šต๋‹ˆ๋‹ค. Pi์—์„œ ๋™์ผํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์ปดํŒŒ์ผํ•˜๊ณ  ์–ด๋–ค ์ผ์ด ๋ฐœ์ƒํ•˜๋Š”์ง€ ํ™•์ธํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ WORA๊ฐ€ ๊ณ ์žฅ๋‚œ ๋“œ๋ฌธ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

@karianna Eclipse IDE์—์„œ

ํ•œ ๊ฐ€์ง€ ๋”, Raspberry Pi์˜ Eclipse IDE๋Š” ๋‚ด Raspberry Pi์˜ ์†๋„๋ฅผ ๋„ˆ๋ฌด ๋Š๋ฆฌ๊ฒŒํ•˜์—ฌ ์ปดํŒŒ์ผํ•˜๋Š” ๋ฐ ๋ช‡ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด ๋‚ด๊ฐ€ Ubuntu-> USB ์Šคํ‹ฑ-> Raspberry Pi์—์„œ ์ปดํŒŒ์ผํ•˜๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๊ฐ€์ง€๊ณ ์žˆ๋Š” IDE์— ๊ด€๊ณ„์—†์ด Raspberry Pi์—์„œ Java ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜๋Š” ๋ฐ๋Š” ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. OpenJDK 10.0.2 + 13์—์„œ WORA๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ?

์ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. WiringPi๋Š” Raspberry Pi์— ์„ค์น˜ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

sudo apt-get install wiringpi

WiringPi๋Š” C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. Pi4J๋Š” JNI๋ฅผ ํ†ตํ•ด WiringPi์™€ ํ†ต์‹  ํ•  ์ˆ˜์žˆ๋Š” Java ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.

@DanielMartensson ์ดํด๋ฆฝ์Šค์—†์ด ์ปดํŒŒ์ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์˜ˆ๋ฅผ ๋“ค์–ด Ant / Maven ๋“ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น ์ค„์—์„œ?

@DanielMartensson ์ดํด๋ฆฝ์Šค์—†์ด ์ปดํŒŒ์ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์˜ˆ๋ฅผ ๋“ค์–ด Ant / Maven ๋“ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น ์ค„์—์„œ?

๋‚˜๋„ ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•ด. ์Œ, ๋งŽ์€ jar ํŒŒ์ผ์ด ํฌํ•จ๋˜์–ด ์žˆ๊ณ  Pi์˜ ํ„ฐ๋ฏธ๋„์—์„œ "javac"๋ช…๋ น์„ ์ˆ˜ํ–‰ ํ•  ๋•Œ ํŒŒ์ผ์„ ํฌํ•จํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์…จ์Šต๋‹ˆ๊นŒ?

์ปดํŒŒ์ผ ํ•  ๋•Œ ํ•ญ์ƒ IDE๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํฌํ•จ ๋œ ๊ทธ ์–‘์˜ ํ•ญ์•„๋ฆฌ๋กœ ์ปดํŒŒ์ผํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ œ์•ˆ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@karianna ๊ฐ„๋‹จํ•œ hello world ํ”„๋กœ์ ํŠธ๋ฅผ ์ปดํŒŒ์ผ ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋‹ˆ๋ฉด Pi4J์™€ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ?

Eclipse์˜ IIRC์—๋Š” ๋ชจ๋“  ์ข…์†์„ฑ์„ ๋‚˜์—ดํ•˜๋Š” .project ๋ผ๋Š” ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ช…๋ น ์ค„์—์„œ ์‹คํ–‰ํ•  ์ˆ˜์žˆ๋Š” ์ƒ˜ํ”Œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ œ๊ณต ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

javac -cp "Path's to all of your JARs" YourClass.java

๋ฟก๋ฟก

์ˆ˜์—…์ด ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ ์–ด๋–ป๊ฒŒํ•˜๋‚˜์š”? ๋‹ค๋ฅธ ํด๋”์—์„œ๋„.

javac -cp "๋ชจ๋“  JAR ๊ฒฝ๋กœ"YourClass.java MySecondClass.java AnotherClass.java .... class.java

?

@karianna ์ด๊ฒƒ์„ ์ปดํŒŒ์ผ ํ•œ ๋‹ค์Œ ์—…๋กœ๋“œํ•˜์—ฌ AdoptOpenJDK 10.0.2 + 13์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

https://ufile.io/99cdb

์‹คํ–‰ ๊ฐ€๋Šฅํ•œ jar ํŒŒ์ผ์ด์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์„ ์ปดํŒŒ์ผ ํ•  ์ ์ ˆํ•œ ํ”Œ๋žซํผ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Pi์˜ ๋ช…๋ น ์ค„์—์„œ ๋‹ค์Œ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

find . -name "*.java" > sources.txt
javac -cp Jars/pi4j-core.jar @sources.txt

๋ฟก๋ฟก

"์ด ํ”Œ๋žซํผ์—์„œ ์ง€์›๋˜์ง€ ์•Š๋Š” ์›์ž ์ €์žฅ์†Œ (jlong)"์œ„์˜ ๋™์ผํ•œ ๋ฉ”์‹œ์ง€๋กœ ์ธํ•ด ์ปดํŒŒ์ผ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
OpenJDK 8๋กœ ์ปดํŒŒ์ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AdoptOpenJDK 10.0.2 ์–‘์‹ ARM32์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ข‹์Šต๋‹ˆ๋‹ค. ARM ์ „๋ฌธ๊ฐ€๋ฅผ ์ฐพ์•„ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

adaptopenjdk.net/slack.html์—์„œ ์šฐ๋ฆฌ์™€ ํ•จ๊ป˜ํ•˜๊ณ  #arm ์ฑ„๋„๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด Pi Zero-W์—์„œ ๋ณต์ œ ํ•  ์ˆ˜์žˆ๋Š” ๊ฐ€์น˜๊ฐ€์žˆ๋Š” ์ผ

@ sxa555 ์“ฐ๊ธฐ ์‹œ๋„

cat /proc/cpuinfo

์ €์™€ ๊ฐ™์€ CPU๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

processor : 0
model_name : ARMv6-compatible processor rev 7 (v6l)
Hardware : BCM2835

์˜ˆ, Zero-W๋Š” AI๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ์›๋ž˜ ๋ชจ๋ธ๊ณผ ๋‹ค์†Œ ๋™์ผํ•˜์ง€๋งŒ Wi-Fi ์–ด๋Œ‘ํ„ฐ๊ฐ€ ์ถ”๊ฐ€๋˜์–ด ์„ธ ์ค„์ด ๋ชจ๋‘ ๊ฒŒ์‹œ ํ•œ ๊ฒƒ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

@karianna @ sxa555 AdoptOpenJDK๋กœ ARM64 ๋น„ํŠธ ์‹ฑ๊ธ€ ๋ณด๋“œ ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณธ ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ํšจ๊ณผ๊ฐ€ ์žˆ์—ˆ๋‚˜์š”?

@karianna @ sxa555 AdoptOpenJDK๋กœ ARM64 ๋น„ํŠธ ์‹ฑ๊ธ€ ๋ณด๋“œ ์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณธ ์‚ฌ๋žŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ํšจ๊ณผ๊ฐ€ ์žˆ์—ˆ๋‚˜์š”?

์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ARM ์ฑ„๋„์—์„œ ์Šฌ๋ž™์— ๋Œ€ํ•ด ๋ฌผ์–ด๋ณผ ๊ฐ€์น˜๊ฐ€์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”,
๋ฌธ์ œ๋Š” AssumeMP ํ”Œ๋ž˜๊ทธ๊ฐ€ ํ™œ์„ฑํ™”๋˜์—ˆ์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด Java๋ฅผ ์‹คํ–‰ ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

java -XX:-AssumeMP -jar JoystickStepperLCD.jar

๋˜๋Š” https://ci.adoptopenjdk.net/view/ev3dev/job/openjdk11_build_ev3_linux/ ์—์„œ JDK ๋นŒ๋“œ๋ฅผ ์‹คํ–‰ ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? LEGO Mindstorms ํ‚คํŠธ์˜ ARMv5 ํ”„๋กœ์„ธ์„œ์—์„œ ์‹คํ–‰๋˜๋„๋ก OpenJDK๋ฅผ ํŒจ์น˜ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ง€๊ธˆ๊นŒ์ง€ ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
๋ฌธ์•ˆ ์ธ์‚ฌ,
์•ผ ์ฟ ๋ธŒ ๋ฐ”๋„ฅ

ํŠธ์œ— ๋‹ด์•„ ๊ฐ€๊ธฐ

์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค! GPIO ํ•€์„ ์ œ์–ดํ•˜๋ ค๋ฉด sudo๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. OpenJDK 8์„ ์„ค์น˜ํ–ˆ์ง€๋งŒ ๋Œ€์‹  JAVA_HOME์„ AdoptOpenJDK๋กœ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.

pi @ raspberrypi : ~ $ export JAVA_HOME = "/ home / pi / Program / jdk-10.0.2 + 13"
pi @ raspberrypi : ~ $ export PATH = $ JAVA_HOME / bin : $ PATH
pi @ raspberrypi : ~ $ java -version
openjdk ๋ฒ„์ „ "10.0.2-adoptopenjdk"2018-07-17
OpenJDK ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ (๋นŒ๋“œ 10.0.2-adoptopenjdk + 13)
OpenJDK ํด๋ผ์ด์–ธํŠธ VM (๋นŒ๋“œ 10.0.2-adoptopenjdk + 13, ํ˜ผํ•ฉ ๋ชจ๋“œ)
pi @ raspberrypi : ~ $ ls
๋ฐ”ํƒ• ํ™”๋ฉด ๋‹ค์šด๋กœ๋“œ Flaktstyrning.jar ์‚ฌ์ง„ ๊ณต๊ฐœ ๋™์˜์ƒ
๋ฌธ์„œ FlรคktStyrning ์Œ์•… ํ”„๋กœ๊ทธ๋žจ ํ…œํ”Œ๋ฆฟ
pi @ raspberrypi : ~ $ java -XX : -AssumeMP -jar Flaktstyrning.jar
OpenJDK ํด๋ผ์ด์–ธํŠธ VM ๊ฒฝ๊ณ  : Option AssumeMP๋Š” ๋ฒ„์ „ 10.0์—์„œ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค์—์„œ ์ œ๊ฑฐ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์Šค๋ ˆ๋“œ "main"์˜ ์˜ˆ์™ธ java.lang.RuntimeException : ํ•€ [28]์— ๋Œ€ํ•œ GPIO ๋ฐฉํ–ฅ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์—ด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ถŒํ•œ์ด ๊ฑฐ๋ถ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

com.pi4j.wiringpi.GpioUtil.export (Native Method)์—์„œ
com.pi4j.io.gpio.WiringPiGpioProviderBase.export (WiringPiGpioProviderBase.java:108)
com.pi4j.io.gpio.impl.GpioPinImpl.export (GpioPinImpl.java:158)
com.pi4j.io.gpio.impl.GpioControllerImpl.provisionPin (GpioControllerImpl.java:566)
com.pi4j.io.gpio.impl.GpioControllerImpl.provisionDigitalOutputPin (GpioControllerImpl.java:718)
com.pi4j.io.gpio.impl.GpioControllerImpl.provisionDigitalOutputPin (GpioControllerImpl.java:730)
se.spektrakon.hardware.L293.WriteL293.(WriteL293.java:30)
se.spektrakon.hardware.raspberry.Raspberry์—์„œ.(Raspberry.java:48)
se.spektrakon.hardware.Main.main (Main.java:11)
pi @ raspberrypi : ~ $ sudo java -XX : -AssumeMP -jar Flaktstyrning.jar
๋„๊ธฐ ๋˜๋Š” ์žฌ์„ค์ •. ์นด์šดํŠธ : 0 pulse_seconds 0
์•ž์œผ๋กœ. ์นด์šดํŠธ : 1 pulse_seconds 36
์•ž์œผ๋กœ. ์นด์šดํŠธ : 2 pulse_seconds 36
์•ž์œผ๋กœ. ์นด์šดํŠธ : 3 pulse_seconds 36
์•ž์œผ๋กœ. ์นด์šดํŠธ : 4 pulse_seconds 36
์•ž์œผ๋กœ. ์นด์šดํŠธ : 5 pulse_seconds 36
์•ž์œผ๋กœ. ์นด์šดํŠธ : 6 pulse_seconds 36
๋„๊ธฐ ๋˜๋Š” ์žฌ์„ค์ •. ์นด์šดํŠธ : 0 pulse_seconds 0
๋„๊ธฐ ๋˜๋Š” ์žฌ์„ค์ •. ์นด์šดํŠธ : 0 pulse_seconds 0
^ ์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค!
๋„๊ธฐ ๋˜๋Š” ์žฌ์„ค์ •. ์นด์šดํŠธ : 0 pulse_seconds 0
pi @ raspberrypi : ~ $

OpenJDK 8์„ ์ œ๊ฑฐํ•˜๋ฉด ๋‹ค์Œ์„ ์‹คํ–‰ํ•  ๋•Œ java ๋ช…๋ น์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

pi @ raspberrypi : ~ $ sudo java -XX : -AssumeMP -jar Flaktstyrning.jar
sudo java : ๋ช…๋ น์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
pi @ raspberrypi : ~ $

sudo ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ์œ„์™€ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

pi @ raspberrypi : ~ $ java -XX : -AssumeMP -jar Flaktstyrning.jar
OpenJDK ํด๋ผ์ด์–ธํŠธ VM ๊ฒฝ๊ณ  : Option AssumeMP๋Š” ๋ฒ„์ „ 10.0์—์„œ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค์—์„œ ์ œ๊ฑฐ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์Šค๋ ˆ๋“œ "main"์˜ ์˜ˆ์™ธ java.lang.RuntimeException : ํ•€ [28]์— ๋Œ€ํ•œ GPIO ๋ฐฉํ–ฅ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์—ด ์ˆ˜ ์—†์Œ : ๊ถŒํ•œ์ด ๊ฑฐ๋ถ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

com.pi4j.wiringpi.GpioUtil.export (Native Method)์—์„œ
com.pi4j.io.gpio.WiringPiGpioProviderBase.export (WiringPiGpioProviderBase.java:108)
com.pi4j.io.gpio.impl.GpioPinImpl.export (GpioPinImpl.java:158)
com.pi4j.io.gpio.impl.GpioControllerImpl.provisionPin (GpioControllerImpl.java:566)
com.pi4j.io.gpio.impl.GpioControllerImpl.provisionDigitalOutputPin (GpioControllerImpl.java:718)
com.pi4j.io.gpio.impl.GpioControllerImpl.provisionDigitalOutputPin (GpioControllerImpl.java:730)
se.spektrakon.hardware.L293.WriteL293.(WriteL293.java:30)
se.spektrakon.hardware.raspberry.Raspberry์—์„œ.(Raspberry.java:48)
se.spektrakon.hardware.Main.main (Main.java:11)
pi @ raspberrypi : ~ $

์–ด์จŒ๋“ ! OpenJDK 10.0.2๋Š” 32 ๋น„ํŠธ ARM์—์„œ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋“ ์ง€ ๋‚ด๊ฐ€ sudo ๋ช…๋ น์„ ์šฐํšŒ ํ•  ์ˆ˜์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ณ  ์žˆ๊ณ  ์—ฌ์ „ํžˆ GPIO ํ•€์„ ์‚ฌ์šฉํ•  ๊ถŒํ•œ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š” Daniel, ์ถœ๋ ฅ์„ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ณ ์–‘์ด / proc / cpuinfo

๋ณด๋“œ์—? ์™œ -AssumeMP๊ฐ€ ์ฐจ์ด๋ฅผ ๋งŒ๋“  ๊ฒƒ ๊ฐ™์€์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”.

pi @ raspberrypi : ~ $ ๊ณ ์–‘์ด / proc / cpuinfo
ํ”„๋กœ์„ธ์„œ : 0
๋ชจ๋ธ๋ช… : ARMv6 ํ˜ธํ™˜ ํ”„๋กœ์„ธ์„œ rev 7 (v6l)
BogoMIPS : 697.95
ํŠน์ง• : ์ ˆ๋ฐ˜ ์—„์ง€ fastmult vfp edsp java tls
CPU ๊ตฌํ˜„ ์ž : 0x41
CPU ์•„ํ‚คํ…์ฒ˜ : 7
CPU ๋ณ€ํ˜• : 0x0
CPU ๋ถ€๋ถ„ : 0xb76
CPU ๊ฐœ์ • : 7

ํ•˜๋“œ์›จ์–ด : BCM2835
๊ฐœ์ • : 0010
์ผ๋ จ ๋ฒˆํ˜ธ : 00000000b486e11c
pi @ raspberrypi : ~ $

์˜ค ๊ทธ๋ž˜. ์ž˜ ๋งž์Šต๋‹ˆ๋‹ค :)
์•„, ์ „์„ ์ด ๊ต์ฐจํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์ด์œ ๋กœ ์‚ฌ์šฉํ•˜๊ณ ์žˆ๋Š” Pi 2๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ€ํ‹ฐ ์ฝ”์–ด๋ฅผ ๊ธฐ๋Œ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”.

-XX : -AssumeMP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘๋™ํ•ด์•ผํ•˜๋Š” ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์ด ๋ฌด์—‡์ธ์ง€ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

์˜ค๋ผํด์€ ์ž์ฒด ์šฉ๋„๋กœ AdoptOpenJDK๋ฅผ ์‚ฌ์šฉํ•  ์˜ˆ์ •์ž…๋‹ˆ๊นŒ? ๋‚ด ๋ง์€ OpenJDK 8์€ ARM์„ ์ง€์›ํ•˜๋Š” Oracle์˜ ๋งˆ์ง€๋ง‰ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.

OpenJDK 12ea๋Š” ๋‹ค์ค‘ ํ”„๋กœ์„ธ์„œ ์‹œ์Šคํ…œ์„ ์ฆ‰์‹œ ๊ฐ์ง€ํ•˜๋ฏ€๋กœ ์•„๋งˆ๋„ ์ตœ์ƒ์˜ ์†”๋ฃจ์…˜ ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ฝ”๋“œ์—์„œ AssumeMP๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ์†Œ์Šค ํŒจ์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
https://github.com/ev3dev-lang-java/openjdk-ev3/blob/2f9d939e984d93ad391e5ab8dfdbca4099258b65/scripts/jdk10.patch#L181
AFAIK ARMv6 ๋ฐ ์ด์ „ ๋ฒ„์ „์€ ์•„๋ฌด๋„ ๋‚˜๋จธ์ง€ ์ง€์› ์ธํ”„๋ผ๋ฅผ ์ค‘๋‹จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ Java๋ฅผ ๋ฃจํŠธ๋กœ ์‹คํ–‰ํ•˜๋ ค๋ฉด sudo $ (which java) ...

์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋จ์— ๋”ฐ๋ผ ์ข…๋ฃŒ-์Šฌ๋ž™์˜ ARM ์ฑ„๋„์—์„œ ๋ฌธ์„œ๊ฐ€ ์ž‘์—… ์ค‘์ž…๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰