在Android上实现SPI通信之(1)------在Ubuntu12.04环境下编译android源码
来源:互联网 发布:口语救生圈怎么样知乎 编辑:程序博客网 时间:2024/06/05 16:44
作为一个Android应用开发者,突然接到一下需求,需要在应用层传递一个信号到外设,传递方式用SPI通信,没有做过,甚是头大,遇到了好多坑,所以记录成册,希望对后来的开发者,有那么一点点的帮助,如果有不正确的地方,还请指正。
目前我实现的大体思路是:
- 应用层传递一个数据到JNI层
- JNI层传递一个数据到HAL层
- HAL传递数据到kernel层
- kernel层通过SPI转CAN传递到外设
不过我们先从驱动层开始,在编写驱动之前需要一个编译环境,我选了Ubuntu,android源码我选了android4.4,现在开始动手。
准备工作
编译 Android 对机器的配置要求较高:
- 64 位 CPU、
- 16GB 物理内存+交换内存
- 80GB 空闲的磁盘空间用于构建,源码树另外占用大约 8GB
安装JDK
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java6-installer
Ubuntu 12.04 软件包安装
sudo apt-get install git gnupg flex bison gperf build-essential \ zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \ g++-multilib mingw32 tofrodos gcc-multilib ia32-libs \ python-markdown libxml2-utils xsltproc zlib1g-dev:i386
安装 ARM 交叉编译工具链和编译内核相关软件包
sudo apt-get install gcc-arm-linux-gnueabihf \lzop libncurses5-dev \libssl1.0.0 libssl-dev
下载 Android4.4 SDK
androidSDK比较大,可以先用迅雷下载好之后再拷贝到Ubuntu上
我用的是瑞芯微的RK3288的开发板,所以我从他们的网站上下载了源码
百度网盘:https://pan.baidu.com/s/1o80DRsA
下载完成后先验证一下 MD5 码:
$ md5sum /path/to/firefly-rk3288_android4.4_git_20141211.tar.gz8fe99f519d487ff40c8bc7b5ded62887 firefly-rk3288_android4.4_git_20141211.tar.gz
确认无误后,就可以解压:
mkdir -p ~/proj/firefly-rk3288cd ~/proj/firefly-rk3288tar xf /path/to/firefly-rk3288_android4.4_git_20141211.tar.gz
编译内核
cd ~/proj/firefly-rk3288/kernelmake firefly-rk3288_defconfigmake -j8 firefly-rk3288.img
编译 Android 源码
cd ~/proj/firefly-rk3288sudo susource build/envsetup.shmake -j8
耐心等待几个小时之后就可以了。
过程中如果出现编译错误,可以先尝试一下再make -j8
阅读全文
1 0
- 在Android上实现SPI通信之(1)------在Ubuntu12.04环境下编译android源码
- 在ubuntu12.04上搭建android 4.2编译环境
- 在ubuntu12.04上编译 android源代码
- 在ubuntu12.04上编译android工程
- Ubuntu12.04环境下的android源码编译
- Ubuntu12.04下搭建android源码编译环境全
- android 4.03在ubuntu12 上编译
- ubuntu12.04安装android源码编译环境
- 在ubuntu12.04上编译 android源代码(二)
- Ubuntu12.04下的Android 源码编译
- 在ubuntu12.04 LTS下使用Ant编译Android项目
- 在Linux环境下怎么编译Android源码?
- ubuntu12.04编译android源码
- Ubuntu12.04编译Android源码
- 在ubuntu 上下载 编译android 源码
- 在Ubuntu 14.04上编译Android源码
- 在ubuntu 16.04上编译Android 源码
- NS3在ubuntu12.04下eclipse中的编译环境配置
- C++中 export关键字的使用
- 对序列化的认识
- 关于DWR的使用方面
- Investment(POJ-2063 && HDU-1963)
- CentOS、Ubuntu、Debian三个linux比较异同
- 在Android上实现SPI通信之(1)------在Ubuntu12.04环境下编译android源码
- PHP AJAX 实现跨域保存数据的问题
- Excel转sql
- jQuery Mobile 弹窗
- JNI简介
- STM32读取MQ4传感器、DHT11温湿度传感器、GP2Y1014AU0F夏普光学灰尘传感器数据
- MaterialDesign之SearchView全面解锁
- linux交叉编译gdb/gdbserver
- [已解决]Error:Removing unused resources requires unused code shrinking to be turned on.