- 博客(211)
- 资源 (8)
- 收藏
- 关注

原创 imx_6ull开发板(野火、原子)问题解决手册
持续更新中。。。。。。2019.11.03增加问题1,2,311221.无法上网https://blog.youkuaiyun.com/weixin_43674943/article/details/854637172.安装vsftpd报错https://blog.youkuaiyun.com/qq_42168575/article/details/811479443.vi无法删除、...
2019-11-03 10:32:57
2764

原创 Wireshark快速查看抓包数据
右键点击获取到的包选择“Follow TCP Stream”选择“hex”或者“C Array”快速查看发送值结果如图
2018-10-25 20:34:31
19362
原创 nijia编译
ln -s prebuilts/build-tools/linux-x86/bin/ninja ninjaln -s out/combined-xxx.ninja combined-xxx.ninja./ninja -f combined-xxx.ninja bootimage dtboimage
2022-03-13 19:55:28
323
原创 printf原理及实现
#include <stdio.h>#include <stdarg.h>#include <stdlib.h>int my_printf(const char* string,...); int main(){ int i = 10000; my_printf("hello world!\n"); my_printf("int i = %d, j = %d", i, 10); my_printf("char i = %c", 5
2021-07-25 20:46:51
500
原创 USB标准协议下载地址
官方网站usb.orgPD协议https://usb.org/document-library/usb-power-deliveryBC1.2https://usb.org/document-library/usb-battery-charging-12-compliance-planUSB2.0https://usb.org/document-library/usb-20-specification
2021-07-04 21:15:27
1511
原创 Linux进程间通信总结
进程间通信的概念每个进程各自有不同的用户地址空间,任何一个进程的变量在另一个进程中都是看不到的,所以进程之间要交换数据必须通过内核,在内核中开辟出一块缓冲区。一个进程把自己的数据从用户空间拷贝到内核缓冲区,另一个进程再从内核缓冲区把数据读走。内核提供的这种机制称为进程间通信(IPC,Inter Process Communication)进程间通信的目的数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间共享数据:多个进程要操作共享数据,一个进程对共享数据信息传递
2021-07-04 20:19:10
901
3
原创 运行内核模块
编译内核sudo ./run_debian_arm64.sh build_kernel编译根文件系统sudo ./run_debian_arm64.sh build_rootfs编译内核模块export ARCH=arm64export CROSS_COMPILE=aarch64-linux-gnu-export BASEINCLUDE=/home/rlk/rlk/runninglinuxkernel_5.0加载内核模块kernel_module.c#include <lin
2021-06-06 21:46:29
325
2
原创 runninglinuxkernel初体验
微信公众号获取资料:runninglinuxkernel安装VMware或者virtualBox导入虚拟机编译内核sudo ./run_debian_arm64.sh build_kernel编译根文件系统sudo ./run_debian_arm64.sh build_rootfs运行系统奔跑起来sudo ./run_debian_arm64.sh run登录user:rlkpasswd:123退出qemu系统CTRL+a, x...
2021-06-06 17:34:11
373
原创 函数指针的理解
#include <stdio.h>int add(int a, int b);int sub(int a, int b);int (*pfunc)(int a, int b);int add(int a, int b){ return a + b;}int sub(int a, int b){ return a - b;}int main(){ int a=1; int b = 2; int c; pfunc =
2021-05-05 20:31:20
215
原创 input子系统
Linux系统支持的输入设备繁多,例如键盘、鼠标、触摸屏、手柄或者是一些输入设备像体感输入等等,Linux系统是如何管理如此之多的不同类型、不同原理、不同的输入信息的输入设备的呢?其实就是通过input输入子系统这套软件体系来完成的。从整体上来说,input输入子系统分为3层:上层(输入事件处理层)、中层(输入核心层)、下层(输入设备驱动层)输入子系统设备驱动层而言,主要实现对硬件设备的读写访问,中断设置,并把硬件产生的事件转换为核心层定义的规范提交给事件处理层。即将底层的硬件输入转化为统一事件形式,想输
2021-05-05 16:49:08
536
2
原创 添加内核线程
内核线程简介内核线程APIDEMO#include <linux/module.h>#include <linux/kthread.h>#include <linux/init.h>#include <linux/irq.h>#include <linux/sched.h>#include <linux/pm.h>#include <linux/slab.h>#include <linux/dela
2021-04-11 21:29:15
202
原创 高通打开充电debug log
charger log:echo -n “file qpnp-smb5.c +p” > /d/dynamic_debug/controlecho -n “file smb5-lib.c +p” > /d/dynamic_debug/controlecho -n “file pmic-voter.c +p” > /d/dynamic_debug/controlecho -n “file battery.c +p” > /d/dynamic_debug/controlecho
2021-03-31 19:48:59
866
2
原创 c语言常用字符串操作函数
1、puts函数说明函数功能这个函数很简单,只有一个参数。s可以是字符指针变量名、字符数组名,或者直接是一个字符串常量。功能是将字符串输出到屏幕。输出时只有遇到 ‘\0’ 也就是字符串结束标志符才会停止。函数原型# include <stdio.h>int puts(const char *s);函数应用# include <stdio.h>#include <stdlib.h>int main(void){ char name[]
2021-02-28 20:28:07
1190
原创 高通pmic voter
votercreate_votable()vote()pmic voter debugfsxxxx:/sys/kernel/debug/pmic-votable # cd FCCxxxx:/sys/kernel/debug/pmic-votable/FCC # lsforce_active force_val statusxxxx:/sys/kernel/debug/pmic-votable/FCC # cat status
2021-02-19 20:44:40
8305
原创 kernel函数timer_setup分析
参考文章:https://blog.youkuaiyun.com/tiantao2012/article/details/79324154
2021-02-03 10:16:51
999
原创 ADB常用命令
ADB DebuggingList of devices attachedadb devicesList connected devices (-l for long output)adb devices -lWirelessadb connectSTEP 1.Set the target device to listen for a TCP/IP connection on port 5555disconnect the USB cable from the Androi
2021-01-07 23:23:27
225
原创 查看freertos的堆栈溢出
在工程文件的 Flash\Obj目录下有编译生成的html文件打开后搜索关键字Max Depth查看有是否超过你设置的深度的调用。
2021-01-02 21:16:05
772
原创 TI charger ic手册分析
之前用过TI的BQ25890H,最近又使用TI的这款芯片,其实同功能芯片相似度非常高,做个记录芯片手册获取FAE或者TI官网下载手册构成重点章节手册总共55页,对于软件开发开发来说,都是重点,刚上手主要还是1,6,8(8.4)学习思路...
2020-12-13 19:56:00
1181
原创 pinctrl子系统的使用
简介pinctrl子系统简介demo设备树pin配置 rg_otg_active: rg_otg_active{ mux { pins = "gpio4"; function = "gpio"; }; config { pins = "gpio4"; drive-strength = <2>; bias-disable; output-high; }; }; rg_otg_sleep: rg_otg_sleep{ mu
2020-12-13 19:43:44
221
原创 充电计算
电池充电时间的计算xxxx mah * 额定电压/充电电压效率按照85%假设电池3850mah,额定电压3.86V充电电压5V。3.85*3.86/5/0.85 = 3.49h充电电流计算 0.2c,假设电池3850mah电池电流为3850*0.2 = 770ma
2020-12-02 20:00:47
740
原创 MTK如何配置长按关机
[DESCRIPTION]禁用长按power key重启,以及调整长按时间等问题。[SOLUTION]6359参考配置如下:Preloader:In <preloader_path>/platform/<chip_id>/default.makCFG_LPRST_SUPPORT :=1(1): enable long press shutdown, (0): disable long press shutdownONEKEY_REBOOT_NORMAL_MODE_PL
2020-10-25 21:34:56
1338
原创 MTK如何修改usb驱动能力
[DESCRIPTION]USB驱动能力调节方法;USB眼图测试fail处理方法;[SOLUTION]1、USB眼图测试fail通常需要修改如下两个register调节USB驱动能力:RG_USB20_VRT_VREF_SEL:调整VRT的电压大小, 电压愈大, DP DM上SWING愈大,等效调整眼图斜率;RG_USB20_VRT_VREF_SEL:直接调整DP DM 电压大小,等效调整眼图的高度2、修改或查看USB驱动能力有三种方法:1)工模菜单通过"##3646633##"进入工程模
2020-10-25 21:17:46
2179
2
原创 MTK log系统了解及log获取
1、概述Android LogAndroid Basic Log Type1 Main log2 System log3 Event log4 Radio LogLinux Kernel LogModem logNetwork Logother special Log, tracesoverview of Android Logging System2、log 获取Android Basic Log Typelogcatadb logcat -b all &
2020-08-30 16:32:47
843
转载 MTK preloader
http://blog.youkuaiyun.com/mcgrady_tracy/article/details/39340209preloader按照mtk的说法是MTK in-house developed loader,也就说是mtk内部开发的一个loader,那么单独编译preloader也是可以的,使用命令./mk project_name n pl。1. 启动流程首先需要明确的是preloader、lk、kernel、android这些系统镜像文件是存储在nand flash中的,然后每个mtk芯片.
2020-08-23 20:52:40
1154
原创 MTK平台如何快速的单编模块
修改code后remake android,耗时长,效率低,怎样才能单独编译某个模块android有快速编译某个模块的命令,使用如下:代码包要先new过以后执行如下两条命令:source ./build/envsetup.shTARGET_PRODUCT=XXX_PRJ后就可以快速编译某个模块,比如 ./mk mm mediatek\platform\mt6577\hardware\audio 单独编译audio模块其他模块也一样,只要指定的路径下有Android.mk每次new 完后都需要
2020-08-23 15:14:08
1595
原创 P18.git refspec与远程分支
*git开发用户张三李四push完整命令git push origin srcBranch:destBranchpull完整命令git pull origin srcBranch:destBranchHEAD标记HEAD文件是一个指向当前分支的引用标识符,该文件内部并不包含SHA-1值,而是指向另一个引用的分支执行git commitgit会创建一个commit对象,并且将这个commit对象的parent指针设置为HEAD所指向的SHA-1值我们对git的所有操作都会被
2020-08-02 23:20:14
196
原创 P10.标签与diff
1标签ignore@zhanghuan MINGW64 /e/procedure/git/src (dev)$ git statusOn branch devnothing to commit, working tree cleanignore@zhanghuan MINGW64 /e/procedure/git/src (dev)$ git tag v1.0ignore@zhanghuan MINGW64 /e/procedure/git/src (dev)$ git tag -a
2020-07-29 23:33:31
169
原创 添加一个内核定时器
实现功能:在gpio驱动中加了一个一秒打印内核中的修改比较简单,基本都是API调用,具体的原理以后再分析吧,内部实现不是很复杂/*定义定时器结构体*/static struct timer_list timer;void mytimeout(void){ printk("mytimeout func.\n"); mod_timer(&timer,jiffies + HZ);}/*定时器初始化函数*/void mytimer_init(void){ ini
2020-06-08 21:58:37
254
原创 内核镜像和设备树的快速替换
预置条件NFS文件系统挂载在开发板上查找zImage和dtb文件root@imx6ull14x14evk:~# cd /root@imx6ull14x14evk:/# find . -name "zImage"./boot/zImage./usr/lib/opkg/alternatives/zImage./run/media/mmcblk1p1/zImageroot@imx6ull14x14evk:/# find . -name "*.dtb"./run/media/mmcblk1p1.
2020-06-07 11:16:44
2030
3
原创 华为笔试:最小公倍数
题目:牛客搬运题目描述正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。输入描述:输入两个正整数A和B。输出描述:输出A和B的最小公倍数。示例1输入5 7输出35解法1:通俗易懂#include <stdio.h>int main(){ int i; int j; int temp; int s; scanf("%d %d", &i, &j
2020-06-02 23:07:06
184
STM32F10x_lib.h
2017-04-10
MSP430F149数据手册
2016-05-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人