自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

nancy的专栏

android,linux

  • 博客(150)
  • 资源 (24)
  • 收藏
  • 关注

原创 MTK logo.bin手动制作(个人博客:浏览器直接输入wugn.tech)

概述目前项目有客户需要更换logo图片的需求,不同客户有不用的定制需求。代码分析目前情况,执行命令systool update bootlogo logo-verified.bin烧录失败:02-01 11:20:47.694 3096 3096 W paxsec : VerifyPaxImageByName logo-verified.bin02-01 11:20:47.694 3096 3096 W paxsec : file logo-verified.bin siz

2021-02-07 15:58:06 3059 2

原创 ST7703 LCM显示屏调试--基于MT6765

参考st7703_hd720_dsi_vdo驱动MTK驱动-----添加lcm液晶驱动在mt6735平台下驱动LCD显示屏步骤各种屏幕分辨率基于MTK平台LCM的移植mtk-lk display代码分析Kernel驱动加载流程mtkfb驱动mtkfb驱动通过数据结构platform_driver挂接的到platform总线上。2890 static struct pla...

2020-12-24 21:26:41 6795

原创 MTK充电温度保护机制

问题点发现低温箱关机状态下能充进去电。开机是正常的。参考Android 8.0 MTK平台 电池高低温提醒客制化kernel充电温度保护机制drivers/power/supply/mediatek/charger/mtk_charger.c充电保护线程:dts:/* Battery Temperature Protection */#define MIN_CHARGE_TEMP 0#define MIN_CHARGE_TEMP_PLUS_X_DEGREE 6#define MAX

2020-12-24 21:24:22 5381

原创 imx8qm LSM9DS1九轴驱动调试

HAL代码:https://github.com/STMicroelectronics/STMems_Android_Sensor_HAL_IIOhttps://www.st.com/content/st_com/zh/products/embedded-software/mems-and-sensors-software/drivers-for-mems/androidhal-iio.htmlkernel层代码:https://github.com/STMicroelectronic.

2020-12-24 21:18:16 1367

原创 fastboot启动初始化流程--基于MT6765

概述lk最主要的工作就是加载kernel和ramdisk,然后跳转到kernel中去执行。同时有几个比较重要工作也是在lk中执行:a.初始化LCD,加载并显示开机logo。b.对启动模式判断,meta模式,recovery模式,power off charging模式,fastboot模式等等。c.fastboot也是在lk中实现的,主要作用就是下载我们手机镜像。检测启动模式软件流程platform/mt6765/platform.c:static int bootstrap2

2020-06-20 11:16:54 3701

原创 XEN增加虚拟网卡linux-android双系统socket通信--基于imx8qm

主要在linux系统中增加start.sh脚本:linux系统主要完成insmod和分配网卡id及netmask工作root@imx8qmmek:/etc/profile.d# cat start.shinsmod /lib/modules/4.14.98+g5d6cbeafb80c/kernel/drivers/net/xen-netback/xen-netback.koinsmod /lib/modules/4.14.98+g5d6cbeafb80c/kernel/net/80.

2020-06-15 17:22:29 625 3

原创 max9286+max96705摄像头调试--基于imx8qm

一.硬件原理1.原理图2.引脚信息 /* max9286 */ SC_P_MIPI_DSI0_GPIO0_00 摄像头电源power-gpios SC_P_MIPI_CSI0_MCLK_OUT 摄像头信号触发,需要26HZ的pwm,gpi-gpios SC_P_ADC_IN0 pwn-gpios /* i2c */ SC_P_MIPI_CSI0_I2C0_SDA

2020-06-15 17:18:35 11592 33

原创 iomux介绍--基于imx8qm

举例:uart0功能实现,pinctrl-0选择的是pinctrl_lpuart0。通过查询datesheet或者i.MX_8QuadMax_Pinmux_v0.71.xlsx得知:UART0_RX和UART0_TX两个引脚分别复用ATL0功能。拆分如下:引脚名称 复用功能名称SC_P_ UART0_RX _ DMA_UART0_RX查询SC_P_UART0_RX_DMA_UART0_RX定义在kernel_imx\include\d...

2020-06-15 17:09:20 2230

原创 uevent拔插事件分析--基于imx8

1.uevent介绍Uevent是内核通知android有状态变化的一种方法,比如USB线插入、拔出,电池电量变化等等。其本质是内核发送(可以通过socket)一个字符串,应用层(android)接收并解释该字符串,获取相应信息。路径:system/core/init/ueventd.cppimx8 uevent说明:At a high level, ueventd listens for uevent messages generated by the kernel...

