随笔分类 - Linux OS
摘要:http://blog.chinaunix.net/uid-24774106-id-4061386.html信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。信号机制是进程之间相互传递消息的一种方法,...
阅读全文
摘要:【转】http://blog.chinaunix.net/uid-20788636-id-1841334.htmlhttp://blog.chinaunix.net/uid-20788636-id-1841335.htmlLinux内核的三种调度策略: 1,SCHED_OTHER 分时调度策略, 2,SCHED_FIFO实时调度策略,先到先服务。一旦占用cpu则一直运行。一直运行直到有更高优先级任务到达或自己放弃 3,SCHED_RR实时调度策略,时间片轮转。当进程的时间片用完,系统将重新分配时间片,并置于就绪队列尾。放在队列尾保证了所有具有相同优先级的RR任务的调度公平Linux线程优...
阅读全文
摘要:1.SoC Linux底层驱动的组成和现状为了让Linux在一个全新的ARM SoC上运行,需要提供大量的底层支撑,如定时器节拍、中断控制器、SMP启动、CPU hotplug以及底层的GPIO、clock、pinctrl和DMA硬件的封装等。定时器节拍、中断控制器、SMP启动和CPU hotplug这几部分相对来说没有像早期GPIO、clock、pinctrl和DMA的实现那么杂乱,基本上有个固定的套路。定时器节拍为Linux基于时间片的调度机制以及内核和用户空间的定时器提供支撑,中断控制器的驱动则使得Linux内核的工程师可以直接调用local_irq_disable()、disable_
阅读全文
摘要:在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域:1.bit31~bit30 2位为 “区别读写” 区,作用是区分是读取命令还是写入命令。-----> _IOC_DIR : 获取读写属性域值 (bit30 ~ bit31)2.bit29~bit16 14位为 "数据大小" 区,表示 ioctl() 中的 arg 变量传送的内存大小。-----> _IOC_SIZE : 读取数据大小域值 (bit16 ~ bit
阅读全文
摘要:[转] Linux 3.10 ARM Device Tree 的初始化 本文代码均来自标准 linux kernel 3.10,可以到这里下载https://www.kernel.org/ 以arch/arm/mach-msm/board-dt-8960.c 为例,在该文件中的msm_dt_init 函数的作用就是利用 dt(device tree)结构初始化 platform device。 static void __init msm_dt_init(void) { of_platform_populate(NULL, of_default_bus_match...
阅读全文
摘要:Ubuntu上的输入法主要有小小输入平台(支持拼音/二笔/五笔等),Fcitx,Ibus,Scim等。其中Scim和Ibus是输入法框架。在Ubuntu的中文系统中自带了中文输入法,通过Ctrl+Space可切换中英文输入法。这里我们主要说下Ubuntu英文系统中,中文输入法的安装。安装输入法的第一步,是安装语言包。我们选择System Settings-->Language Support-->Install/Remove Languages,将弹出以下窗口: www.2cto.com 输入密码后,系统会安装简体中文语言包。第二步,安装IBus框架,在终端输入以下命令:sudo
阅读全文
摘要:一 设置sudo为不需要密码有时候我们只需要执行一条root权限的命令也要su到root,是不是有些不方便?这时可以用sudo代替。默认新建的用户不在sudo组,需要编辑/etc/sudoers文件将用户加入,该文件只能使用visudo命令,1) 首先需要切换到root, su - (注意有- ,这和su是不同的,在用命令"su"的时候只是切换到root,但没有把root的环境变量传过去,还是当前用乎的环境变量,用"su -"命令将环境变量也一起带过去,就象和root登录一样)2) 然后 visudo 或者 vi /etc/sudoers, visudo
阅读全文
摘要:1、首先备份Ubuntu 12.04源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (备份下当前的源列表,有备无患嘛)2、修改更新源sudo gedit /etc/apt/sources.list (打开Ubuntu 12.04源列表文件)3、将下面的代码粘贴进去(“#”开头的那一行为注释,可以直接复制进文件中)4、通知ubuntu启用新的更新源 sudo apt-get update#台湾源deb http://tw.archive.ubuntu.com/ubuntu/ precise main universe r
阅读全文
摘要:用户界面一开始的好印象就是因为不一样的界面嘛,人的“通病”不就是以貌取人&以貌取物惯了么,呵呵。参照一点牛人的bolg,thanks:http://blog.csdn.net/haoel/article/details/48754991)GNOME ShellCopy:http://www.shun...
阅读全文
摘要:$ export CROSS_COMPILE=arm-marvell-linux-gnueabi-$ export ARCH=arm$ make mrproper$ make gplugd_defconfig$ make allgplugd_defconfig是内核解压包/arch/arm/configs的针对plugD的配置文件,执行此步后$ls -all发现生成新的.config文件。重新配置内核推荐使用$make menuconfig会报错,一开始并没有想起去看Error描述,以后切记要仔细看报错输出!!!!unbuntu提示没有ncurses的库支持....于是乎:$apt-get i
阅读全文
摘要:1. 配置系统的基本结构Linux内核的配置系统由三个部分组成,分别是:Makefile:分布在 Linux 内核源代码中的 Makefile,定义 Linux 内核的编译规则; 配置文件(config.in):给用户提供配置选择的功能; 配置工具:包括配置命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界面、基于 Ncurses 图形界面以及基于 Xwindows 图形界面的用户配置界面,各自对应于 Make config、Make menuconfig 和 make xconfig)。这些配置工具都是使用脚本语言,如 Tcl/TK、Perl 编写的(也包含一些用
阅读全文
摘要:minicom是linux下串口通信的软件,它的使用完全依靠键盘的操作,虽然没有“超级终端”那么易用,但是使用习惯之后读者将会体会到它的高效与便利,下面将讲解minicom的安装和配置。一、安装minicom:使用以下命令:# sudo apt-get install minicom以下为安装的详细信息:# sudo apt-get install minicom正在读取软件包列表... 完成正在分析软件包的依赖关系树正在读取状态信息... 完成将会安装下列额外的软件包:lrzsz下列【新】软件包将被安装:lrzsz minicom共升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 .
阅读全文
摘要:http://blogold.chinaunix.net/u3/105675/showart_2194788.html现在市面上的USB转串口线非常便宜,而且现在大部分机器都没有串口.因此在嵌入式LINUX下开发使用USB转串口的线相当普遍.而我测试最稳定是 PL2303芯片,即一般是黑色不透明那种.在WINDOWS XP下使用比较稳定.学生一般问我,我都推荐这种,反而是市面上那种绿色透明的转换线,相当不稳定.以下是推荐的串口转USB线,采用PL2303芯片Y-105 Usb转串口线 Usb转Com USB 转 Rs2329.5元以下是不推荐的HL340芯片,在LINUX下尽量不要使用.a五钻
阅读全文
摘要:大家都知道各类网络服务器程序的编写步骤,并且都知道网络服务器就两大类:循环服务和并发服务。这里附上源代码来个小结吧。首先,循环网络服务器编程实现的步骤是这样的:这种服务器模型是典型循环服务,如果不加上多进程/线程技术,此种服务吞吐量有限,大家都可以看到,如果前一个连接服务数据没有收发完毕后面的连接没办法处理。所以一般有多进程技术,对一个新连接启用一个新进程去处理,而监听socket继续监听。/************关于本文档*********************************************filename:Linux下各类TCP网络服务器的实现源代码*purpose:
阅读全文
摘要:进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 移动光标类命令h :光标左移一个字符 l :光标右移一个字符 space:光标右移一个字符 Backspace:光标左移一个字
阅读全文
摘要:#include <sys/types.h>基本系统数据类型是Unix/Linux系统的基本系统数据类型的头文件,含有size_t,time_t,pid_t等类型。NAME sys/types.h - data typesSYNOPSIS #include <sys/types.h>DESCRIPTION The <sys/types.h> header shall include definitions for at least the following types: blkcnt_t Used for file block counts. blksiz
阅读全文
摘要:前奏准备:1.安装apt $ apt-get install openjdk-6-jdk2.安装git $apt-get install git3.$git init安装marvell交叉编译gcc,设置环境变量4.$ export PATH=/opt/arm-marvell-linux-gnueabi/bin:$PATH $ export CROSS_COMPILE=arm-marvell-linux-gnueabi-5.$ cd gplugd-uboot $ make distclean $ make gplugd_config $ make all6.$ ls u-boot*u-boot
阅读全文
摘要:自大四接触linux到现在2年半了,也就是2年半没碰linux的东西。当初的热情和憧憬被读研后的具体方向冲刷的一干二净了...其实,我很感兴趣的,懊恼于自己没抽时间,总觉得自己以后会找机会重拾起来,可迟迟也没动手。今天吧,借Marvelldesign的机会,重新搞搞,当做新的开始,我想等到比赛结束了,我会坚持这个领域的。篇头写下这些,今后以此为鉴,这第一篇摘录自我买的第一块板子:友善之臂ARM9mini2440,一个论坛博主的原创,新起点,重新看看。Let'sbegin。。。第一,学习基本的裸机编程。 学习裸机的编程的同时要好好理解这个硬件的构架、控制原理,这些我称他为理解硬件。所谓的
阅读全文

浙公网安备 33010602011771号