TXRX串口通信RAM版自己编译

引言:目前 javaxcomm(旧) gunio(新),目前rxtx-2.1-7-bins-r2.zip版本为32位的win或者x86或者x386,mfz-rxtx-2.2-32位-64位.rar有64位。但是不支持ARM架构的。

  1. 下载source源码
    http://mvnrepository.com/

  2. 阅读学习移植指导文件
    学习链接 http://blog.chinaunix.net/uid-20544507-id-3494422.html
    阅读学习移植指导文件

  3. 移植指导提示关注文件

There are probably three areas you will need to focus on:
    configure.in
    src/SerialImp.c src/SerialImp.h src/ParallelImp.c
    RXTXCommDriver.java  (just add the ports for your OS)
  1. 移植提示步骤,resource 目录下操作
Edit configure.in, 
run autoconf, 
run configure, 
run make
  1. 执行编译遇到的问题和解决
    参考 https://blog.csdn.net/cheng157507947/article/details/44039821
问题1:修改configure.in和configure内部的jdk版本选择,我的版本为jdk1.8.0_162。
解决1:最后一行添加1.6* 1.7* 1.8* 保证版本选择
Linux)
    LDFLAGS=$LDFLAGS" -lpthread"
    check_kernel_headers
    check_java_headers
    CFLAGS=$CFLAGS" -D__need_timespec"
    case $JAVA_VERSION in

    1.2*|1.3*|1.4*|1.5*|1.6*|1.7*|1.8*) 

问题2:执行autoconf无此命令?(rpm安装类似)
解决2:sudo apt-get install autoconf

问题3:执行过程报此错误?
conftest.c:8:9: error: 'UTS_RELEASE' undeclared (first use in this function)
  printf(UTS_RELEASE"\n");
         ^
conftest.c:8:9: note: each undeclared identifier is reported only once for each function it appears in
conftest.c:8:20: error: expected ')' before string constant
  printf(UTS_RELEASE"\n");
解决3:
获取版本指令:uname -r
root@htnice:/usr/java/jdk1.8.0_162/bin# uname -r
3.4.39
然后在/usr/include/linux/version.h中添加#define UTS_RELEASE "3.4.39"

问题4:自己gcc调试编译so库提示找不到jni.h
解决4:参考链接 https://www.jianshu.com/p/e860170df83a,我们只需要按步骤走就可以,编译过程中自行执行了指令

6.make编译过程
可以看到生成相应的so库文件
这里写图片描述
7.so库的位置
这里写图片描述
8.执行make install 指令,自行安装到jdk目录里面
这里写图片描述
9.注意,未调试验证,不知是都可靠
10.附送,ARM-linux相关设备信息相关查询指令
接入usb设备状态
这里写图片描述
查看内存信息
这里写图片描述
log相关信息
这里写图片描述
简单信息指令
这里写图片描述
安装autoTool
这里写图片描述
膜拜大神:https://blog.csdn.net/cheng157507947/article/details/43764623
https://blog.csdn.net/cheng157507947/article/details/44039821

简单拷包脚本(.bat):

@echo off
::查看JDK的安装路径
::set java_home
echo %JAVA_HOME% > jdk.txt
echo %rxtxParallel% >> jdk.txt
echo %rxtxSerial% >> jdk.txt
echo %RXTXcomm% >> jdk.txt
SET rxtxParallel=\jre\bin\rxtxParallel.dll"
SET rxtxSerial=\jre\bin\rxtxSerial.dll"
SET RXTXcomm=\jre\lib\ext\RXTXcomm.jar"
SET rxtxParallel="%JAVA_HOME%%rxtxParallel%
SET rxtxSerial="%JAVA_HOME%%rxtxSerial%
SET RXTXcomm="%JAVA_HOME%%RXTXcomm%
echo "开始拷贝rxtxParallel.dll文件"
copy rxtxParallel.dll %rxtxParallel%
echo "开始拷贝rxtxSerial.dll文件"
copy rxtxSerial.dll %rxtxSerial%
echo "开始拷贝RXTXcomm.dll文件"
copy RXTXcomm.jar %RXTXcomm%
echo "拷贝完成"
pause
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值