自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

上周的博客

期待诗和远方,但生活还是要脚踏实地

  • 博客(103)
  • 资源 (10)
  • 收藏
  • 关注

原创 全志H713/H618方案:调焦电机(相励磁法步进电机)的驱动原理、适配方法

* 全志H713平台,作为FHD投影的低成本入门方案,其公板上也配齐了许多投影使用的模组,本文即介绍投影仪调焦所用的步进电机,此模组的驱动原理、配制方法、调试方法。* 因为条件限制,本文采用的是H618香橙派Z3平台,驱动从H713上移植过来(遵循GPL协议)。

2024-02-25 22:31:35 1589

原创 【Android 13】使用Android Studio调试系统应用之Settings移植(十一):Android.bp依赖分析,完成SettingsLib的移植

本文是andorid 13 系列,不像之前Android 9和Android 11的文章,这一次换了个思路来写文章。这是android 13的第11篇,终于轮到二师兄SettingsLib了,解决完它就到正主Settings App了。

2024-02-25 10:29:40 146

原创 i2c总线及设备测试工具i2ctools:i2cdetect、i2cdump、i2cget、i2cset

- 在编写某I2C设备之前,可以使用开源的I2C测试工具,先对总线和设备的连通性做一个简单测试,或更进一步手动发送一些命令,进行设备的初始化、检验相关功能。- 本文即介绍i2ctools工具,它的源文件只有1个.c文件,但编译后有一组子工具。在全志的芯片平台上,基本都有携带,可以直接使用,例如H713以及本文的H618平台,掌握此工具后,可大幅提升I2C设备的开发和调试效率。

2024-02-25 01:38:02 749

原创 【Android 13】使用Android Studio调试系统应用之Settings移植(十):外部模块依赖WifiTrackerLibRes的移植

本文是andorid 13 系列,使用AS移植系统应用文章的第十篇,将移植WifiTrackerLibRes模块,这个模块藏得深了一点,结构复杂,但我们只需要它源码里的资源部分,用其res来创建一个Module,所以,也记录一下吧。本文有配套gitee项目,有完整的源码和git commit修改记录,有需要的,可以加我,文章底部有二维码,BSP开发各类文章持续分享中,喜欢的点个收藏、点个关注。

2024-02-20 11:38:54 222

原创 【Android 13】使用Android Studio调试系统应用之Settings移植(九):外部模块依赖setupcompat,解决AIDL自动生成、引用的正确方法

本文是andorid 13 系列,使用调试系统应用Settings,系列文章的第九篇。出现新问题的模块,是SettingsLib所依赖的一个外部模块setupcompat,其代码和结构很复杂,并混有AIDL相关源文件,本文就分享下处理AIDL的正确方法。

2024-02-20 11:01:37 61

原创 【Android 13】使用Android Studio调试系统应用之Settings移植(八):DeviceStateRotationLock,解决java和kotlin的混用

本文是andorid 13 系列,使用AS移植系统应用文章的第八篇。出现新问题的模块,是SettingsLib内的DeviceStateRotationLock,其特殊之处是混合了kotin和java代码,所以遇到需要解决混合代码问题的时候,可以参考下本章的配置。

2024-02-18 17:21:27 56

原创 C语言结构体赋值的四种方式

在阅读驱动源码中遇到了一些宏定义的结构体赋值,发现所赋值成员的个数与结构体成员个数不一致,于是乎就混乱了……这不就是总是改别人的代码,时间长了,连基础的语法也忘了,至此,就复习一下,这里总结了C语言结构体的四种赋值方式。

2024-02-02 11:09:52 1288

原创 全志H713红外IR遥控配置方法

全志H713 Soc是一颗 A53四核心,支持MAX 2GB DDR, 支持1920x1080P LVDS接口, 支持梯形校正功能的芯片,非常适合用于开发投影仪,尤其是低成本的LCD投影。本文详细介绍此平台,配置一个新的红外遥控器的方法。

2024-02-01 10:41:33 522

原创 全志H713编译环境搭建

