自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (7)
  • 问答 (3)
  • 收藏
  • 关注

原创 OK6410开发板android系统boot编译—/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc:命令未找到

问题背景这个问题是楼主在做OK6410开发板Android系统boot编译的时候遇到的。当时按照教程文档安装好Ubuntu-amd-64和配套交叉编译器之后,进行make编译u-boot,直接报如下错误:/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc:命令未找到解决方法1 常规解决方法类似这种问题,常见的原因有以下两种:1

2016-09-21 23:37:42 4544 1

原创 Linux驱动开发(二)—DMA的使用(一)

1 DMA概念DMA顾名思义就是指设备和内存之间、内存和外部存储设备之间进行直接的数据读写操作,而不需要CPU的参与。2 DMA原理       DMA传输需要由DMA控制器DMAC进行,当需要进行DMA传输的时候,DMA控制器会发出占用总线的请求,当CPU响应DMA的请求时,暂时放弃对总线的控制权,当DMA传输结束的时候,DMAC会向I/O接口发出结束命令,并将总线控制权交还给CPU

2016-05-07 16:39:49 8294 1

原创 一次意外的ioctl调用错误—论不同版本内核的ioctl函数实现

前言         人要经常学会反思总结,这样才能不断的进步。同样,一个合格优秀的软件工程师也需要经常的总结反思自己工作中遇到的问题,这样才能使自己的能力不断的提升。我从来不给自己定位为程序猿,多年后,请叫我软件工程师乃至软件架构师,哈哈,又装逼了我!纵使我现在还年轻,能力阅历还未达到大师级别,但是人要有梦想,万一实现了呢?可是相比较梦想,我觉得有目标比较实际。卧槽,每次写博客都是这样,先是

2016-03-29 20:30:12 11276 3

原创 qt编译运行错误—无法启动此应用程序,因为计算机中丢失XXX.dll

前言        这个问题源于我那时候重新拿回旧电脑准备写一个QT应用程序的时候遇到的,网上也有很多类似的解决方法。我这里也是借鉴别人的啦!,不过这里,博主想在自己的文章里面补充一些东西!OK,先来看看问题的现象吧:        出现这个问题的原因是:QT在编译链接动态库的时候出现加载动态库失败导致的!!!因为qt creator默认值动态链接的,在运行应用程序的时候需要去链接

2016-03-17 23:18:48 4889 1

原创 linux驱动开发—基于Device tree机制的驱动编写

前言Device Tree是一种用来描述硬件的数据结构,类似板级描述语言,起源于OpenFirmware(OF)。在目前广泛使用的Linux kernel 2.6.x版本中,对于不同平台、不同硬件,往往存在着大量的不同的、移植性差的板级描述代码,以达到对这些不同平台和不同硬件特殊适配的需求。但是过多的平台、过的的不同硬件导致了这样的代码越来越多,最终引发了Linux创始人Linus的不满,

2016-02-24 20:15:07 9458 2

原创 Linux驱动开发错误:module license 'unspecified' taints kernel.

前言今天我要来说说在Linux驱动开发中Makefile编写规则的问题。其实这是驱动开发中的基础性的问题,怪自己基础不够扎实啊,犯了这样的低级错误。写这篇文章让自己巩固一下基础吧,唯有厚积,才能薄发!扎实的编程基础,是一个底层软件工程师应该具备的素质,这样才能年薪百万,迎娶白富美,走上人生巅峰!麻痹,老子又在意淫了,女朋友在哪里都还不知道,说多了都是泪,言归正传!别装逼了!讲正事!1 Li

2016-02-22 00:05:37 10541 2

原创 驱动开发误用指针错误:Unable to handle kernel NULL pointer dereference at virtual address

前言        今天,来说说驱动开发中误用指针导致的错误:Unable to handle kernel NULL pointer dereference at virtual address xxxxxxxx。这个错误是我当作在做液晶驱动使用DMA的时候遇到的,在分配DMA传输用的内存的时候引用了一个空的指针导致的错误!错误打印信息如下:[ 72.820000] Unable t

2016-02-16 19:28:05 53020 3