2020-06-15 17:01:53 2312

原创 驱动开发笔记--workqueue

参考工作队列(workqueue) create_workqueue/schedule_work/queue_work工作队列workqueue应用workqueue 用法实例概述工作队列是另一种将工作推后执行的形式,它可以把工作交给一个内核线程去执行,这个下半部是在进程上下文中执行的,因此,它可以重新调度还有睡眠。在2.6.36之后的内核当中对工作队列子系统作了改变,采用的机制改变为并发管理工作队列机制(Concurrency Managed Workqueue (cmwq))。在原来的机制当

2020-05-15 17:20:42 287

原创 驱动开发笔记--hrtimer高精度定时器

参考linux下jiffies定时器和hrtimer高精度定时器背景jiffies定时器,HZ=100,精度只能达到10ms。hrtimer高精度定时器,可做到ns级,此处做到毫秒如下例:历程#include <linux/dma-mapping.h> //DO-->hrtimer包含以下三个头文件 /* DMA APIs        &nbsp

2020-05-15 17:19:32 530

原创 驱动开发笔记--platform_set_drvdata & platform_get_drvdata分析

概述在用到Linux设备驱动的platform框架时,常常会遇到两个函数platform_get_drvdata和platform_set_drvdata。通常,会在驱动的probe函数中获取device的相关信息,然后使用platform_set_drvdata进行保存局部变量。在其他函数中要用到时(比如remove),通过platform_get_drvdata来获取。函数定义include\linux\platform_device.h:static inline void platfo

2020-05-15 17:18:49 1445

原创 MTK 驱动开发---Vibrator