全志H713 Soc是一颗 A53四核心,支持MAX 2GB DDR, 支持1920x1080P LVDS接口, 支持梯形校正功能的芯片,非常适合用于开发投影仪,尤其是低成本的LCD投影。 本文即介绍此芯片平台的编译环境的搭建方法; 从本人装过如此多平台的编译环境来看,最佳的服务器版本为ubuntu 20.04。

2024-02-01 10:29:37 413

原创 全志H713 Android 11 :给AOSP源码,新增一个Product

在开启一个新的android案子时,为了和原有项目区分开,一般均需要创建新产品自己的device或者Product目录。本文即以全志H713平台为例子,介绍新增一个名为myboard的产品。同时因为其派生自公版h713-tuna\_p3,所以将其源码目录命名为h713-tuna\_p3\_myboard。

2024-01-31 15:31:55 440

原创 基于全志H713 Android 11:给TvSettings添加default.xml默认值

如今去过厂家的SOC,尤其是国产芯片,在设计其Android AOSP系统的时候,基本都会遵循谷歌的架构和规范。本文基于全志H713 Android 11平台,介绍如何给谷歌标准版的TvSettings添加default.xml默认值。

2024-01-31 11:21:35 1271

原创 【Android 13】使用Android Studio调试系统应用之Settings移植(七):Search子模块,新的依赖,解决找不到javax.annotation的问题

本文是andorid 13 系列使用AS移植系统应用文章的第七篇。本次遇到困难的主角,是SettingsLib的子模块Search。在android-11中,和这个模块很容易移植,直接参照前六篇文章即可。 然而search模块,在安卓13中,用相同方法,却会遇到找不到javax.annotation.processing.AbstractProcessor注解类的问题。 从度娘那可以了解,此类,其实是JDK1.6就开始具有的类……可为何引用不到?

2023-12-26 15:58:46 1029

原创 【Android 13】使用Android Studio调试系统应用之Settings移植(六):BannerMessagePreference

本文是andorid 13 系列文章,第六篇,因在移植BannerMessagePreference时,遇到了新的问题,于是有了这篇文章。- 对于做ROM,或者是做Android 嵌入式系统开发的同学,在获得原厂代码后,总需要定制开发settings、liveTv、信源菜单、工厂菜单等APP,但这些APP都是以android.bp的形式,集成在AOSP源码中,对于习惯于Android Studio开发的同学,很是不方便,所以就想要将这些APP代码迁移到AS上,一个方便,二个提高效率。本文正式处于此需要,所

2023-12-25 16:21:42 1377

原创 【Android 13】使用Android Studio调试系统应用之Settings移植(五):ActionButtonsPreference和Utils

andorid 13 系列文章,第五篇,本问继续相同方法移植子模块,直到遇到新的问题,对于做ROM,或者是做Android 嵌入式系统开发的同学,在获得原厂代码后,总需要定制开发settings、liveTv、信源菜单、工厂菜单等APP,但这些APP都是以android.bp的形式,集成在AOSP源码中,对于习惯于Android Studio开发的同学,很是不方便,所以就想要将这些APP代码迁移到AS上,一个方便,二个提高效率。本文正式处于此需要,所做的总结。

2023-12-25 07:15:00 1138

原创 【Android 13】使用Android Studio调试系统应用之Settings移植(四):40+个依赖子模块之ActionBarShadow

andorid 13 系列文章,第四篇:40+个依赖子模块之ActionBarShadow,完成AS移植。 对于做ROM,或者是做Android 嵌入式系统开发的同学,在获得原厂代码后,总需要定制开发settings、liveTv、信源菜单、工厂菜单等APP,但这些APP都是以android.bp的形式,集成在AOSP源码中,对于习惯于Android Studio开发的同学,很是不方便,所以就想要将这些APP代码迁移到AS上,一个方便,二个提高效率。本文正式处于此需要,所做的总结。

2023-12-24 22:57:24 1244

原创 【Android 13】使用Android Studio调试系统应用之Settings移植(三):构建settingsLib项目目录

