Android底层驱动开发(八)

目录

一、Ubuntu系统安装和环境配置

安装Ubuntu18.04系统

安装搜狗输入法

安装VScode

安装Terminator

SSH的安装和配置(见文档前表格)

Git的安装和配置(见文档前表格)

Android编译环境搭建

安装Python

安装Scrcpy

安装McAfee

二、项目开发流程-软件

(一)需求规格说明书

(二)开发

(三)编译生成img文件

(四)烧录img

(五)Debug调试

三、Android烧录(刷机)

QFIL烧录大版本

Fastboot烧录

四、安卓debug工具使用(打log)

打印log信息

1、安卓系统层的log信息

2、Linux内核层的log信息

3、使用MobaXterm获取串口log(Windows系统)

4、使用minicom获取串口log(Linux系统)

补充:


一、Ubuntu系统安装和环境配置

安装Ubuntu18.04系统

1、设置电脑支持USB启动(DELL电脑)

        开机过程中不断按F2进入BIOS(基本输入输出系统,basic input output system)界面,在页面中选择Settings → General → Boot Sequence选项卡,在选项卡的Boot List Option中选择Legacy选项,将USB Storage Device选项勾选上,然后将右侧的USB Storage Device选项移动到第一个,点击apply应用即可,然后exit退出。

2、U盘安装Ubuntu系统

(1)选择启动盘:U盘插到主机上,开机过程中不断按F12进入U盘菜单,选择UEFI BOOT中的”UEFI...”选项,然后在新的界面中选择Install Ubuntu选项,即进入Ubuntu的安装界面。

在这里插入图片描述

(2)第一步、第二步和第三步按照默认选择Continue即可。

在这里插入图片描述

(3)第四步中按照下图选项,选择Something else,然后选择Continue。

在这里插入图片描述

(4)系统分区

使用uefi引导的方式,我习惯性将设备分为四个区:

启动分区:efi,   2048M,    不挂载,      不格式化   逻辑

交换分区:swap,  64G,     不挂载,       不格式化   主

系统分区:ext4,  200G, 挂载 / 结点, 格式化   逻辑

用户分区:ext4,  剩余, 挂载 home 节点,  选择性格式化  逻辑

第一个分区:挂载点:/boot(新分区的类型:主分区     用于:Ext4日志文件系统)
第二个分区:挂载点:/    (新分区的类型:主分区     用于:Ext4日志文件系统)
第三个分区:挂载点:/home(新分区的类型:逻辑分区   用于:Ext4日志文件系统)
第四个分区:       swap (新分区的类型:逻辑分区   用于:交换空间)

分区大小:
/boot   500Mb     这个几百M就行,不需要多,一般只会用到200多M
/       60G       // 这个相当于win的C盘,之前这里我选了10g,结果存满导致系统崩了   
/home   20G        // 这个相当于win的其他盘,不做设置的话,一般安装的软件都安装到/分区,所以/分区要大一点
swap    8G        

在这里插入图片描述

 电脑实际分区如下图(两个主分区[/分区、/home分区],一个交换分区):

在这里插入图片描述

配置好分区后,点击Install Now即可。

(5)安装完成后,配置电脑的用户名、密码和计算机名称。

3、删除不需要的文件夹,卸载不需要的软件

4、查看系统信息命令:

uname -a                //显示系统名、节点名称、操作系统的发行版号、内核版本等等

安装搜狗输入法

(1)百度中搜索“搜狗输入法”,进入搜狗官网

(2)右上角选择PC版 → 右上角选择产品中的“输入法Linux版” → 点击“立即下载” → 选择“x86_64”,下载安装包

