java7 arm_zynq7000系列移植—JDK1.7 移植到嵌入式ARM平台
今天無意間搜索到 armv7的硬件相關信息——ARM 浮點運算
硬浮點Hard-float
編譯器將代碼直接編譯成發射給硬件浮點協處理器(浮點運算單元FPU)去執行。FPU通常有一套額外的寄存器來完成浮點參數傳遞和運算。
軟浮點 Soft-float
編譯器把浮點運算轉換成浮點運算的函數調用和庫函數調用,沒有FPU的指令調用,也沒有浮點寄存器的參數傳遞。浮點參數的傳遞也是通過ARM寄存器或者堆棧完成。 現在的Linux系統默認編譯選擇使用hard-float,即使系統沒有任何浮點處理器單元,這就會產生非法指令和異常。因而一般的系統鏡像都采用軟浮點以兼容沒有VFP的處理器。
上次在ARM平臺zynq7000 系列下成功搭建JRE8環境,下載的源碼包是ejdk-8u191-linux-arm-sflt.tar.gz。而sflt代表的是——軟浮點 Soft-float。
由此可見zynq7000系列下的ARM核浮點運算是——軟浮點 運算(Soft-float)。
在zynq7000系列下安裝JDK的前提條件是:需要安裝適用于軟浮點運算的JDK。
遺憾的是JDK1.8到目前都沒有提供軟浮點運算相應的源碼包,而JDK1.7及其以下的版本提供了相應的源碼包。
1. 下載支持軟浮點運算的JDK1.7
2. 將源碼包解壓到zynq根文件系統中
使用以下命令解壓:
# tar -zxvf jdk-7u45-linux-arm-vfp-sflt.tar.gz
By the way: 這個JDK源碼包解壓后有160多M,需要擴容一下根文件系統的大小。
關于擴容根文件系統請參考我寫的這篇博文:https://blog.csdn.net/QiHsMing/article/details/85085596
3. 配置環境變量
配置環境變量和一般的linux系統相同:
1)打開配置文件profile。
# vi /etc/profile
2)在文件末尾添加環境變量:
JAVA_HOME=/home/root/jdk1.7.0_45
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
3)使配置文件 profile 立即生效
# source /etc/profile
或
# . /etc/profile
4. 驗證java運行環境
輸入以下命令:
# java -version
驗證結果如圖所示。
5. 運行HelloWorld示例
1)新建HelloWorld.java文件
# vi HelloWorld.java
編譯運行:
# javac HelloWorld.java
#java HelloWorld
總結
以上是生活随笔為你收集整理的java7 arm_zynq7000系列移植—JDK1.7 移植到嵌入式ARM平台的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java singleton 数据清楚_
- 下一篇: java程序员需要考证_泄题了!Java