目录 《虚拟机就是开发板》

第一期 前言 http://blog.csdn.net/aggresss/article/details/54928181 第二期 QEMU模拟vexpress-a9开发板 http://blog.csdn.net/aggresss/article/details/54942848 第三期 QEMU调试U-Boot实验 http://blog.csdn.net/aggresss...
阅读(488) 评论(0)

第六期 基于QEMU进行Linux内核模块实验 《虚拟机就是开发板》

对于Linux内核的学习,多数都是从调试运行内核模块开始的,这一期我们来总结一下用模拟开发板调试运行内核模块的一般方法。         首先写一个内核模块的helloworld源文件,包括hello.c 和相应的Makefile: hello.c /* * A simple module for helloworld * * Copyright (C) 2017 aggresss (...
阅读(334) 评论(0)

第五期 基于QEMU进行实验环境搭建 《虚拟机就是开发板》

这一期我们来集中解决一个问题:虚拟开发板与主机之间文件共享的方法。在上一期中我们将目标板运行了自己制作的最小Linux系统,然而这个最小系统里面并没有编译环境,也就是说如果我们想编译程序在目标开发板上运行需要先在本地主机上进行交叉编译,然后将生成的二进制目标文件上传到目标开发板上运行,那么问题来了,我们需要一种快捷的文件共享方法。         使用物理开发板时最常用的方法是NFS,所以我们也...
阅读(328) 评论(0)

第四期 QEMU调试Linux内核实验 《虚拟机就是开发板》

这一期我们来制作一个Linux的最小系统,让它在虚拟开发板上运行。整体的流程类似于LFS(http://www.linuxfromscratch.org/),不过LFS的目标是制作一个功能较完善的Linux发行版,而我们要做的是一个最小系统,步骤会精简很多,大体就分成三个步骤:1.编译内核;2.制作根文件系统;3.调试运行。          第一步:编译内核         1. 首先安装交...
阅读(561) 评论(1)

第三期 QEMU调试U-Boot实验 《虚拟机就是开发板》

这一期注定会很简短,简短的意义就在于使用模拟器做某些事情确实很快捷。这一期我们使用QEMU来模拟运行U-Boot,大家对U-Boot应该都不陌生,相当于Linux的学前班,U-Boot的数据结构定义和驱动模型定义都采用Linux风格,在研究Linux内核前分析一下U-Boot会大有裨益。         记得第一次用物理开发板调试U-Boot时,怎么把U-Boot下载到开发板就让我研究了一星期,...
阅读(680) 评论(0)

第二期 QEMU模拟vexpress-a9开发板 《虚拟机就是开发板》

第一次接触的开发板是Intel的8051,自己买个DIP封装的芯片,加个晶振和复位就是个最小系统,非常适合入门。然后是STM32系列的开发板,运行一些RTOS系统,非常适合做一些小玩具。再往后接触的开发板就是ARM架构的了,国内的ARM开发板多数都被Samsung的芯片给占了,TI、NXP的芯片相比之下都太小众了,不容易形成大的社区群体;三星的ARM芯片用于开发板的比较大众的有:...
阅读(948) 评论(0)

第一期 前言 《虚拟机就是开发板》

记得刚上大学时的第一年寒假,从图书馆借了10本厚厚的书带回了家,心想这个寒假一定要过得充实,把这几本书读透,结果不用想也知道,一本也没看懂。同样是大三的时候,一天室友从网上买了个51单片机的开发板,随后我把随机送的实验教程全都动手实践了一遍,这几个实验下来那叫一个通透,瞬间把《微机原理》《通信原理》这些理论课串联了起来。从此我发现了实践的重要性,一本教材,一个理论学习的正确打开方式应该是每一小步理...
阅读(508) 评论(0)

目录 《手机就是开发板》

第一期 前言 http://blog.csdn.net/aggresss/article/details/53364324 第二期 AOSP 环境搭建、下载和编译 http://blog.csdn.net/aggresss/article/details/53393511 第三期 Android Kernel 下载和编译 http://blog.csdn.net/aggress...
阅读(566) 评论(0)

第二十期 在Android中修改GPS定位数据的完整方案《手机就是开发板》

现在很多的应用都是基于位置服务的,而且把位置服务作为重要的参考标准,其实这是很不安全的,位置信息的数据未经过任何加密,而且是从我们的手机中发送出去的,所以是可以修改的。这一期我们来探讨一下如何修改手机中的定位信息。太基础的原理我就不多说了,可以参考前几期文章。         先整理一下思路,Android在开发者模式下有一个"允许模拟位置选项",它是location service加载 MOC...
阅读(2752) 评论(6)

第十九期 Android中修改GPS数据实验《手机就是开发板》

这一期我们来做一个简单的实验,实验的前提是要对当作开发板的手机有从源码编译的能力,如果还没有实现,请参考前几期内容。上一期我们分析了GPS定位数据是如何在Android中逐层上报的,如果不实践一下还是觉得不太直观。         不多说了,直接修改文件,进入到Android的源码目录,修改这个文件: frameworks/base/services/core/Java/com/android...
阅读(520) 评论(6)

第十八期 Android GPS原理分析《手机就是开发板》

如果想对Android的整个框架有一个更深层次的感性认识,我们还需要抓住一个点去研究一下。Android按照模块分成很多个系统,比如Audio,Video Out,Camera,Phone,WIFI,Blue Tooth,Light,Battery,Input,Codec,3D accelerator,Vibrator,Sensor,Alarm,Gps。 分析了一下这些模块,发现GPS模块是相对...
阅读(613) 评论(0)

第十七期 CyanogenMod 编译小米3W《手机就是开发板》

上一期我们使用直接下载的第三方固件在手机上刷机通过,相对于源码级别的改装还只是皮毛,这一期我们来实践下载并编译CyanogenMod源码,编译出固件并刷机试验。 这里假设您已经搭建了AOSP的源码编译环境,如果没有请转到第二期。 1.下载和编译前安装下面这些软件: sudo apt-get install bc bison build-essential curl flex git gnup...
阅读(519) 评论(0)

第十六期 CyanogenMod 小米3W刷机《手机就是开发板》

通过前面的介绍我们对Android系统是如何编译生成的以及软件的运行机制有了一个大概的了解,用模拟器来模拟Android系统还是不够直观,还是使用真机来模拟一下更有感觉,这一期我们来使用小米3联通版(MI3W)来刷Android系统。 对于在Android平台上喜欢刷机的朋友应该应该都知道CyanogenMod,它将AOSP中goole强制嵌入的应用都去掉,让Android系统更加轻便和个性化,...
阅读(424) 评论(2)

第十五期 在AOSP上建立一个新产品《手机就是开发板》

这一期我们来做一个实践,在AOSP上建立一个新产品,编译出镜像文件在模拟器emulator上运行。 在实验前我们先整理一下思路,分析一下编译流程必要的定制文件。首先是执行./build/envsetup.sh会扫描device各子目录下的vendorsetup.sh,然后执行lunch时会扫描device各子目录中的AndroidProducts.mk文件;如果lunch中选择的TARGET_P...
阅读(330) 评论(0)

第十四期 AOSP 编译系统分析《手机就是开发板》

AOSP的的编译过程复杂就在于要编译很多种类型的目标文件,不像kernel那样,只需要一种编译工具就能完成,在AOSP中主要包括以下几种目标文件: 1. APK程序,一般的Android程序,编译打包生成apk文件 2. Java库,java类库,编译打包生成jar文件 3. C\C++应用程序,可执行的C\C++应用程序 4. C\C++静态库,编译生成C\C++静态库,并打包成.a文件...
阅读(232) 评论(0)
54条 共4页1 2 3 4 下一页 尾页
    个人资料
    • 访问:54910次
    • 积分:1129
    • 等级:
    • 排名:千里之外
    • 原创:52篇
    • 转载:0篇
    • 译文:0篇
    • 评论:38条
    最新评论