- 博客(9)
- 资源 (2)
- 收藏
- 关注
原创 vim查看Linux内核源码小技巧
通过配置vim搭配cscope阅读内核源码,非常高效。阅读源码时我们常用的需求是:1.查看这个函数被调用的情况2.查看函数定义3.查看变量的定义4.查看所以引用函数的地方通过配置vim快捷键都能实现上面的功能。我使用的配置放在我的仓库里面https://github.com/QtForQT/mScripts.gitcp vimrc ~/.vimrc一 利用csc...
2019-12-26 18:26:50 953
原创 Linux 4.19.88 移植到imx280
最近闲,有大把时间。想学习下linux内核核心层的一些东西。准备使用几年前买的周立功的imx280开发板。最后移植成功的代码放在:https://github.com/QtForQT/imx280_zlg.git现在是 u-boot-2017.09 + Linux 4.19.88一 内核修改修改了arch/arm/boot/dts/imx28-evk.dts 里面调试串口...
2019-12-26 11:08:30 969 2
原创 00-Linux leds子系统分析
1.简介Linux版本:linux-4.15leds子系统主要是通过/sys/class/leds/ 下面文件给用户空间提供功能:打开关闭LED,使LED闪烁,利用系统事件使LED亮灭对应的文件节点是:brightness blinktrigger涉及主要文件在drivers/leds/的 led-class.cled-core.c 数据结构头文件:include/linux...
2019-12-04 16:34:18 677
原创 cscope 精准定位代码位置
背景当初入了vim的坑,习惯了vim的编辑方式和命令。现在发现eclips,visual studio code这些工具门槛更低,而且有很多优秀的功能。vim的特点是这些优秀的功能可以靠插件实现。目前我的vim配置了:YouCompleteMe,cscope,配置了cscope的快捷键可以一件找到定义处和调用处。在有cscope阅读代码是遇见已经糟心事:linux kernel代码
2017-10-09 16:40:56 573
原创 我的调试小技巧
1.只打印一次。#define ALOGE_ONCE(_s,_f,...) {static char _s = 1;if (_s == 1) {ALOGE(_f,##__VA_ARGS__);printf(_f,##__VA_ARGS__);_s = 0;}}参考:http://www.cnblogs.com/caosiyang/archive/2012/08/21/2648870.h
2016-12-14 11:21:09 263
原创 barebox启动分析(一)
barebox启动分析 一当做了uboot,kernel,little kernel 的启动分析后,其实会发现启动分析也有一定的方法第一步链接脚本无论是哪个项目,我们看代码的入口总是先去找main,而这些项目,我们去找链接脚本 barebox的链接脚本:arch/arm/lib/barebox.lds.SENTRY(start)SECTIONS{#ifdef CONFIG_RELOCATAB
2016-06-13 22:59:57 1279
原创 linux kernel 4.6 移植到imx280手札
资源简介周立功过节发招,49元买了imx280核心板:ARM926EJ-S 架构 arm v5TE 指令集,cpu最高能跑450M默认光盘资料是 比较老的uboot-2009加linux-2.6内核。因为本人电脑是ubuntu环境,周立功提供的烧写环境都不适用与我的电脑。不过众里寻他千百度,终于在开源项目rockbox里面找到一个linux下面的usb烧写工具.外加一根串口
2016-06-12 21:43:07 2978 1
原创 关于rmmod: chdir(3.1.0): No such file or directory错误
将linux内核编译成模块时,加载正常,但是rmmod是出现 rmmod: chdir(3.1.0): No such file or directory错误。网上搜了下,发现时在 /lib/modules/ 没有对应目录。因为linux内核卸载模块式要在这个目录下找相应的模块。但是每次卸载时都要将文件拷到这个目录很麻烦,于是写了个加载模块的和卸载模块的脚本#!/bin/shMODDIR=/li
2013-11-29 12:41:56 851
axf_to_hex.bat
2019-11-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人