7/22-7/31工作学习总结

新的公司

6月底辞去了浙江东车智能科技有限公司的不靠谱的工作,5月的工资欠了1个多月,所幸辞职后跟同事们一起给公司施加压力,他们7月18号补发了工资。更幸运的是,经过7月份上半个月的心态调整,努力地找工作,上天终于给了个我决定转行到嵌入式开发以来靠谱的工作。我毫不犹豫地立马从杭州来到了上海工作。7月22号是来上海上班的第一天,新的平台,新的环境,持续努力着要在上海好好地提升自己的能力。像周星驰那样对着大海喊:努力!奋斗!

由于新的公司做的是高通和安卓平台,自己以前没有做过,需要学习的东西很多,从入职到现在,除了给同事帮帮忙,基本上每天都是在看资料学习。
下面就是这段时间的工作学习总结,会东一榔头西一棒槌,知识点也涉及得不深入,不成体系。主要供自己学习总结记忆之用,若能给他人带来些许启发或帮助问题的解决,那真是美哉善哉。

1.本公司软件开发管理流程

直接上图片

2.开发人员SVN命令行指南

SVN(subversion)是开放源代码的版本控制系统,很容易上手学习,其中linux系统下SVN版本管理工具最可靠,最便捷,最简单的使用方法还是命令行方式。

  1. svn的编号为E155007的错误提示:不是工作副本目录。(见下图)

    出错原因: 我在从服务器下载主干代码到本地(svn checkout)时,遇到系统提示,【卷 文件系统根目录 仅剩余41KB的磁盘空间】,下载被迫中止。在解决了空间不足的问题后,直接在MSM8953_2016.SPF.3.0.1_AOSP目录下执行 svn cleanup 命令试图去继续下载。 结果报E155007的错误提示。
    解决-----> cd 到主干代码目录下 执行svn cleanup 就ok了。【因为我只是把代码目录 checkout 到当前目录MSM8953_2016.SPF.3.0.1_AOSP,当前目录又不是 svn 管理的目录

  2. 两个高效率使用SVN的提示
    高效率提示一:
    晚上下班前可以在代码的根目录下执行一下 svn update,然后设置一个定时关机,这样第二天你就不要花大量时间来同步代码了。
    高效率提示二:
    不要经常对代码的根目录进行 update,这是一个很漫长的过程,需要花费不少的时间,实际上多数人只需要更新几个特定的目录就行了。提交代码也是如此
    如:
    应用的同事通常更新 build,system,packages,frameworks,vendor
    驱动的同事通常更新 build,system,kernel,bootable
    同步几个子目录所花费的时间远远少于同步根目录的时间!

3.adb工具

adb工具是android debug bridge(安卓调试桥)工具。它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互。在某些特殊的情况下进入不了系统,adb就派上用场啦!
我也是刚刚接触adb工具,记录下自己最近学习的一些命令。

  1. adb devices —》 查看当前上位机连接的adb设备
  2. adb shell ----》登录adb设备的控制台(进入安卓系统设备控制台之后,就不能在输入adb xxx 了,因为此时的shell相当于adb的客户端,上位机相当于adb的服务端,见下图)
  3. 以超级用户状态登录adb设备的控制台的方法
    –》在普通用户(窗口提示符号为$)下,输入 su 命令即可切换(见下图)

    –》在上位机终端输入 adb root 然后再输入adb shell 就可以root权限登录
    4.adb pull <文件路径>
    —》将该文件拷贝到当前目录中,然后可以直接用上位机vim查看
  4. adb push <本地文件目录> <adb终端目标路径>
    –》 将本地修改好的文件上传到adb终端里面 (操作之前需要 输入adb remount 命令进行挂载 否则不可写) 然后adb reboot重启

    查看修改的文件是否运行。若不运行,则尝试按照如下方法解决下
    adb shell rm /xxx/xxx/sns.reg --> 删除相关注册文件
    adb shell sync --> 将内存缓存区中的数据写入到磁盘
    adb reboot

4.安卓启动流程


这一部分知识在CSDN上看了一些文章,也没有看得明白,主要是看了下面连接的一篇老外写的文章,英文水平有限,感觉只能理解60%.
链接: From PowerOn to Android – The Boot Sequence.

5.手机更新驱动文件的方法

烧写方式:

  1. adb reboot bootloader
    fastboot flash boot [path]
    结果发现我的这次操作不行,号哦啊想是fastboot功能被关闭,然后领导就spm教我另一种方法。
  2. 在windows平台下使用Qloader。
    首先在FTP服务器上下载正确的软件版本,(version有三种,1. mdm 2. AP 3. otazip)本案选择了mdm全版本的无MD5的那个)
    然后,将短接线(不上电的USB线)插入手机端usb接口,长按电源键会自动关机进入deloader模式。
    最后,打开Qloader,选择对应的串口,对应的CPU,浏览本地软件包知找到后,选择执行操作,耐心等待一分钟,手机会自动安装刷新安装包。

    这就是线刷,还有卡刷。
    【线刷一般都是官方所采取的升级方式,指使用USB线作为刷机工具进行刷机,线刷一般需要刷机工具 (fastboot)和专用刷机包,刷之前必须确定手机驱动是否已安装好,主要用来刷固件(包含基带、内核) ,如果手机软件故障造成无法开机等情况,就可以考虑使用线刷来修复手机系统(刷机友也喜欢统称这种刷机方式为“强刷”) 。
    而卡刷是把固件或者升级包拷贝到手机SD卡中进行刷机升级操作,是在Recovery 下进行刷机的方式。
    卡刷一般是用来升级的,对于手机的操作有些是卡刷解决不了的,比如系统的重新分区,这些都要通过线刷来进行。】各自的优缺点:???

6.Linux DTS 学习

本周对于linux 设备树资源的学习比较浅,只是大概了解了下相关的概念。
主要是参考CSDN里的如下链接的文章。
链接: ARM Linux 3.x的设备树(Device Tree)

扫描二维码关注公众号,回复: 11301901 查看本文章

ubantu系统之磁盘空间不足

好像分两种情况,一种是 卷 文件系统根目录 空间不足 另一种是 卷 root空间不足。参看下图,它们之间有什么区别呢?

8.安卓架构

二话不说,先上个架构图

到目前为止,只是很粗浅的认识,是参阅下面这篇CSDN博客学来的
链接: 安卓架构

这个随着对安卓认识的深入会持续补充的

总结:今天算是在7月份的尾巴把这篇博文更新完98%了,此时此刻,我还在公司加班,虽然累点但是很兴奋,好不容易入行,一定要努力快速成长。
p.s.
今晚,领导交给了我一个新任务:找到更新系统(从安卓6.0 到 8.0),TP(触摸屏)初始化后正常使用18秒左右,就不能正常工作了。领导很忙,没有时间去定位问题,估计花了半小时给我讲了定位问题的大致框架,我边做笔记边听,觉得很复杂。公司使用的基本工具还没有完全掌握,对我来说很有挑战性。我的目标是 尽力作,多学点,多做点。哪怕解决不了问题,也能尽以下绵薄之力。
希望下周末,写篇相关的文章记录下今天的flag。
下班了,8月加油! 2019/07/31 晚9点

9.其他细节

在这里插入图片描述
是r1 还是 rl 这是一个问题,太细节了 哈哈哈

查看文档时候的一个问题,内存2G 是指 2GB 还是 2Gb 嘤嘤yin。。。

猜你喜欢

转载自blog.csdn.net/weixin_43326587/article/details/95784575