
Linux
文章平均质量分 88
ascend__a1
早起的菜鸟有虫吃
展开
-
/proc/devices awk
/proc/devices/中的设备是通过insmod加载到内核的,它可产生一个major供mknod作为 参数。 /dev/* 是通过mknod加上去的,格式:mknod device1 c/b major minor 如:mknod /dev/ttyS0 c 4 64,用户通过此设备名来访问你的驱动。那如何在shell中自动创建设备节点呢使用linux的awk命令转载 2014-01-09 15:50:21 · 628 阅读 · 0 评论 -
linux中export用法
常用用法:export PATH=$PATH:/home/zhaodw胜于修改环境变量,但只在本次登录中有效注意:(与shell变量相结合)1 =前PATH变量不加$符号2 再增加的路径用:追加功能说明:设置或显示环境变量。语 法:export [-fnp][变量名称]=[变量设置值]补充说明:在shell中执行程序时,shell会提供一组环境变量转载 2014-03-31 15:39:30 · 483 阅读 · 0 评论 -
ZedBoard学习手记(五)为自定义外设编写Linux驱动
原文地址http://www.eefocus.com/nightseas/blog/12-11/288078_7a826.html#articletop写完上一篇博客后,部门开了新项目,虽然只是开始,但是兔子也不敢懈怠,加之北京气温骤降,又刮起大风,可能是天冷的原因吧,胃又不太舒服了,白天忙完了晚上回来就顿觉十分疲惫,因而这篇手记一直拖到现在才动笔。经过前面的工作,现在终于可以开始为自定义转载 2014-03-31 15:46:32 · 2250 阅读 · 0 评论 -
ZedBoard学习手记(四)为使用Linux系统做准备——建立Bootloader及设备树
原文地址:http://www.eefocus.com/nightseas/blog/12-11/287883_2d158.html#articletop在上一篇博文中,我已经介绍了建立AXI总线自定义外设的全过程,包括Verilog逻辑部分,和裸机软件部分。裸机控制外设是非常简单的,与普通的单片机并无二异,但仅仅有裸奔代码还远远无法发挥Cortex-A9硬核的作用,毕竟Zynq芯片集成了一颗原创 2014-03-31 15:45:09 · 1288 阅读 · 0 评论 -
ZedBoard学习手记(十) 图形界面控制ZedBoard硬件
从比赛结束到现在,这已经是第十篇手记了,在之前的九篇博文中,我们已经做了充足的基础工作,现在终于可以将之前的成果结合在一起了。今天所讨论的内容就是通过QT开发的GUI软件来控制ZedBoard板上的硬件外设,完整的信号链如下:QT GUI → Linux Driver → AXI Bus → My_GPIO Peripheral → LED & Switch 首先在QT Creator转载 2014-03-31 15:53:28 · 780 阅读 · 0 评论 -
ZedBoard学习手记(三)为自定义外设编写裸奔控制软件
原文地址:http://www.eefocus.com/nightseas/blog/12-10/287663_d69cd.html#articletop由于Xilinx已经为我们做了大部分的铺垫工作,因此裸奔控制外设这一步就显得十分简单了,如果不用Linux和图形界面显示,大概我的作品早早的就完成了吧。上一次我们已经成功生成了BitStream文件,下面继续上次的操作,打开PlanAhe转载 2014-03-31 15:43:47 · 989 阅读 · 0 评论 -
ZedBoard学习手记(七)小插曲:如何让代码开机自动运行
原文地址:http://www.eefocus.com/nightseas/blog/12-11/288702_c1ebe.html#articletop近日十分注意调养,因而胃病有所缓解了,于是继续更新博客。以后谁再叫我去吃饭都得三思了,唉~~~此之谓顾嘴不顾身啊。在开始QT图形用户界面开发之前,先要说说如何让代码在ZedBoard上电时自动运行。对于带有Linaro 根文件系统的Lin转载 2014-03-31 15:48:46 · 692 阅读 · 0 评论 -
ZedBoard学习手记(八) 更大的目标!在Linux下开发图形用户界面
原文地址:http://www.eefocus.com/nightseas/blog/12-11/288711_baf5c.html#articletop在Linux下做GUI,比较简单的方法是使用QT。QT一直被用于跨平台的应用程序开发,之前属于Nokia,现在被卖给了Digia,开源版本的主页是http://qt-project.org/。QT的开发语言是C++和QML,可以用各种工具转载 2014-03-31 15:50:26 · 672 阅读 · 0 评论 -
ZedBoard学习手记(二) 开发自定义AXI总线外设IP核——以LED和开关为例
想要发挥ZYNQ芯片的特长,让整个系统协同工作起来,就需要将PS与PL两部分结合在一起,在Cortex-A9核和FPGA逻辑资源之间建立通信的通道,这条通道就是AXI总线。ZedBoard推出的官方例子中已经介绍了如何将Xilinx做好的AXI总线IP(如AXI_Timer、AXI_GPIO等)添加到工程中,而下面就让我们一起来自己编写一个简单的AXI总线设备——读取板上的8个Swtich状态,并转载 2014-03-31 15:41:53 · 2539 阅读 · 0 评论 -
ZedBoard学习手记(九) 在ZedBoard上运行QT图形软件
在Zynq平台上运行QT其实与PC无异,都需要相应的执行环境,只不过PC上的QT Lib可以使用QT SDK自动安装配置,而Zynq平台上的QT Lib则需要手动安装。另外,我们自己编写的代码只需要使用Xilinx交叉编译器进行一次编译就能在ZedBoard上执行,而QT代码则需要先由QMake进行配置,之后再用交叉编译器编译。因此,想让QT开发的应用程序在ZedBoard上运行,首先就要编译一个转载 2014-03-31 15:52:00 · 2086 阅读 · 0 评论 -
UBOOT介绍
1 uboot的介绍Uboot是德国DENX小组的开发用于多种嵌入式CPU的bootloader程序, UBoot不仅仅支持嵌入式Linux系统的引导,当前,它还支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS嵌入式操作系统。UBoot除了支持PowerPC系列的处理器外,还能支持MIPS、 x86、ARM、NIOS、XScale等诸多常用系列的转载 2014-03-31 16:27:27 · 537 阅读 · 0 评论 -
ZedBoard学习手记(六)最后一步?通过上层应用程序调用驱动
原文地址:http://www.eefocus.com/nightseas/blog/12-11/288168_575a8.html#articletop趁着编写Linux驱动的余热,让我们再写一个Linux下可以执行的应用程序,一方面为大家展示调用驱动程序的便捷方法,另一方面则能够测试驱动的功能是否正确。这个My_GPIO_App只需要一个main函数即可,因为代码十分简单,只要通读一遍转载 2014-03-31 15:47:34 · 740 阅读 · 0 评论 -
linux设备树dts移植详解
【转】摘 要:设备树的引入减少了内核为支持新硬件而需要的改变,提高代码重用,加速了Linux支持包的开发,使得单个内核镜像能支持多个系统。作为U-Boot 和Linux 内核之间的动态接口,本文阐述了设备树的数据存储格式以及源码描述语法,进而分析了U-Boot 对扁平设备树的支持设置,Linux 内核对设备树的解析流程。关键词:扁平设备树; DTS; PowerPC; Linu转载 2013-12-26 19:55:34 · 1224 阅读 · 0 评论 -
make menuconfig 出现 Unable to find the Ncurses libraries 问题解决
编译内核时make menuconfig提示Unable to find the ncurses libraries or the required header files. 解决方案是Fedora下使用yum install -y ncurses-devel;Ubuntu 下使用sudo apt-get install ncurses-dev。 n原创 2014-03-28 15:32:59 · 721 阅读 · 0 评论 -
__asm__ __volatile__("": : :"memory");内存屏障(memory barrier)
内存屏障(memory barrier)[zz] 首先看看__set_current_state()和set_current_state()函数的区别#define __set_current_state(state_value) /do { current->state = (state_value); } while (转载 2014-04-29 21:41:09 · 1358 阅读 · 0 评论 -
Ubuntu 出现apt-get: Package has no installation candidate问题
今天在安装软件的时候出现了Package has no installation candidate的问题,如:# apt-get install Reading package lists... DoneBuilding dependency tree... DonePackage aptitude is not available, but is referred to转载 2014-03-30 00:25:26 · 705 阅读 · 0 评论 -
make Image uImage与zImage的区别
内核编译(make)之后会生成两个文件,一个Image,一个zImage,其中Image为内核映像文件,而zImage为内核的一种映像压缩文件,Image大约为4M,而zImage不到2M。 那么uImage又是什么的?它是uboot专用的映像文件,它是在zImage之前加上一个长度为64字节的“头”,说明这个内核的版本、加载位置、生成时间、大小等信息;其0x40之后与zImage没转载 2014-03-30 01:02:50 · 556 阅读 · 0 评论 -
win7下实现VMware通过NAT上网
VMwware虚拟机上网对于Linux初学者是个很纠结的问题,往往通过各种配置都无法上网。本文介绍一种简单的设置方法。本文设置基于VMware8。 1.点击Edit->Virtual Network Editor->Restore Default. 2.选择网络连接方式为NAT。 3.将eth0配置为Automatic(DHCP)。原创 2014-03-30 00:39:59 · 798 阅读 · 0 评论 -
ubuntu eth0找不到问题解决方案
ifconfig 找不到eth0解决方案: /etc/udev/rules.d/70-persistent-net.rules文件中记录了之前虚拟机中网卡的MAC地址,如果在操作中改变了网卡MAC地址,ubuntu就会出现找不到eth0的情况。只要删除这个文件,重启机器,ubuntu就会重新发现网卡并配置好,网络就可以用了。原创 2014-03-29 22:42:15 · 3079 阅读 · 1 评论 -
Fedora和Ubuntu指令差别(待补充)
1.重启网络 ubuntu:sudo /etc/init.d/networking restart Fedora:service network restart 2.网络安装 ubuntu:apt-get Fedora:yum原创 2014-03-30 01:01:43 · 817 阅读 · 0 评论 -
linux编译bad value (armv4t) for -march问题解决
编译arm内核时make出现下述问题: CHK include/linux/version.h CHK include/generated/utsrelease.h HOSTCC scripts/basic/fixdep HOSTCC scripts/basic/docproc HOSTCC scripts/basic/hashmake[1]原创 2014-03-29 20:39:55 · 2906 阅读 · 0 评论 -
NOR FLASH 和NAND FLASH 问题
一:地址空间的分配1:s3c2440是32位的,所以可以寻址4GB空间,内存(SDRAM)和端口(特殊寄存器),还有ROM都映射到同一个4G空间里.2:开发板上一般都用SDRAM做内存flash(nor、nand)来当做ROM。其中nand flash没有地址线,一次至少要读一页(512B).其他两个有地址线3:norflash不用来运行代码,只用来存储代码,NORflas转载 2014-03-20 19:14:02 · 1080 阅读 · 0 评论 -
ZedBoard学习手记(一) First Step——建立Xilinx交叉编译环境
经过这段时间借由美信DIY大赛对ZedBoard的学习,略有所得,对这个新平台也有了一定的理解。在此称之为手记,算是边学边记了。既然还在学习,就自然会有一些谬误或不足,还望童鞋们指正啊。要开发ZedBoard最重要的是Xilinx ISE工具集,在这个IDE里能够完成大部分的逻辑及底层软件开发工作。如果做裸奔开发,一个IDE足矣,但是若不想一辈子不穿衣服,需要涉及Linux下的软件设计,就得在转载 2014-03-31 15:40:50 · 2104 阅读 · 0 评论 -
Linux 获取设备树源文件(DTS)里描述的资源
在linux使用platform_driver_register() 注册 platform_driver 时, 需要在 platform_driver 的probe() 里面知道设备的中断号, 内存地址等资源。这些资源的描述信息存放在 resource 数据结构中, 相同的资源存放在一个树形树形数据结构中, 通过父节点, 兄弟节点, 子节点相连。 比如中断资源, IO端口资源, IO内存资转载 2013-12-25 22:25:45 · 1285 阅读 · 0 评论 -
Linux内核网络相关头文件变化(补充中)
1.netdevice.h新版本内核:struct net_device *dev_get_by_name(struct net *net, const char *name)struct net_device *dev_get_by_name(const char *name)原创 2014-07-08 10:03:39 · 932 阅读 · 0 评论 -
Linux内核--网络协议栈深入分析(一)--与sk_buff有关的几个重要的数据结构
本文分析基于Linux Kernel 3.2.1原创作品,转载请标明http://blog.youkuaiyun.com/yming0221/article/details/7971463更多请查看专栏http://blog.youkuaiyun.com/column/details/linux-kernel-net.html作者:闫明几个月之前做了关于Linux内核版本1.2转载 2014-06-19 09:36:54 · 992 阅读 · 0 评论 -
Linux内核--网络协议栈深入分析(二)--sk_buff的操作函数
本文分析基于Linux Kernel 3.2.1原创作品,转载请标明http://blog.youkuaiyun.com/yming0221/article/details/7972647更多请查看网络栈分析专栏http://blog.youkuaiyun.com/column/details/linux-kernel-net.html作者:闫明1、alloc_skb()函数转载 2014-06-19 09:40:27 · 915 阅读 · 0 评论 -
Linux内核--网络协议栈深入分析(三)--BSD socket和传输层sock
本文分析基于Linux Kernel 3.2.1原创作品,转载请标明http://blog.youkuaiyun.com/yming0221/article/details/7979838更多请查看专栏http://blog.youkuaiyun.com/column/details/linux-kernel-net.html作者:闫明Linux内核中协议族有INET协议族,U转载 2014-06-19 10:45:38 · 862 阅读 · 0 评论 -
__KERNEL__ macro
From: http://blog.youkuaiyun.com/songcdut/article/details/8625041 The __KERNEL__ macro is defined because there is programs (like libraries) that include kernel code and there is many things t转载 2014-06-20 23:46:52 · 549 阅读 · 0 评论 -
module_param 模块参数
模块参数引导模块时,可以向它传递参数。要使用模块参数加载模块,这样写:insmod module.ko [param1=value param2=value ...]为了使用这些参数的值,要在模块中声明变量来保存它们,并在所有函数之外的某个地方使用宏MODULE_PARM(variable, type) 和 MODULE_PARM_DESC(variable转载 2014-06-21 00:07:46 · 1457 阅读 · 0 评论 -
LINUX2.4.x网络安全框架
在分析LINUX2.4.x网络安全的实现之前先简单介绍一下它里面包含的几个重要概念:netfilter、iptables、match、target、nf_sockopt_ops、网络安全功能点的实现。详细解释会在后面的分析中讲到。 首先是netfilter,它定义了协议栈中的检查点和在检查点上引用的数据结构,以及在检查点上对这些结构引用的过程。iptables定义了实现网络安全功能的规则的组织以及转载 2014-06-21 00:42:06 · 880 阅读 · 0 评论 -
Linux防火墙
关于网络安全的研究分析中,防火墙(Firewall)是被经常强调的重点,它基本功能是过滤并可能阻挡本地网络或者网络的某个部分与Internet之间的数据传送(数据包)。数据包其实就是一段段的数据,其中同时包括了用来把它们发送到各自的目的地所必须的信息。你可以把数据包想象成一个邮包:数据包本身就是邮包中的数据,而信封上则是所有用来把这些信息发送到正确的机器和正确的程序中去的书信抬头,它同时还包含着回转载 2014-06-21 00:46:31 · 638 阅读 · 0 评论 -
嵌入式Linux C笔试题积累
1. 嵌入式系统中断服务子程序(ISR) 中断是嵌入式系统中重要的组成部分,这导致了很 多编译开发商提供一种扩展—让标准C支持中断。具代表事实是,产生了一个新的关键字 __interrupt。下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的。 __interrupt double compute_area (double转载 2014-08-30 19:36:07 · 572 阅读 · 0 评论 -
netlink学习笔记(一)
最近在学习netlink相关的东西,现在还没找到特别好的书,学习的资料主要来自网络,今天主要参考以下三个:http://linux.chinaunix.net/bbs/thread-1031932-1-1.htmlhttp://prolqspace.spaces.live.com/blog/cns!7240DE3B63F5B841!939.entryhttp://enchen.blog.51cto转载 2014-07-08 21:41:04 · 1139 阅读 · 0 评论 -
使用/proc实现内核与用户空间通信
来源:http://yfydz.cublog.cn1. 前言 Linux内核空间与用户空间的通信可通过"/proc"目录的文件读写来实现,如果只是控制内核中的参数而不是传输较多数据的话,用“/proc”是很合适的。另外一种内核与用户空间通信方式方式是使用内核设备的读写或IOCTL来实现,以后再介绍。 2. /proc概述 /proc目录是系统转载 2014-06-24 16:52:33 · 788 阅读 · 0 评论 -
linux硬件设备操作函数 open(/dev/ietctl, O_RDWR|...)
open(/dev/ietctl, O_RDWR) 这是文件I/O的常用函数,open函数,open函数用来打开一个设备,他返回的是一个整型变量,如果这个值等于-1,说明打开文件出现错误,如果为大于0的值,那么这个值代表的就是文件描述符。一般的写法是if((fd=open("/dev/ttys0",O_RDWR | O_NOCTTY | O_NDELAY)perror("open");转载 2014-04-22 16:25:23 · 968 阅读 · 0 评论 -
ioctl与unlocked_ioctl区别
今天调一个程序调了半天,发现应用程序的ioctl的cmd参数传送到驱动程序的ioctl发生改变。而根据《linux设备驱动》这个cmd应该是不变的。因为在kernel 2.6.36 中已经完全删除了struct file_operations 中的ioctl 函数指针,取而代之的是unlocked_ioctl ,所以我怀疑二者是不是兼容的。上网查了一些资料,很多文章只是泛泛谈了一下,说在应用程序中转载 2014-04-22 17:15:29 · 480 阅读 · 0 评论 -
关于S3C6410的SD卡启动
要研究裸机程序的编写,必须要有一个“全裸”的环境。友善提供的superboot可以提供执行用户自定义程序的能力,但其实这样运行的程序环境还是依赖于superboot的, 那些内存初始化、时钟初始化,串口初始化等工作都已经由superboot做了。tiny6410支持nandflash和sd卡启动两种模式,nandflash的烧写还是依赖superboot,所以比较简便的方法是通过sd卡启动,sup转载 2014-04-10 09:28:38 · 700 阅读 · 0 评论 -
linux中的size_t和ssize_t
size_t 反映内存中对象的大小(以字节为单位),ssize_t 供返回字节计数或错误提示的函数使用。size_t 的定义在: /usr/include/linux/types.h typedef __kernel_size_t size_t; 而 __kernel_size_t 定义在 /usr/include/asm/posix转载 2013-11-10 23:29:25 · 10475 阅读 · 0 评论 -
Linux启动流程简介
一. 内核镜像Izmage被bootloader装载到内存中。zImage的入口代码是自引导程序。包含一些初始化代码。第一条指令在head.S文件中。解压内核,然后调用call_kernel启动vmlinux(解压后在正确位置上的内核)二. vmlinux开始部分的代码对应的文件也叫head.S.这个是体系结构相关的代码,进行页表的初级初始化后打开MMU,跳转到start_kernel函数中去转载 2013-11-23 23:51:25 · 587 阅读 · 0 评论