
嵌入式驱动开发
强威先生
这个作者很懒,什么都没留下…
展开
-
ARM开发板ping不通虚拟机中的linux
关闭了windows和linux的防火墙,arm可以ping通windows,windows可以ping通linux。但是arm却ping不通linux。后来发现linux和windows 的ip竟然不在同一个网段,遂查看虚拟机。因为是无线上网,所以最后在设置网络的时候设置的 NAT 方式,最后虽然虚拟机像主机一样可以访问网络,但是跟主机却不在同一网段上,导致了arm开发板无法ping不通li原创 2016-12-02 16:01:51 · 5608 阅读 · 3 评论 -
linux中变量存储位置
Linux应用程序地址布局全局初始化变量:数据段全局未初始化变量:数据段(BSS)全局的、静态的(static)、初始化的变量:数据段全局的、静态的、未初始化变量:数据段全局的常量(const):代码段 局部初始化的变量:栈局部未初始化变量:栈局部的、静态的、初始化变量:数据段局部的、静态的、未初始化变量:数据段局部常量:栈 通过mall原创 2016-12-01 17:00:42 · 2383 阅读 · 2 评论 -
内核裁剪步骤
1、下载linux内核源文件,官网:www.kernel.org,可以下载新旧不同的版本。2、配置。下载完成,解压缩,开始配置内核:make menuconfig /make config (前者较为简单,可以参考/修改配置好的config文件,内核中配置文件位于:arch/$CPU/configs),配置的结果隐藏保存在内核文件夹里,默认文件名是.config。3、编译内核。首先 ma原创 2016-12-03 18:13:43 · 7857 阅读 · 1 评论 -
Linux 内核内存管理子系统
1、虚拟地址与物理地址的映射1.1、虚拟地址空间分布 linux 采用虚拟地址管理,如果是32位的CPU,则虚拟地址是为4G的,即2的 32 次方。虚拟地址可以分为用户空间和内核空间,用户空间主要用来存储应用程序,地址0~3G,也就是说每一个应用程序都有0~3G的地址空间可以用。内核空间是3G~4G,又可以分为4个区域,分别是直接映射区(3G~3G+896M)、v原创 2016-12-05 14:59:45 · 333 阅读 · 0 评论 -
linux 内核进程管理子系统
1、linux 进程要素程序是放在磁盘上的一系列代码和数据的可执行映像,是一个静止的实体,执行中的程序叫做进程,是动态的实体。进程四要素:有一段程序供其执行;有进程专用的内核空间堆栈;有task_struct 数据结构,即“进程控制块”;有独立的用户空间;linux进程状态:(1)、TASK_RUNNING :进程正在被CPU执行,或者已经准备就绪原创 2016-12-05 20:24:36 · 368 阅读 · 0 评论 -
illegal instruction 解决办法
问题描述: 移植madplay播放器,把所需要的库文件都安装成功之后,运行madplay出现:illegal instruction ,最初以为是所需库文件安装错误,遂重新安装。运行,仍然illegal instruction。 经过百度大神们的博客,最终才解决这个问题。 解决办法: 把/usr/local/arm/arm-none-linux-gn原创 2016-12-21 12:15:55 · 10822 阅读 · 0 评论 -
linux 驱动没有自动产生设备节点 解决办法
最近在用tq2440做移动物体监控系统,用了zc3xxUSB摄像头,驱动移植成功,插拔USB有打印出来插上USB打印效果:拔下USB打印效果:看似正常,但是ls /dev/ 查看设备驱动节点,发现没有videox。摄像头驱动应该是自动产生设备节点的,无需手动mknod 的,手动产生也是没有用的,试了很多办法,最终终于找到了问题所在在编译内核之前要先编译内原创 2017-01-09 16:55:58 · 4473 阅读 · 0 评论 -
linux 内核操作GPIO
内核提供了配置和操作GPIO的函数,调用就可以了1、向内核申请GPIO端口(用到那一个端口之前都必须向内核申请,否则无法使用) int gpio_request(unsigned gpio, const char *label)2、配置GPIO输入或输出模式int gpio_direction_input(unsigned g原创 2017-03-08 13:07:41 · 1306 阅读 · 0 评论 -
linux根文件系统制作与挂载
1、创建目录#mkdir rootfs #cd rootfs #mkdir bin dev etc lib proc sbin sys usr mnt tmp var#mkdir usr/bin usr/lib usr/sbin lib/modules 2、创建设备文件进入我们创建好的rootfs文件的/dev目录下,执行以下指令:#mknod -m 666 consol原创 2017-03-09 22:32:13 · 458 阅读 · 0 评论