原创 Linux内核—EXPORT_SYMBOL宏的使用

前言EXPORT_SYMBOL宏的使用时出现在Linux-2.6之后,在Linux-2.4内核中,默认的非static 函数和变量都会自动导入到kernel 空间, 都不用EXPORT_SYMBOL() 做标记的。然后Linux-2.6之后默认不导出所有的符号,所以使用EXPORT_SYMBOL() 做标记。1.EXPORT_SYMBOL宏的作用EXPORT_SYMBOL标

2016-01-30 17:41:36 24046

原创 linux驱动开发(一)—GPIO驱动框架

前言         GPIO驱动是Linux驱动开发中最基础、但却是很常用、很重要的驱动。比如你要点亮一个LED灯、键盘扫描、输出高低电平等等。而Linux内核的强大之处在于对最底层的GPIO硬件操作层的基础上封装了一些统一的GPIO操作接口,也就是所谓的GPIO驱动框架。这样开发人员可以调用这些接口去操作设备的IO口,不需要担心硬件平台的不同导致IO口的不同。         今天,我

2016-01-26 20:18:15 24252 1

原创 驱动模块加载错误:insmod: can't insert 'xx.ko': invalid module format

前言这个错误其实我遇到过几次了,当初学生时代玩FL2440开发板的时候编写驱动就遇到过这种错误,那时候是请教了我的嵌入式导师郭工解决的,不过那时事后没有及时去反思为什么。现在工作了遇到了同样的问题,自己尝试去解决了才明白。问题背景和解决方法这个问题源于那时候我用于编译驱动的内核和运行在开发板上的内核镜像配置不同导致的。后来参考了网上的博客,导致这个问题的原因其实挺多的,这里总结如下:

2016-01-12 18:24:00 27393 5

原创 Ubuntu有线网络无法连接—有线网络连接图标变为灰色,无法点击

问题背景:今天在登陆自己的虚拟机Ubuntu系统的时候突然出现有线连接无法连接的问题,有线连接的图标变为灰色,无法点击。我的虚拟机有线网络连接方式是NAT方式。解决方法:导致这个问题的原因是你的主机当中有关虚拟机网络连接的服务被停止或者禁用了!右键点击我的电脑—>管理—>服务和应用程序—>服务,找到VMwamre NAT Service,如果是桥接方式的话,找到VMwamre brid

2015-12-25 11:26:08 10047 1

原创 SecureCRT无法连接虚拟机Linux—虚拟网卡(NAT方式)IP(169.254.xx.xx)无效问题

问题背景:好久没用的笔记本,突然拿回来再用的时候出现SecureCRT无法连接虚拟机Linux的问题,以前也遇到过这种问题,基本上这种问题是以下几种情况导致的:1.虚拟机Linux防火墙没有关闭;2.虚拟机Linux没有安装ssh服务;3.虚拟机Linux的ssh服务的端口(22号端口)没有打开;4.虚拟机Linux网络配置不对,网关配置不对,IP配置不对;以上这些问题,百

2015-12-24 15:36:51 14538 1

原创 嵌入式系统定制工具—yocto_project使用心得

1.yocto_project是什么?Yocto Project是一个开源协作项目。它可以提供一些模板、工具(交叉编译工具链等)用于构建嵌入式系统。有关于yocto_project的详细介绍请看以下博客:http://www.ibm.com/developerworks/cn/linux/l-yocto-linux/(声明:博客引自他人文章,特此说明)2.yocto_project

2015-12-14 17:57:36 24032 8

原创 freescale:i.MX6ul平台—ext4文件系统挂载错误总结

问题背景:最近在做飞思卡尔公司的imx6ul平台的BSP开发的时候遇到这样一个问题:我要移植公司POS之前的文件系统到新的开发板imx6ul平台,文件系统的类型为ext4。在内核引导加载文件系统的时候出现如下错误:我的开发板是从SD卡启动,分区如下图:在Linux-2.6.32之前版本的Linux内核没有这个错误,而我这次开发使用的内核版本为3.14.38,出现了这样的

2015-10-28 19:43:39 2828

