日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java7 arm_zynq7000系列移植—JDK1.7 移植到嵌入式ARM平台

發(fā)布時(shí)間:2024/10/8 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java7 arm_zynq7000系列移植—JDK1.7 移植到嵌入式ARM平台 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

今天無(wú)意間搜索到 armv7的硬件相關(guān)信息——ARM 浮點(diǎn)運(yùn)算

硬浮點(diǎn)Hard-float

編譯器將代碼直接編譯成發(fā)射給硬件浮點(diǎn)協(xié)處理器(浮點(diǎn)運(yùn)算單元FPU)去執(zhí)行。FPU通常有一套額外的寄存器來(lái)完成浮點(diǎn)參數(shù)傳遞和運(yùn)算。

軟浮點(diǎn) Soft-float

編譯器把浮點(diǎn)運(yùn)算轉(zhuǎn)換成浮點(diǎn)運(yùn)算的函數(shù)調(diào)用和庫(kù)函數(shù)調(diào)用,沒(méi)有FPU的指令調(diào)用,也沒(méi)有浮點(diǎn)寄存器的參數(shù)傳遞。浮點(diǎn)參數(shù)的傳遞也是通過(guò)ARM寄存器或者堆棧完成。 現(xiàn)在的Linux系統(tǒng)默認(rèn)編譯選擇使用hard-float,即使系統(tǒng)沒(méi)有任何浮點(diǎn)處理器單元,這就會(huì)產(chǎn)生非法指令和異常。因而一般的系統(tǒng)鏡像都采用軟浮點(diǎn)以兼容沒(méi)有VFP的處理器。

上次在ARM平臺(tái)zynq7000 系列下成功搭建JRE8環(huán)境,下載的源碼包是ejdk-8u191-linux-arm-sflt.tar.gz。而sflt代表的是——軟浮點(diǎn) Soft-float。

由此可見(jiàn)zynq7000系列下的ARM核浮點(diǎn)運(yùn)算是——軟浮點(diǎn) 運(yùn)算(Soft-float)。

在zynq7000系列下安裝JDK的前提條件是:需要安裝適用于軟浮點(diǎn)運(yùn)算的JDK。

遺憾的是JDK1.8到目前都沒(méi)有提供軟浮點(diǎn)運(yùn)算相應(yīng)的源碼包,而JDK1.7及其以下的版本提供了相應(yīng)的源碼包。

1. 下載支持軟浮點(diǎn)運(yùn)算的JDK1.7

2. 將源碼包解壓到zynq根文件系統(tǒng)中

使用以下命令解壓:

# tar -zxvf jdk-7u45-linux-arm-vfp-sflt.tar.gz

By the way: 這個(gè)JDK源碼包解壓后有160多M,需要擴(kuò)容一下根文件系統(tǒng)的大小。

關(guān)于擴(kuò)容根文件系統(tǒng)請(qǐng)參考我寫(xiě)的這篇博文:https://blog.csdn.net/QiHsMing/article/details/85085596

3. 配置環(huán)境變量

配置環(huán)境變量和一般的linux系統(tǒng)相同:

1)打開(kāi)配置文件profile。

# vi /etc/profile

2)在文件末尾添加環(huán)境變量:

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. 驗(yàn)證java運(yùn)行環(huán)境

輸入以下命令:

# java -version

驗(yàn)證結(jié)果如圖所示。

5. 運(yùn)行HelloWorld示例

1)新建HelloWorld.java文件

# vi HelloWorld.java

編譯運(yùn)行:

# javac HelloWorld.java

#java HelloWorld

總結(jié)

以上是生活随笔為你收集整理的java7 arm_zynq7000系列移植—JDK1.7 移植到嵌入式ARM平台的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。