andorid 13 系列文章,第三篇:对于做ROM,或者是做Android 嵌入式系统开发的同学,在获得原厂代码后,总需要定制开发settings、liveTv、信源菜单、工厂菜单等APP,但这些APP都是以android.bp的形式,集成在AOSP源码中,对于习惯于Android Studio开发的同学,很是不方便,所以就想要将这些APP代码迁移到AS上,一个方便,二个提高效率。本文正式处于此需要,所做的总结。

2023-12-24 20:00:27 1351

原创 ubuntu启动emulator : /dev/kvm is not found: VT disabled in BIOS or KVM kernel module not loaded

微星B450M主板的BIOS默认居然未开启虚拟化技术,导致AOSP的emulator无法启动,本文记录错误的出现及解决办法。

2023-12-24 19:06:51 705

原创 【Android 13】使用Android Studio调试系统应用之Settings移植(二):构建settings app项目目录

系列文章的第二篇:对于做ROM,或者是做Android 嵌入式系统开发的同学,在获得原厂代码后,总需要定制开发settings、liveTv、信源菜单、工厂菜单等APP,但这些APP都是以android.bp的形式,集成在AOSP源码中,对于习惯于Android Studio开发的同学,很是不方便,所以就想要将这些APP代码迁移到AS上,一个方便,二个提高效率。

2023-12-24 03:47:46 1414

原创 AOSP源码下载方法,解决repo sync错误:android-13.0.0_r82

最近写文章,反复多次折腾AOSP代码,因通过网络repo sync aosp代码,能一次顺利下载的概率很低,以前就经常遇到,但从未总结,导致自己也要回头检索方法,所以觉得可以总结一下,涉及下载最新、各分支AOSP代码的方法,以及如何处理所遇到的同步错误及其解决方法,现分享给大家~

2023-12-24 01:38:01 2588

原创 使用keytool查看Android APK签名

在调试系统APP过程中,总会遇到APP无法安装的问题,很多时候,就是系统APP签名不一致,本文即介绍使用keytool查看Android APK签名的方法。

2023-12-23 23:55:49 1310

原创 【Android 13】使用Android Studio调试系统应用之Settings移植(一):编译服务器的配置、AOSP源码的下载、编译、运行

- 对于做ROM,或者是做Android 嵌入式系统开发的同学,在获得原厂代码后,总需要定制开发settings、liveTv、信源菜单、工厂菜单等APP,但这些APP都是以android.bp的形式,集成在AOSP源码中,对于习惯于Android Studio开发的同学,很是不方便,所以就想要将这些APP代码迁移到AS上,一个方便,二个提高效率。本文正式处于此需要,所做的总结。此前已发表过android-9、android-11系列移植文章,本次继续更新android 13系列移植文章。

2023-12-23 22:52:48 1621

原创 Android Studio: 解决Gradle sync failed 错误

今天调试项目,发现新装的AS,在下载gradle的过程中,一直显示连接失败,Gradle sync failed, Connect time out,哪怕加上梯子也不行。后查了下,记录下来解决办法

2023-12-19 18:40:09 3008 1

原创 使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题

最近合AOSP蓝牙相关patch,涉及apps,framework等多个部分,出现了编译不过的问题,错误看得一头雾水,想起来,可以用Android Studio导入AOSP代码来进行排查,透过AS的语法提示,补全功能,问题很容易就解决了,于是记录一下,分享给大家。

2023-12-08 14:39:17 1403

原创 海奇(Hichip)编译环境搭建:适用于hclinux及hcrtos

最近适配海奇平台,再次面临服务器搭建问题,总结了下。适用于海奇LINUX和RTOS平台,原厂使用ubuntu 18.04平台搭建,本文档适用于14.04~22.04版本。

2023-12-07 16:34:35 614

原创 ubuntu 14.04的git 错误: gnutls_handshake() failed: Handshake failed

最近使用ubuntu14.04,搭配gitlab出现此gnutls_handshake() failed: Handshake failed问题,一直未能解决,直到找到本文的脚本,修正编译错误后,终于得以解决。记录一下,分享给大家。

2023-12-07 11:54:44 822

原创 团队环境搭建:全志TV303/H713 编译环境搭建方法

