移植OSS SDK到TI3354 ARM平台记录
因为项目需要把数据上传到阿里云,我们的采集设备是ARM平台的,就要移植OSS SDK到我们的ARM平台,我们的设备用的是TI3354,LINUX 3.14,弄了两天终于弄好了,记录一下,原创文章,请勿转载!
交叉编译 OSS SDK 步骤
1.首先编译libcurl库
源码:https://curl.haxx.se/download.html,我下载的curl-7.32.0
curl
chmod 0777 configure
./configure --prefix=$PWD/../build_lib --host=arm-linux --target=arm-linux CC=arm-arago-linux-gnueabi-gcc
make
make install
2.编译apr-1.5.2
apr-1.5.2
./configure
make
cp -a tools/gen_test_char ../
make clean
./configure --prefix=$PWD/../build_lib --host=arm-linux CC=arm-arago-linux-gnueabi-gcc CXX=arm-arago-linux-gnueabi-g++ ac_cv_file__dev_zero=yes ac_cv_func_setpgrp_void=yes apr_cv_process_shared_works=yes apr_cv_mutex_robust_shared=yes apr_cv_tcp_nodelay_with_cork=yes ap_void_ptr_lt_long=no
cp -a ../gen_test_char tools/
Vim Makefile
134 行
OBJECTS_gen_test_char = tools/gen_test_char.lo $(LOCAL_LIBS)
屏蔽
#OBJECTS_gen_test_char = tools/gen_test_char.lo $(LOCAL_LIBS)
目的是不生成新的gen_test_char文件
8 vi include/apr_want.h 第93行 #ifndef APR_IOVEC_DEFINED 替换成#if 0
make
make install
3.编译apr-util-1.5.4
./configure --prefix=$PWD/../build_lib --host=arm-linux CC=arm-arago-linux-gnueabi-gcc CXX=arm-arago-linux-gnueabi-g++ --with-apr=$PWD/../build_lib/ --with-expat=$PWD/../build_lib/
make
make install
4.minixml,我用的mxml-2.9
./configure --prefix=$PWD/../build_lib --host=arm-linux CC=arm-arago-linux-gnueabi-gcc CXX=arm-arago-linux-gnueabi-g++
make
出错,不管,把so文件和.h文件拷贝走
4.下载oss sdk,百度一下阿里云OSS SDK,下载3.5.0
修改CMakeLists.txt如下
cmake . -DCMAKE_INSTALL_PREFIX=/home/stone/work/darma/temp/examples/uart_rcv/oss_arm/build_lib -DCURL_INCLUDE_DIR=/home/stone/work/darma/temp/examples/uart_rcv/oss_arm/build_lib/include/curl -DCURL_LIBRARY=/home/stone/work/darma/temp/examples/uart_rcv/oss_arm/build_lib/lib -DAPR_INCLUDE_DIR=/home/stone/work/darma/temp/examples/uart_rcv/oss_arm/build_lib/include/apr-1 -DAPR_LIBRARY=/home/stone/work/darma/temp/examples/uart_rcv/oss_arm/build_lib/lib/libapr-1.a -DAPR_UTIL_INCLUDE_DIR=/home/stone/work/darma/temp/examples/uart_rcv/oss_arm/build_lib/include/apr-1 -DAPR_UTIL_LIBRARY=/home/stone/work/darma/temp/examples/uart_rcv/oss_arm/build_lib/lib/libaprutil-1.a -DMINIXML_INCLUDE_DIR=/home/stone/work/darma/temp/examples/uart_rcv/oss_arm/build_lib/include/mxml/ -DMINIXML_LIBRARY=/home/stone/work/darma/temp/examples/uart_rcv/oss_arm/build_lib/lib/libmxml.so.1.5
make
make install
如果需要MD5校验,我发现很有必要做MD5校验,否则上传上去的文件会有不完整的情况。OSS SDK的MD5校验码制作方法有点麻烦,最后自己写了个工具来搞。
OSS CONTENT-MD5计算方法
md5sum xxx.dat 生成md5码
简单直接的方法:
echo -e -n "\xa8\x2b\xea\x08\xdc\x5d\x94\x81\x2a\xe3\x39\xe2\xdd\x06\xe6\xeb" | base64
正规的用法:
md5sum raw.dat | awk '{print $1}' | xxd -r -ps | base64
qCvqCNxdlIEq4zni3Qbm6w==
xxd移植不了,busybox中的参数不同,自己写了一个tcu_xxd来用
最后
#!/bin/sh
crc=`md5sum raw-data-129-201809130533.dat | awk '{print $1}'`
md5=`./tcu_xxd $crc | base64`
echo $md5
最后又搞定了断点续传,完美!
最后打下广告,有需要工控终端嵌入式设备的联系我啊,QQ:7972418 :)
移植OSS SDK到TI3354 ARM平台记录相关推荐
- cvm java_移植JAVA虚拟机CVM到ARM平台(收藏)
J2ME CDC(Connected Device Configuration,连接式设备配置集)使用CVM,面向那些具有更强计算能力的嵌入式设备,包含了Java类库的核心部分,是应用Java技术在嵌 ...
- mysql 客户端 交叉编译_移植mysql到嵌入式ARM平台
移植MySQL到嵌入式ARM平台 MySQL没有专门针对ARM的版本,移植到ARM没有官方文档可参考,因此,暂时参考这样一篇文档: http://blog.chinaunix.net/space.ph ...
- 移植mysql到嵌入式ARM平台
移植MySQL到嵌入式ARM平台 MySQL没有专门针对ARM的版本,移植到ARM没有官方文档可参考,因此,暂时参考这样一篇文档: http://blog.chinaunix.net/space ...
- mysql在单片机移植_移植MySQL到嵌入式ARM平台
因为MySQL5.5之后,编译是用的cmake不再使用./configure,因此,只好倒回支持./configure的版本来用,这里使用了文档上的5.1.51版本.进行如下步骤完成移植: 1) 下载 ...
- 如何在arm平台移植ubuntu系统(转)
linux查看内核版本和发行版本号: https://www.cnblogs.com/guiyishanren/articles/8638921.html 华为开源镜像网站:含有不同平台架构的系统资源 ...
- 编译ARM平台的 QtEmbedded 的MySQL插件和移植MySQL到ARM开发板
经过几天的努力,终于交叉编译出了arm平台所需Qt/E的MySQL插件(驱动),其中顺便把MySQL也移植到了mini2410的开发板上. 编译器:arm-linux-gcc(4.3.2) Pc平台: ...
- python移植到arm_python移植到arm平台
1. 交叉编译Python 见Cross Compiling Python for Embedded Linux本文引用地址:http://www.eepw.com.cn/article/201611 ...
- arm qt mysql插件_编译ARM平台的QtEmbedded的MySQL插件和移植MySQL
编译ARM平台的QtEmbedded 的MySQL插件和移植MySQL 到ARM开发板 经过几天的努力,终于交叉编译出了arm平台所需Qt/E的MySQL插件(驱动),其中顺便把MySQL也移植到了m ...
- lua脚本移植到linux平台,如何将lua移植到arm平台的linux内核
将脚本移植到内核是一件很酷的事情,lua已经被移植到NetBSD的内核中,也有一个叫lunatik的项目把lua移植到了linux内核,只可惜只支持x86,不支持arm,在网上搜索了下,没有找到现成的 ...
最新文章
- iPhone销售额下滑12%,但AirPods和手表救了苹果
- python 字符串数组互转
- java文件日志功能_JAVA文件下载功能问题解决日志
- graph-easy使用简介
- Java-Jdk12版本下载后没有Jre的解决方案以及配置环境变量
- 广播模块加继电器怎么接线_时间继电器怎么看图接线?
- 编译C++11/14方法
- day07 深浅拷贝
- ERROR 2002 (HY000): mysql
- ARCGIS制作三维地图教程(BIGEMAP)
- 服装行业ERP体系的主要好处
- python 自动上色_Github | 线稿自动上色
- 领导合影站位图_领导出席各类活动席位安排(详细附图)
- 数据结构与算法(C语言版)----运动会管理系统
- 移动ChemDraw结构有什么方法
- linux 使用ls命令以M,G为单位显示文件大小
- CSS选择器优先级(特异性)
- Matlab 公式大全
- R语言怎么比较两个模型C指数,手把手教你用R语言评价临床预测模型,一文就够(附代码)...
- 数字转字母python_将一串数字转换成字母python