- 博客(22)
- 资源 (7)
- 收藏
- 关注
转载 Kernel下的DMA 地址映射详解
在网上查看了各路大牛的DMA资料,但一直未解决我的问题和疑问;我的问题就是:这个DMA Buf地址区间在哪,是如何划分的。大部分资料都是DMA的抽象层,没有讲到具体,比如这个dma_map_single这个函数。这个phys_addr到底是从哪里来的,是如何受到保护的,以及这个映射关系和dma_unmap_single取消映射之间,是否涉及到phys_addr的关联。xfer->t...
2020-02-15 15:10:26
853
原创 【MTK】Android Camera HAL 层浅析
一、Android Camera HAL层架构 Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。也就是说,把对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间,而Linux内核驱动程序运行在内核空间。 二、Android Ca...
2020-02-14 19:34:27
2477
转载 【Linux】LINUX内核目录文件说明
kernel第一级目录: 内核源代码的根目录下包含了以下文件夹 archblockcryptoDocumentationdriversfirmwarefsincludeinitipckernellibmmnetsamplesscriptssecuritysoundtoolsusrvirtarch- 这个文件夹包含了一个Kconfig文件,它用...
2020-02-14 17:58:55
902
原创 【iptables】bluetooth自组网
一.整体解决的思路本人使用的是bluez5.5,并成功在俩个虚拟机间成功跑了起来。具体的原理暂不详细介绍,蓝牙的解决方案硬件上通常分为串口或是USB。1.串口:tty驱动<->tty线程规划<->tty核心。tty驱动主要承担注册字符设备的角色,tty核心则从用户层或是硬件获取数据,重点在于tty线程规划。线程规划的工作主要是以(bluetooth)...
2020-01-12 11:29:39
539
原创 MTK67xx+Android启动----pre-loader
Bootloader能够准备一个至关重要的执行环境和引导linux操作系统及Android框架(framework)。bootloader主要包括设置处理器和内存的频率、调试信息端口、可引导的存储设备等等。在可执行环境创建好之后,接下来把software装载到内存并执行。除了装载software,一个外部工具也能和bootloader握手(handshake),可指示设备进入不同的操作模式,比...
2020-01-07 12:47:02
522
原创 【MTK】USB网卡移植
1)USB开关选择GPIO 87置高为USB master模式(OTG),置低为slave模式(ADB),DWS里的设置是上电后控制的。 2)OTG功能配置PS: a.alps/kernel-3.18/arch/arm64/configs/sm6735_66_n_debug_defconfig打开OTG选项 CONFIG_USB_MTK...
2019-10-06 17:12:45
581
原创 【MTK】camera移植
硬件IO口配置2.打开vendor/mediatek/proprietary/bootable/bootloader/lk/target/sm6737t_66_n/dct/dct/codegen.dws 以及kernel-3.18/drivers/misc/mediatek/dws/mt6735/sm6737t_66_n.dws,设置前后摄像头的CMRST和CMPDN引脚,...
2019-10-05 21:41:46
809
1
原创 【MTK】LCM移植
软件要求compare_id 必须保证可以正确读取,通过resume 打印信息查看id 读取是否成功与正确,确认OK后需要删除resume compare_id代码,避免由于频繁resume 读取id导致系统可能发生重启; LCD 刷新率 控制在50fps-65fps,须通过fps工具(com.edburnette.fps2d-1.apk) 查看实际刷新率数据,特殊情况再行处理,帧率的高低会...
2019-10-05 16:06:41
1347
原创 【MTK】EMMC移植问题【二】
有的可能烧入不了,或者无法开就需要调节 时序 电压和频率1、修改DDR时序vendor/mediatek/proprietary/bootable/bootloader/preloader/tools/emigen/MT6735/MemoryDeviceList_MT6737M.xls1. 其中 H9CCNNN8GTMLAR 为 2G DRAM(8192+8192),可配...
2019-10-04 17:25:17
1781
转载 【MTK】 EMMC移植常见问题【一】
memory移植常见问题有:1、无法下载;2、下载后无法开机;一、无法下载MTK平台会有以下几种情况:在下载过程中经常出现enable Dram fail的错错误,遇到这种情况第一反应先format 一下memory,然后再down,如果format不行过着还是没法dwon的话,那么再做如下分析;一旦出现此问题,需做确认以下三点:1,必须用最新版本的flashtool下载;2,m...
2019-10-04 17:22:10
1496
原创 MTK6737 WCN省晶体问题
MTK6737是 在6735基础上的升级版本,使用的的是同样的MT6225L(FM、GPS、WCN、BT)芯片,不需要修改驱动,只需要注意是否省晶体的配置,目前只是一个记录,需要根据核心模块的原理选择。此处根据原理图得知使用的是独立晶振.WMT_SOC.cfg下co_clock_flag=1 ->co_clock_flag=0...
2019-08-26 10:59:53
1378
转载 MTK Android7.1 未编译使用git添加版本控制后external/iw/version.sh报错
错误:[ 0% 53/18907] build out/target/product/angler/gen/EXECUTABLES/iw_intermediates/version.cFAILED: /bin/bash -c "external/iw/version.sh out/target/product/angler/gen/EXECUTABLES/iw_intermediates...
2019-08-26 10:35:21
726
原创 MTK_Android9.0修改波特率操作
1.设置preloader波特率alps\vendor\mediatek\proprietary\bootable\bootloader\preloader\custom\k62v1_64_bsp\inc\cus_bldr.h2.修改Uboot波特率alps\vendor\mediatek\proprietary\bootable\bootloader\lk\platfor...
2019-05-16 09:30:29
1299
原创 MT6735 EMI 定制
一:MTK 平台查看eMMC和DDR的工作频率eMMC:adb shell cat /sys/kernel/debug/mmc0/clockDDR:adb shell cat /sys/bus/platform/drivers/emi_clk_test/read_dram_data_rate1. 获取 flash id:cat /sys/bl...
2019-05-10 15:50:07
725
原创 【MTK 6737】Modem编译
之前安卓7.1的编译所使用的是MTK提供的3.18内核,但并未对Modem进行编译和配置。查看ReleseNote发现需要查看"Build_Configure_Modem_MOLY"这张表,解压MT67xx_(xxx)_MOLY.LR9.W1444.MD.LWTG.MP.Vx.tar.gz到某文件,并在make目录下查看 ...
2019-03-16 10:35:41
1213
原创 Linux16.04编译Android 7.1.x
楼主使用的是别人提供的压缩包,所以仅供参考。一.解压tar.gz*分卷压缩包cat filename.tar.gz* | tar xz当然windows下的合并命令是copy /b filename.tar.gz* filename.tar.gz二.修改各级makefile与shell权限chmod 777 `find ./ -name *.mk`; chmod 777 ...
2019-03-02 15:22:19
416
原创 Ubuntu16.04 安装ssh
一.安装ssh-serversudo su apt-get install openssh-server apt-get install openssh-client ifconfig #查看本机IP地址二.确认ssh是否安装成功sudo service ssh start#启动ssh ps -e | grep ssh三.配置sshd_configvi /etc/s...
2019-02-27 22:13:54
227
原创 shell脚本比较运算符
文件比较运算符 -e filename 如果 filename存在,则为真 [ -e /var/log/syslog ] -d filename 如果 filename为目录,则为真 [ -d /tmp/mydir ] -f filename 如果 filename为常规文件,则为真 [ -f /usr/bin/grep ] -L filename 如果 filename为符号链接,则为真...
2018-09-06 15:41:19
685
原创 shell常用正则表达式
^ 行首$ 行尾. 除了换行符以外的任意单个字符* 前导字符的零个或多个.* 所有字符[] 字符组内的任一字符[^] 对字符组内的每个字符取反(不匹配字符组内的每个字符)^[^] 非字符组内的字符开头的行[a-z] 小写字母[A-Z] 大写字母[a-Z] 小写和大写字母[0-9] 数字< 单词头 单词一般以空格或特殊字符做分隔,连续的字符串被当...
2018-09-05 09:13:50
274
原创 码流 /码率 / 比特率
主码流与辅(子)码流 摄像机回传的视频,一般有2个码流,分别成为主码流、子(辅)码流;本地传输可以用主码流,能获得更清晰的存储录像,远程传输就因为带宽限制的原因,而使用子码流来获得流畅的图像和录像。主码流的码流高于子码流;主码流用于存储视频,子码流用于在线实时预览。主码流和子码流是数字化后的两种数据流,通常情况下会采用相同的编码方式,采用同样的数字化算法,图像的清晰程度主要由三个方面决定,分辨...
2018-03-21 17:28:04
3636
原创 音频编码G711校验
G711编码 G711它是国际电信联盟ITU-T定制出来的一套语音压缩标准,它代表了对数PCM(logarithmic pulse-code modulation)抽样标准,主要用于电话。它主要用脉冲编码调制对音频采样,采样率为8k每秒。它利用一个 64Kbps 未压缩通道传输语音讯号。 起压缩率为1:2, 即把16位数据压缩成8位。G.711是主流的波形声音编解码器。 G.711 标...
2018-03-21 17:00:56
1110
原创 C++前向类
前向声明的定义:有些时候我们可以声明一些类但是并不去定义它,当然这个类的作用也很有限了。比如class foo;声明一个foo类,这个声明,有时候也叫做前向声明(forward declaration),在声明完这个foo类之后,定义完这个foo类之前的时期,foo类是一个不完全的类型(incomplete type),也就是说foo类是一个类型,但是这个类型的一些性质(比如包含哪些成员,具有哪些...
2018-03-21 10:56:41
165
bluez-5.51
2020-01-20
Driver_All_in_one_for_6737t.pdf
2019-08-26
Linux设备驱动开发详解:基于最新的Linux4.0内核(电子书版+源码)
2019-04-29
MTK 6737 Modem tools tools/GCC/4.6.2/linux/bin/arm-none-eabi-gcc
2019-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人