【代码】团队环境搭建:全志芯片TV303/H713系列TV和投影芯片,android编译环境搭建方法。

2023-12-01 11:05:27 713

原创 [Android 11]使用Android Studio调试系统应用之Settings移植(七):演示用AS编译错误问题

距离2021年开始,系列文章发表已经有近两年了,依旧有网友反馈一些gitee上演示源码编译的一些问题,这里就记录一下。

2023-08-16 01:17:22 602 1

原创 OpenHarmony 3.2:制作OTA升级包,附脚本及配置

开源鸿蒙的OTA包需要手动制作,真是够扯淡的事情。本文介绍手动制作的流程和细节,顺带附了一个简单的OTA打包脚本,基于RK3568。

2023-08-02 11:00:44 1001 4

原创 Android Selinux 问题处理笔记

对于Android的Selinux,处理Selinux问题,如果只是解决权限问题,不需要去理解那么多理论,按下面模板处理即可。但请注意,在enforce模式下,报错是不会有打印产生的,所以先要将selinux设置为Permissive才行。

2023-07-19 09:15:04 993

原创 内核实验(九):添加IO驱动的阻塞读写功能

继续使用qemu调试内核的实验。本章复习阻塞与非阻塞IO的概念,以及进程随眠和唤醒相关内核机制,然后对之前实验(八)的代码做少许修改,添加阻塞的IO读写。

2023-03-19 19:19:50 419 1

原创 内核实验(八):实现O-NONBLOCK非阻塞读写

继续使用qemu调试内核的实验。本章复习阻塞与非阻塞IO的概念和机制,然后对之前实验(七)的代码做少许修改,来实现非阻塞的IO读写。

2023-03-19 12:46:58 718

原创 内核实验(七):使用内核KFIFO环形缓冲区机制

继续使用qemu来做内核实验,本文介绍内核KFIFO。Linux内核实现了一个称为KFIFO的环形缓冲区的机制,它可以在一个读者线程和一个写者线程并发执行的场景下,实现免锁的安全读写,由KFIFO来管理了缓冲区的使用情况,省去许多是,特别方便。

2023-03-19 11:19:13 804

原创 内核实验(六):使用misc框架,实现简单字符设备驱动

使用自行组建的Qemu Linux虚拟机,提升效率,继续内核实验。本文将学习使用misc框架来创建设备驱动。在linux系统中,主设备号,在历史的长河里,都是固定分配好的(见内核文档 Documentation/admin-guide/devices.txt)。对于其他研究内核驱动,或编写驱动的开发人员来说,必须保证自己所使用的主设备号不与现有设备号发生冲突。方法一,自然是使用内核实验(五)中所使用的动态分配接口。其次,就是使用MISC设备驱动框架,它为这些小设备提供了一个公用的主设备号,此设备号则依据

2023-03-19 00:47:39 475

原创 内核实验(五):传统简单字符设备驱动

本文继续内核实验,上一篇搭建好NFS后,从本章开始,实验可以加速了,目标是把内核相关部分的实验都再做一次,虽然有现成源码,但从以往学习经历看,自己还是得多少做一些改动,对于要自虐的,可以从头打一遍,这样效果会好很多,练习完后,做个总结。实验简单,花的时间也不多,温故而知新。

2023-03-18 22:42:12 469

原创 内核实验(四):Qemu调试Linux内核,实现NFS挂载

在文章《内核实验(三)……》中,通过挂载虚拟分区,解决了Host和虚拟机文件交换的问题,但依旧比较麻烦。为了提升效率,必须解决NFS挂载共享文件夹的问题。如能实现,则直接在虚拟机上挂载服务端的NFS目录,即可实时交换文件,大大提升效率!

2023-03-18 02:39:53 1343

原创 内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试

为了学习Linux内核,限制于自己的编译服务器性能较弱,不便于使用Android源码进行编译;退而求其次,自己制作一个小型的linux系统,并通过Qemu来运行。使用Qemu模拟能获得更快的调试速度(只有kernel源码,编译自然比AOSP快N个倍啦!),甚至可以使用gdb进行断点调试,本文基于内核实验的前两篇文章,通过创建虚拟分区的笨方法进行测试,贵在简单。