参考MTK 驱动开发(33)—Vibrator概述pmic mt6357为振动器提供ldo稳压电源。主要文件驱动drivers/misc/mediatek/vibrator/mt6765/vibrator.cdrivers/misc/mediatek/vibrator/vibrator_drv.cDTSkernel-4.9/arch/arm64/boot/dts/mediatek/M50.dts:&odm {... vibrator0:vibrat

2020-05-15 17:16:02 1642

原创 MT6765开机LOGO图片的显示原理

概述 Android 开机画面由三部分组成,第一部分在bootloader启动时显示(uboot);第二部分在启动kernel 时显示(kernel);第三部分在系统启动时(bootanimation)显示(动画)。uboot、kernel的LOGO(项目中一般这两张图片是一样的,即常说的开机LOGO)。代码位置mtk6739_q0_mp1/device/mediateksample...

2020-04-16 17:04:07 2080 4

原创 Ubuntu18.10在VMware中无法自适应全屏

网上查询我自己按照网上的教程反复下载vmware-tools完全没用,GG,所以尝试使用ubuntu自带设置试试看。解决办法setting->Devices->Displays->Resolution调整适应屏幕大小的分辨率即可。...

2020-04-04 09:55:35 657

原创 ubuntu SSH的安装及使用详解

SSH的安装及使用详解SSH简介传统的网络服务程序,如:ftp、POP和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的,就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。所谓“中间人”的攻击方式,就是“中间人”冒充真正的服务器接收你传给服务器的数据...

2020-03-28 15:20:21 1500

原创 android P驱动技巧历程--基于imx8

GPIO例程:DTS: pwn-gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>; #include <linux/of_gpio.h>struct sensor_data {... int pwn_gpio;...}struct sensor_data *max9286_data;dev = &amp...

2020-03-27 11:00:45 940

原创 i2c-tool使用详细说明

1.首先检测系统上有几组i2c:root@imx8qmmek:/etc/xen# i2cdetect -li2c-3 i2c 56247000.i2c I2C adapteri2c-2 i2c 56226000.i2c I2C a...

2020-03-27 10:55:03 12866 9

原创 蓝牙电话详细流程--基于imx8qm

tinyalsa:sco_tx_task负责1、2、3、4 ,in rate 48000, out rate 8000sco_rx_task负责4、3、5然后声音从喇叭输出。 in rate 8000, out rate 48000

2020-03-27 10:47:50 2607 5

原创 USB HOST和device切换原理--基于imx8qm

USB_HOST_GADGET_SWITCH相关文件kernel_imx\arch\arm64\boot\dts\freescale\fsl-imx8qm-mek-domu.dts: 如果开机固定为host模式,只需修改dr_mode = “host”;如果需要OTG功能切换,底层是根据ID PIN引脚的高低电平进行判断(host device),软件上通过otgsc register判断。...

2020-03-27 10:37:21 6566

原创 Android 9.0 Auto及m4 core倒车逻辑--基于imx8qm

新板子car版本android系统收不到m4发送的资源释放消息,屏不亮,先分析一下逻辑关系。上图就是car版本AP核和M41核之间的倒车逻辑。阶段1 系统启动完毕mek_8q.mk 63: $(IMX_DEVICE_PATH)/init_car_m4.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.car_additiona...

2020-03-27 10:32:53 1388

原创 imx8qm LVDS屏 DS90UB9478调试

1.947驱动是根据parade-ps8622.c改编的,电源由于pmic的ldo无法输出1.8v电源,改飞线。2.改编后发现报错定位代码位置vendor\nxp-opensource\kernel_imx\drivers\gpu\drm\imx\nwl_dsi-imx.cimx_nwl_dsi_bind函数最终死在kernel去掉CONFIG_DRM_IM...

2020-03-27 10:22:21 7112 10

原创 imx8背光控制原理

backlight参考文档android lcd 背光控制流程error[ 1286.086494] vehicle_rpmsg virtio0.rpmsg-vehicle-channel.-1.1: rpmsg_send timeout![ 1286.086543] send message failed!06-27 07:05:48.557 2595 2595 I CAR.PO...

2020-03-16 14:21:13 1086

原创 init进程详细分析--基于android 10

init进程详细分析概述android设备上电,引导程序引导进入boot(通常是uboot),加载initramfs、kernel镜像,启动kernel后,进入用户态程序。第一个用户空间程序是init,PID固定是1.在android系统上,init的代码位于/system/core/init下,基本功能有:管理设备解析并处理启动脚本init.rc实时维护这个init.rc中的服务...

2020-03-16 14:20:02 5465 2

原创 Android.bp基于Android 10学习笔记

Android.bp简介Android 7.0之后希望用Android.bp替换Android.mk,bp简单的配置更方便Ninja 文件的产生,而Blueprint和Soong 就此产生。Android 利用Blueprint和Soong 来解析bp文件,经过最终转换为ninja files。 Blueprint和Soong都是由Golang写的项目。 从Android Nougat开始,p...

2020-03-16 14:19:01 6812 1

原创 [MT6765]Preloader_流程分析--基于android 10

preloader运行流程–基于MT6765启动流程简介ARM架构中,EL0/EL1是必须实现,EL2/EL3是选配,ELx跟层级对应关系:EL0 -- appEL1 -- Linux kernel 、lkEL2 -- hypervisor(虚拟化)EL3 -- ARM trust firmware 、pre-loader1.设备上电起来后,跳转到BootROM(不是...

2020-03-16 14:17:54 3987 1

原创 YOCTO_SD_Image

Systemd Auto Start Xen DomUSystemd Serviceroot@imx8qmmek:/lib/systemd/system# cat xen-init-domu.service[Unit]Description=xen-init-domu, initialise DomU configuration (xenstore nodes, JSON configur...

2019-10-10 10:46:29 416

原创 imx8qm wifi sdio调试

imx8qm平台用的是有WIFI和BT功能的Murata芯片,型号是LBEE6U41LQ,WIFI采用sdio接口,由WL_EN控制上电;BT是UART1接口,由BT_EN控制上电;一.硬件原理二.引脚信息/* bt enable*/ SC_P_USDHC2_VSELECT /* uart1 */ SC_P_UART1_RX SC_P_...

2019-10-10 10:38:02 3226 16

原创 imx8 Linux DRM modetest

Linux DRM modetest And QtDRM Testhttps://github.com/grate-driver/libdrm/tree/master/testsroot@imx8qmmek:/etc# modetest --helpusage: modetest [-cDdefMPpsCvw] Query options: -c list ...

2019-10-10 10:32:27 3830

原创 imx8qm android8.1.0源码下载教程

1.env config$ sudo apt-get install uuid uuid-dev zlib1g-dev liblz-dev liblzo2-2 liblzo2-dev lzop git-core curl u-boot-tools mtd-utils android-tools-fsutils openjdk-8-jdk device-tree-compiler gdisk2....

2019-08-12 14:09:51 775

原创 imx8qm学习笔记之memory map

物理内存从系统管理员的角度来看,物理内存映射如下。系统内存映射由AP处理器看到。所有其他的都将引用系统内存映射,并显示为子集。系统中有几个主要的地址映射:•系统内存映射,在AP核中也被视为相同•DAP内存映射,与系统内存映射极为相似。•系统控制器内存映射。这是从M$core形成系统控制器的内存映射。它是一个独立的32位映射,它将窗口包含到整个系统内存映射的各个部分。•M4内...

2019-08-12 14:09:38 926

原创 imx8qm HDMI-TX调试

HDMI参考资料chipset: DS90UB929-Q1iMX8M HDMIHDMI之HPDLinux/DS90UB929-Q1: DS90UB929 HDMI HPD signal is always lowHDMI PIN无引脚复用驱动信息HDP = HDMI + DisplayPort/home/zengjf/imx8src/imx8qm_android/p9.0...

2019-08-12 14:08:07 4268 3

原创 imx8qm Linux L4.9.51 BETA2源码下载及编译环境搭建

  1.编译配置$ DISTRO=&lt;distro name&gt; MACHINE=&lt;machine name&gt; source fsl-setup-release.sh -b &lt;build dir&gt; DISTRO如下: MACHINE=imx8qmmek -b imx8-build编译生成文件路径 $ DISTRO=fs...

2018-12-18 14:37:00 3396

原创 imx8修改manifest仓库分支避开google下载源码

今天工作时遇到的问题,要在安卓8.1上开始适配imx8补丁。目前已经将android-8.1.0_r1从科大源下载下来,准备直接将NXP的原生patch repo下来,所以直接更换了repo下的manifest.xml文件,并注释掉  &lt;!--include name="aosp-O8.1.0-1.1.0.xml"/--&gt; 这是再回到代码主目录,重新repo sync,还是会提示...

2018-12-18 14:36:23 2522

原创 基于imx8qm yocto新建recipes

1)创建 adan-clusterwugn@ubuntu:/fsl-release-bsp/sources$ yocto-layer create adan-clusterPlease enter the layer priority you'd like to use for the layer: [default: 6]Would you like to have an examp...

2018-09-13 10:38:00 3063

原创 imx6平台设备树详解

设备树详解在Linux3.x版本后,arch/arm/plat-xxx和arch/arm/mach-xxx中,描述板级细节的代码(比如platform_device、i2c_board_info等)被大量取消,取而代之的是设备树,其目录位于arch/arm/boot/dts1.设备树的组成1个dts文件+n个dtsi文件,它们编译而成的dtb文件就是真正的设备树soc厂商会把soc...

2018-08-28 15:24:48 6163

原创 imx8qm平台android 8.1.0 添加系统service

8.1中添加系统service与之前有差异,涉及到te文件。网上找了些例子没有实现。特记录总结!1.frameworks/base 目录下添加对应的文件清单如下frameworks/base/core/java/android/app/HelloWorldManager.javaframeworks/base/core/java/android/app/IHelloWorldManager....

2018-08-07 14:37:45 2317

原创 编译Android8.1.0. AOSP遇到的问题(Communication error with Jack server)(Out of memory error)

编译AOSP遇到的问题权限遭拒 由于博客使用了外部硬盘作为out编译输出,make时提示Permission is denied。这时换成sudo make即可。使用外部磁盘做out输出:export OUT_DIR_COMMON_BASE=/media/username/外部磁盘路径/out内存不足 由于笔者的内存只有4G,并且最开始没有分出swap分区,导致多次内存不足编译失败,有多种日志形式...

2018-07-10 19:32:46 5566

转载 ARM内核和架构的关系(超形象)

  好比你盖房子 刚开始因为水平低 流行盖平房 这就是一种架构(V5T);然后这种平房架构你可以设计出一款独立卫生间的款式 这叫ARM7内核;然后其他人(芯片设计公司)想盖房子的就买你这个图纸去盖;然后过一段时间,有人觉得光独立卫生间还不够啊 我还想有个小院子,好吧,那ARM就满足你们,就出个带小院子的款式(ARM9); 又过了很久,这种平房的架构就随着大伙的需求一直改啊改啊。       后来经...

2018-05-29 16:08:20 6335 5

转载 linux下的高效代码搜索工具grep-ack

安装ubuntu下要安装ack-grep,因为在debian系中,ack这个名字被其他的软件占用了。 sudo apt-get install ack-grep特点大家都说自己的东西好,因此ack官网列出了这工具的5大卖点:速度非常快,因为它只搜索有意义的东西。更友好的搜索,忽略那些不是你源码的东西。为源代码搜索而设计,用更少的击键完成任务。非常轻便,移植性好。免费且开源better than g...

2018-04-27 09:43:57 1386

imx8摄像头驱动max9286驱动参考

imx8摄像头驱动max9286驱动参考

2020-12-24

eMMC完全解读、一份很好的eMMC学习资料.ppt

eMMC完全解读、一份很好的eMMC学习资料,非常适合初学者

2018-05-31

ubuntu如何设置静态ip

ubuntu设置静态ip,设置静态ip学习开发,50字节50字节50字节

2018-05-31

android开发常用开发指令

android常用开发指令,非常适合初学者学习开发,基于android4.4

2018-05-31

imx6编译烧录流程详细介绍

imx6编译烧录流程详细介绍,初学者必看!!!!!!!!

2018-05-31

imx8基于android8.0资料

android_O8.1.0_1.3.0_8M,介绍关于imx8处理器的android8.0资料

2018-05-31

imx8MQ资料

The i.MX 8M Quad EVK provides a platform for rapid evaluation of the i.MX 8M Quad, i.MX 8M Dual and i.MX 8M QuadLite applications processors, utilizing 2 to 4x Arm® Cortex®-A53 cores and 1x Cortex-M4 core. It offers high performance with low power, flexible options for memory and high-speed interfaces, as well as industry-leading audio and video capabilities. The board enables HDMI output for simple out-of-the-box bring up. It has LPDDR4, eMMC, QSPI and SDMicro memory options, 10/100/1000 Ethernet port, USB 3.0 connectors and PCIe high-speed interfaces ideal for connected, high performance embedded applications. For audio, video and HMI evaluations, it brings HDMI 2.0a Type-A and MIPI-DSI connectors, as well as 32-bit audio samples with up to 768 kHz sampling rate, an audio interface expansion connector and a headphone 3.5 mm audio jack.

2018-05-31

android recovery运行流程(基于MTK 8217平台)

android recovery运行流程,这个是本人总结的。

2017-08-05

android app自动刷新wifi列表并检测指定设备(可手动添加或者长按列表项添加检测设备)

android app自动刷新wifi列表并检测指定设备(可手动添加或者长按列表项添加检测设备),这个app是自己写的,可用于检测wifi设备是否在线,外观美观简洁,绝对值这个分!

2017-08-05

android ext4文件系统打包详解

此文档是本人在开发过程中总结的ext4文件系统用make_exfs工具打包注意事项。

2017-07-06

IMX6 android_M6.0.1技术文档

非常适合新手的IMX6技术文档

2016-10-25

工程师专利基础知识及企业专利战略

工程师专利基础知识及企业专利战略,可以学习一下。

2016-09-23

linux内核优化总结

针对公司车载电子项目制作的linux内核优化总结文档,基于NXP freescal I.max6可以借鉴。

2016-09-23

git入门实用培训

git实用入门技巧,通俗易懂。

2016-09-23

Mentor APP开发切入说明

Metor app开发详细讲解。

2016-09-23

linux系统菜鸟学习专用资料

我当年就是靠这个学习的linux,里面讲解的非常详细同时也很容易理解消化,是初学者的宝典。

2016-09-23

C语言算法的乐趣(单片机嵌入式必学)

很有意思的算法书籍,用通俗易懂的教学讲解很多C程序算法,对工作很有帮助,也适合初学者。

2016-09-23

Mentor linux嵌入式用户手册

Metor linux开发手册,使用Metor嵌入式的可以参考参考。

2016-09-23

Android APP项目的目录结构和程序的执行流程

详细讲解android app工程目录结构以及执行的流程。

2016-09-23

linux60个常用命令总结

很详细的讲解linux常用的60个基本命令,掌握这些基本上就能随意操作linux系统了。

2016-09-23

linux内核中读写文件数据方式详解

在linux驱动中如何打开其他设备驱动提供的接口进行读写,此文档详细讲解,我看它才弄出来的。

2016-09-23

Shell脚本学习指南笔记

非常详细又简单的分析,很适合入门shell的童鞋~

2016-09-23

Kinetis_芯片解锁方法操作说明书(简单易上手)

每次把 Kinetis系列芯片锁掉了,用此方法就能马上解锁,且简单易学

2014-08-04

MPU 6050 DMP库函数资料

很好的MPU 6050 DMP入门资料~

2013-09-01

空空如也

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

TA关注的人

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