原创 初试web APP开发—JavaScript和QT对象交互应用程序开发

项目背景:这个项目是公司的一个项目,当时,公司想开发一个APP在POS机上跑,实现点击这个APP弹出一个网页(网页界面采用html5编写),点击网页上的按钮可以发出指令到QT层,由QT层调用相关的NDK接口函数去控制底层的硬件设备,并反馈相关的信息。比如:我实现的是从网页点击刷卡检测按钮,通过JavaScript函数和QT之间可以实现交互的功能,传刷卡检测命令到QT层,由QT层的NDK接口函数

2015-10-16 19:15:35 2663

原创 再论C语言指针—对指针的理解

记得大学的时候,C语言老师就说过,C语言当中最难的理解的就是指针了。的确,曾经有人说过,再牛逼的软件工程师都不敢保证自己能用好指针。今天,作为菜鸟级别的程序猿的我献丑了,只是讲讲自己平时学习当中对指针的理解。仅供参考,由于作者资历尚浅,不足之处还望大家多多指教。OK,今天不谈人生,也不谈妹子,就谈指针。谭浩强的那本C语言教材中这样定义指针:指针是用于存放变量地址的。指针变量:是一种用于存放其他

2015-08-24 09:22:12 824

转载 Linux内核版本不同,导致找不到相关的头文件解决办法

问题背景:在公司做项目的时候要把一个无线驱动模块从旧的CPU平台移植到新的CPU平台上,然后新的CPU平台用的内核版本和旧的不一样,导致很多头文件无法查找,如图所示:类似这种问题,其实不难解决,只要你了解Linux内核的架构,就会发现在内核中相应的头文件都在固定的目录下,这里我列出ARM+Linux驱动相关头文件的信息:#include    在Linux-版本号/inclu

2015-08-21 16:23:19 5447

原创 UBIFS error(pid 0):ubifs_get_sb:cannot open "ubi:nrootfs",error -19

今天来讲一个关于UBI文件系统挂载的错误,我是在u-boot模式下挂载UBI文件系统,出现的错误如下图所示:遇到这种错误,一般是由于你的分区设置不正确导致的。可以到u-boot/include/configs/xxx.h相应的板子配置文件下去查看自己的分区设置是否正确。主要查看MTDPARTS_DEFAULT和CONFIG_BOOTARGS这两个宏的配置是否正确,MTDPARTS_DE

2015-08-21 14:02:06 7313

原创 u-boot移植出现nand、mtd命令不能使用

问题背景:这是我在公司做项目的时候遇到的问题,给公司新CPU平台的设备移植u-boot的时候编译没有错误,但是u-boot运行起来的时候出现nand命令和mtd无法使用。具体错误如下图:这个错误,网上给出的解决方法如下博客所说:http://www.360doc.com/content/12/1004/22/9072830_239513107.shtml可是我按照他给出

2015-08-21 11:43:05 3171

原创 linux内核配置make menuconfig菜单无法进行删除操作

问题背景:这是我当初在编译Linux内核的时候出现的一个小插曲错误,当时使用secureCRT登陆自己的Linux系统,在配置内核的时候,我按照项目需求,要在内核中删除“broadcom linux”标识,可是出现一个奇怪的现象,进入make menuconfig界面的时候居然删除不了!我那时郁闷啊,以为是权限的问题什么的,后来经人指导才知道,原来是secureCRT设置的问题!问

2015-08-13 17:55:16 5010

vim编译器配置文件

vim编译器配置插件,让你的编译器具备各种快捷键、提高写代码的效率

2015-12-11

年会表演配音工具

专门用于添加各种配音的工具,独立自主开发的工具。

2015-07-30

fl2440开发板移植详解

文档讲述了fl2440开发板的u-boot移植过程中遇到的问题和详细解释,适合初学者学习和阅读!

2014-08-04

vim+ctags使用

vim下的配置工具,方便开发者使用,大大提高了代码编写的效率,将你的vim编辑器配置成一个神器!

2014-08-04

socket编程原理

网络编程之:socket编程,一个很不错的文档哦,欢迎下载和收藏哈哈

2014-02-24

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

TA关注的人

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