2023-03-17 18:41:52 1549

原创 内核实验(二):自定义一个迷你Linux ARM系统,基于Kernel v5.15.102, Busybox,Qemu

本文作为使用qemu学习、调试Linux系统的第二篇,将自己制作一个小型的Linux系统,这个系统包含我们自己编译的5.15.102稳定版内核,以及自己制作的根文件系统,内含busybox提供的丰富工具。

2023-03-16 02:31:23 1078

原创 内核实验(一):使用QEMU+GDB断点调试Linux内核代码

日常工作中对于内核的调试,大部分情况下只能使用printk来追加打印。而如果只是学习内核代码的话,则可以借助QEMU虚拟机+GDB的配置,来做到断点调试,同时又不需要额外购置任何设备,例如开发板、JTAG等等。

2023-03-15 19:43:27 783

原创 基于Amlogic 安卓9.0, 驱动简说(五):基于GPIO、LED子系统的LED驱动

- 本章介绍LED子系统的使用。 使用LED子系统,可以轻松实现对LED,例如常见的闪烁和亮度控制功能。 简单起见,本章先使用GPIO实现,在不模拟PWM的情况下,只能实现点亮和灭灯的效果,重点是介绍GPIO、LED子系统的使用。

2023-01-05 01:55:14 1193

原创 恢复消失的“Windows 照片查看器“

- 不知什么时候,“Windows 照片查看器”消失在右键菜单中……,想找个干净轻量级的图片浏览器还真不容易,所以还是想办法把它恢复吧!- 谁能告诉我,是哪个“流氓”AI最喜欢干这事……

2023-01-01 11:45:57 273

AOSP源码下载方法,解决repo sync错误:android-13.0.0-r82

AOSP源码下载方法,解决repo sync错误:android-13.0.0_r82,是本文操作记录的完整打印,包含操作命令、日志打印等信息。有此log,aosp repo sync 如何操作,一目了然。

2023-12-24

解决git错误: gnutls-handshake() failed: Handshake failed

解决ubuntu 14.04版本上的git工具错误gnutls_handshake() failed: Handshake failed。已增加C99支持。

2023-12-07

ubuntu 14.04的git 错误: gnutls-handshake() failed: Handshake failed

解决ubuntu 14.04的git 错误: gnutls_handshake() failed: Handshake failed

2023-12-07

原创:OpenHarmony 3.2:OTA升级包制作脚本

原创:OpenHarmony 3.2:OTA升级包制作脚本

2023-08-02

MT9269 MTK AOSP TV 添加一个投屏热键 Hotkey的一个例子

MT9269 MTK AOSP TV 添加一个投屏热键 Hotkey的一个例子

2022-10-09

Android Framework 开发

Android Framework 开发

2021-11-10

MHEG-5标准.rar

包含了搜集的一些MHEG标准,和MHEG中文扫盲介绍,很详细的介绍MHEG包含哪些内容,MHEG的发展历程(MHEG1->MHEG8),对于新学MHEG5的人来讲,还是蛮适合的。

2020-03-19

VC数据库编程三步曲(完整光盘代码--绝对值得收藏)

完整的章节 完整的代码 完整的数据库文件 绝对值得收藏!!!

2010-04-15

构建嵌入式Linux系统(中文版 PDF格式)

构建嵌入式Linux系统(中文版 PDF格式)

2009-05-12

ARM体系结构与编程(杜春雷 PDF格式)

ARM体系结构与编程(杜春雷 PDF格式)

2009-05-10

LINUX系统分析与高级编程技术(PDF格式)

LINUX系统分析与高级编程技术(PDF格式) 总计30章 非常完整 入门必备

2009-05-10

LinuxC函数库参考手册 pdf

LinuxC函数库参考手册 pdf,学习必备

2009-03-12

Understanding The Linux Kernel the Third edition

Understanding The Linux Kernel the Third edition 2005年第三版

2009-03-12

Linux Application Development second edition (pdf)

Linux Application Development

2009-03-12

GCC库函数头文件详解

libc-user-manual.chm

2008-12-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除