(3)网页将会自动弹出安装指南,根据安装指南安装即可。或根据笔记本上收藏的网页(https://blog.csdn.net/ourjaycn/article/details/124318570)安装。

安装VScode

(1)一键安装

执行命令:  sudo snap install  - -classic code

注:此种方式安装的VScode为Linux阉割版,代码中不能添加中文注释。

(2)常规安装(推荐)

  • 进入官网:Visual Studio Code - Code Editing. Redefined  点击.deb下载安装包
  • 点Save File保存文件,默认下载到根目录的Downloads里面
  • 在Downloads目录下打开终端,输入以下命令:  sudo dpkg –i 安装包名

(3)安装完成后,输入命令:code即可运行VScode

(4)命令:code .        //用VScode打开当前文件夹中的所有文件

(5)必备插件:

http://t.csdn.cn/vf0VQhttp://t.csdn.cn/vf0VQ

安装Terminator

安装命令:sudo apt-get install terminator

SSH的安装和配置(见文档前表格)

Git的安装和配置(见文档前表格)

Android编译环境搭建

(1)拷贝ComplierEnvConfig-1211.sh(编译环境配置文件)到主机上。

(2)在配置文件所在的目录中打开终端,输入如下命令:

        chmod 777 ComplierEnvConfig-1211.sh   //更改文件权限

        source ComplierEnvConfig-1211.sh     //联网运行该文件

注:命令大概要运行半个小时,过程中需要按照提示键入Y。

(3)Android镜像使用

网址:AOSP | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

        在Ubuntu上配置Android清华镜像可解决Android源码下载失败的问题。

(4)在AndroidXRef网站上看Android系统源码

博文教程:

http://t.csdn.cn/WyhGPhttp://t.csdn.cn/WyhGP

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android是一种广泛使用的移动操作系统,其开发涉及到多个层次,其中底层驱动开发是其中重要的一环。底层驱动开发是指为Android设备上的硬件提供驱动程序的开发过程。驱动程序是操作系统与硬件之间的桥梁,它们负责管理和控制硬件设备的工作。 在Android底层驱动开发的过程中,首先需要了解设备的硬件结构和规格,以及相应的硬件接口和协议。根据硬件设备的不同,可能包括显示器、触摸屏、摄像头、声卡等各种设备。开发者需要研究硬件设备的工作原理和特性,以便编写相应的驱动程序。 其次,开发者需要熟悉Android底层的相关开发工具和API,如HAL(硬件抽象层)、Binder IPC(进程间通信)等,以便与操作系统和应用程序进行交互。底层驱动开发还需要理解Linux内核的相关知识,因为Android是基于Linux内核开发的。 在实际的驱动开发过程中,开发者需要根据硬件设备的特性和要求,编写对应的设备驱动程序。这些驱动程序通常使用C或C++语言编写,并需要遵循一定的编程规范和命名规则。开发者需要确保驱动程序的正确性和稳定性,以及与操作系统的兼容性。 总之,Android底层驱动开发是一项复杂且技术要求较高的工作。它需要开发者具备扎实的硬件和软件知识,以及良好的编程能力。只有通过深入研究和实践,才能开发出高质量的驱动程序,为Android设备的稳定运行做出贡献。 ### 回答2: Android 底层驱动开发是指在 Android 操作系统中编写和调试设备驱动程序的过程。设备驱动程序是连接硬件和操作系统之间的桥梁,能使操作系统识别和与硬件进行通信。对于 Android 应用程序开发人员来说,了解底层驱动开发至关重要,因为它可以帮助他们更好地理解系统的工作原理,并在需要时进行定制和优化。 编写 Android 底层驱动程序需要掌握 C/C++ 编程语言、Linux 内核知识和硬件架构相关概念。在开发过程中,需要了解设备的硬件接口和规范,包括寄存器配置、中断处理、数据传输等。通过编写驱动程序,开发人员可以为设备提供访问系统资源的接口,并处理各种硬件事件和数据传输。 开发 Android 底层驱动程序的主要步骤包括以下几个方面: 1. 硬件初始化:配置设备的寄存器、中断等硬件资源,并注册到操作系统中。这包括初始化 I/O 端口、设备中断控制器、时钟和 DMA 控制器等。 2. 中断处理:在中断发生时,驱动程序需要对中断进行处理。处理中断的程序需要根据中断的类型和来源来执行相应的操作。例如,处理数据接收中断、数据发送中断等。 3. 数据传输:驱动程序需要实现对设备的数据传输功能。这包括读取和写入设备的数据。数据传输可以使用 DMA、中断或轮询方式进行。 4. 设备控制:驱动程序需要实现对设备的控制功能。这包括设置设备的工作模式、参数调整和状态查询等。通过提供合适的接口,应用程序可以通过系统调用来与设备进行交互和控制。 5. 调试和优化:在驱动程序开发的过程中,需要使用调试工具进行问题排查和性能优化。这包括使用 printk() 输出调试信息、使用 gdb 进行调试和性能剖析等。 总之,Android 底层驱动开发涉及到多个技术领域和专业知识,需要开发人员具备扎实的编程基础和理解操作系统和硬件的能力。掌握底层驱动开发可以帮助开发人员更好地理解系统的工作原理,并在需求变化时进行相应的定制和优化。 ### 回答3: Android是目前最流行的移动操作系统之一,其特点是开放源代码、可定制性强以及适应性广泛。在Android系统中,底层驱动开发是非常重要的一部分,它涉及到硬件和操作系统之间的交互。 Android底层驱动开发PDF主要介绍了Android系统中的底层驱动开发相关知识和技术。这些知识和技术包括硬件抽象层(HAL)、内核驱动开发、设备树(Device Tree)、引导加载程序(Bootloader)等。 首先,硬件抽象层(HAL)是Android系统的一个重要组成部分,用于提供硬件与操作系统之间的接口。通过HAL,Android系统可以与各种硬件设备进行通信和交互。PDF中会介绍如何编写和调试HAL,以及如何实现硬件的适配和兼容性。 其次,内核驱动开发Android底层驱动开发的核心之一。PDF中将详细介绍如何编写设备驱动程序,如独立设备驱动和平台设备驱动。此外,还会涉及到设备树(Device Tree)的使用,设备树用于描述硬件设备的信息和属性。 另外,引导加载程序(Bootloader)也是Android底层驱动开发的重要环节之一。PDF中会介绍如何编写和调试引导加载程序,以及如何通过引导加载程序来引导Android系统。 总之,Android底层驱动开发PDF会全面介绍Android系统中的底层驱动开发相关知识和技术,包括HAL、内核驱动开发、设备树、引导加载程序等。对于想要深入了解Android系统底层开发开发者来说,这本PDF是一本非常有价值的参考书。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值