- 博客(70)
- 收藏
- 关注
转载 ubuntu 搭建嵌入式开发环境tftp的方法
网上很多安装的时候都要安装tftpd-hpa tftp-hpa xinetd三个安装包,经我测试,xinetd无需安装,安装好前两个后,修改tftpd-hpa的配置文件即可:etc/default/tftpd-hpa,修改内容如下:RUN_DAEMON="yes" //让此服务为后台进程TFTP_USERNAME="tftp" //启动服务后的提示符TFTP_DIRECT...
2013-08-21 23:47:00
181
转载 ubuntu 无pthread
由于学习多线程编程,所以用到pthread,但是man的时候却发现没有pthread函数库的手册页,然后安装$sudo apt-get install glibc-doc 安装以后,发现还是有很多函数不全,只有一小部分pthread的函数,使用man -k pthread或apropos pthread可以查找到当前manpages中关于pthread的手册。安装ma...
2013-08-01 10:44:00
212
转载 重启系统调用探究 ( 转)
但是linux世界上还有另外一种东东,叫做信号,来处理突发事件。如果系统调用尤其是阻塞型的系统调用遇到信号,怎么办呢?是等系统调用game over以后再处理信号,还是中断系统调用,尽快将信号投递到进程呢? 想想前面提到的例子,如果wait等的子进程5天后才能退出,父进程的信号投递将等的花儿都谢了。所以对于阻塞性的调用,必须阻止这种情况的发生。 一般来讲...
2013-07-31 09:03:00
194
转载 linux下tar压缩使用
具体的可以在linux环境下 用tar --help查看详细说明格式:tar [option] file -c create create a new archive -x extract extract files from an archive -t list list the contents of an ...
2013-07-27 21:56:00
150
转载 strcmp 和 strcoll的区别
功能和strcmp类似,用法也一样. 特别注意:strcoll()会依环境变量LC_COLLATE所指定的文字排列次序来比较s1和s2 字符串。 strcmp是根据ASCII来比较2个串的. 说明若LC_COLLATE为"POSIX"或"C",则strcoll()与strcmp()作用完全相同转载于:https://www.cnblogs.com/Mr-Shadow/p/...
2013-07-21 09:56:00
593
转载 vim + ctag + Taglist (转)
一、ctag 当然,第一步就是要下载它!一条命令搞定:$sudo apt-get install ctags如果不幸提示找不到软件包ctags,首先你也许应该update一下你的软件源,还不行的话试试把ctags改成 exuberant-ctags下载完了你就可以用它来产生我们的标签文件tags 了,tags文件是实现跳转功能的英雄,就是它把我们送到我们想...
2013-07-19 14:18:00
117
转载 linux 编译指定库、头文件的路径问题(转)
1. 为什么会出现undefined reference to 'xxxxx'错误?首先这是链接错误,不是编译错误,也就是说如果只有这个错误,说明你的程序源码本身没有问题,是你用编译器编译时参数用得不对,你没有指定链接程序要用到得库,比如你的程序里用到了一些数学函数,那么你就要在编译参数里指定程序要链接数学库,方法是在编译命令行里加入-lm。2.-l参数和-L参数-l参数...
2013-07-05 15:57:00
177
转载 HOWTO do Linux kernel development(转)
HOWTO do Linux kernel development - take 3 (中文版)译者:张乐 robert_AT_thizlinux_DOT_com原作:Greg KH译注:本文依据take 3翻译,应该不会再有大的改动了,如果有本文会随时更新时间仓促,恐难免错漏,欢迎指正原文:http://permalink.gmane.org/gmane.linux...
2013-03-16 13:42:00
223
转载 指针 易混乱部分
一种初始化指针变量的方法是使用&运算符把某个变量的地址赋给它,或者更常采用左值( 4.2节):int i, *p;...p = &i;通过把i的地址赋值给变量p的方法,上述语句把p指向了i:在声明指针变量的同时对它进行初始化是可行的:int i;int *p = &i;甚至可以把i的声明和p的声明合并,但是需要首...
2013-03-13 23:57:00
110
转载 在Vim中插入当前文件名
1. 使用<c-r>(即CTRL+R)。步骤如下:在Insert模式下,先按CTRL+R,光标处变成双引号“再按%,即可直接插入当前文件名(含路径)关 于<c-r>,可输入”:help <c-r>“查看详细说明。此处简要说明一下,CTRL-R可以插入0~9号寄存器(numbered register)内的内容,也可以插入特殊寄存器(...
2013-03-12 00:44:00
775
转载 C++下的sort函数
sort()函数是C++中的排序函数其头文件为:#include<algorithm>头文件;qsort()是C中的排序函数,其头文件为:#include<stdlib.h>1、sort()sort对给定区间所有元素进行排序stable_sort对给定区间所有元素进行稳定排序partial_sort对给定区间所有元素部分...
2013-03-11 23:58:00
90
转载 What's the difference between endl and'\n' ?(转)
Folks often see output statements like the two below, and then want to know what the difference is:#include <iostream>int main(){int i = 99;std::cout << i << '\n...
2013-03-11 23:32:00
135
转载 THUMB指令集
humb指令集可以看作是ARM指令压缩形式的子集,它是为减小代码量而提出,具有16bit的代码密度。Thumb指令体系并不完整,只支持通用功能,必要时仍需要使用ARM指令,如进入异常时。其指令的格式与使用方式与ARM指令集类似,而且使用并不频繁,Thumb指令集作一般了解。 在编写Thumb指令时,先要使用伪指令CODE16声明,编写ARM指令时,则可使用CODE32伪指令声明。 ...
2013-03-09 14:25:00
363
转载 ubuntu的init与系统服务设置(转)
nitInit是位于/sbin/init的一个程序,它是在linux下,在系统启动过程中,初始化所有的设备驱动程序和数据结构等之后,由内核启动的一个用户级程序,并由此init程序进而完成系统的启动过程。ubuntu与传统的linux略有不同,使用upstart完成系统的启动,但表面上仍维持init程序的形式。运行级别传统上,linux有几种不同的运行级别,包括如下几种:...
2013-03-09 07:47:00
129
转载 Bumblebee解决双显卡问题
Bumblebee aims to provide support for NVIDIA Optimus laptops for GNU/Linux distributions. Using Bumblebee, you can use your NVIDIA card for rendering graphics which will be displayed using the I...
2013-02-15 18:59:00
295
转载 根文件系统
根文件系统是内核启动时所mount的第一个文件系统,内核代码的映像文件保存在根文件系统中,系统引导启动程序会在根文件系统挂载之后从中把一些初始化脚本(如rcS,inittab)和服务加载到内存中去运行。我们要明白文件系统和内核是完全独立的两个部分。在嵌入式中移植的内核下载到开发板上,是没有办法真正的启动Linux操作系统的,会出现无法加载文件系统的错误。/bin,/sbin,/usr...
2013-02-05 14:01:00
109
转载 关于Bochs在Ubuntu 12.04下提示找不到XpmCreatePixmapFromData的问题(转)
在尝试使用bochs时,会有如下提示:bochs-bin:symbollookuperror:/usr/lib/bochs/plugins/libbx_x.so:undefinedsymbol:XpmCreatePixmapFromData这个问题本来以前解决过,结果忘了。上网一搜,找到了答案:http://overflowedstack.wordpres...
2013-02-04 23:08:00
249
转载 makefile进阶(二)--命令(转)
每个目标里都可以运行shell命令,每个命令前以[Tab]开头,它不能是空格。通常情况下,你执行的命令会在输出中显示出来,比如:output: echo hello运行make会有如下结果:$ make outputecho hellohello有时我们不希望把执行的命令显示出来,我们可以在命令前加上@符来隐藏这个命令:output: @echo hello$ make ou...
2013-02-04 11:17:00
116
转载 makefile进阶(三)--变量(转)
$(NAME)和${NAME}表示一个变量。变量名是大小写敏感的。$$表示“$”字符本身。我们可以通过=号把一个变量(或常量、或变量和常量的组合)赋给别的变量。同样我们也可以用:=来给变量赋值。它们的区别在于=号会使用之后定义的变量的值,而:=号不会取之后定义的变量的值。比如:X1=aX2=$(X1)+$(X4) #X2=a+zX3:=$(X1)+$(X4) #X3=a+X4=z另一个赋...
2013-02-04 11:16:00
97
转载 makefile进阶(四)-- 条件判断 (转)
if分支结构为:<if>...[else...]endif其中<if>有四种关键字:ifeq判断相等,它的用法有:ifeq (<arg1>, <arg2> )ifeq '<arg1>' '<arg2>'ifeq "<arg1>" "<arg2>"ifeq "<arg1>" '<...
2013-02-04 11:15:00
93
转载 makefile进阶(五)-- 函数(转)
函数的调用语法为:$(<function> <arguments> )或${<function> <arguments>}函数名与参数间以空格分隔,参数之间以逗号分隔。字符串处理的函数有:$(subst <from>,<to>,<text>)把<text>里的<from>替换为&l...
2013-02-04 11:14:00
114
转载 makefile进阶(六)-- 在makefile里引用别的文件(转)
make -f <filename>命令可以指定makefile的文件名,而不是默认的makefile、Makefile或GNUmakefile。makefile里的include <filename>指令可以引入别的文件。注意文件名不能用字符串包围,如:include header.mk可以引入当前路径下的header.mk,但是include "header...
2013-02-04 11:13:00
294
转载 makefile自动变量
下面是所有的自动化变量及其说明:$@表示规则中的目标文件集。在模式规则中,如果有多个目标,那么,"$@"就是匹配于目标中模式定义的集合。$%仅当目标是函数库文件中,表示规则中的目标成员名。例如,如果一个目标是"foo.a(bar.o)",那么,"$%"就是"bar.o","$@"就是"foo.a"。如果目标不是函数库文件(Unix下是[.a],Windows 下是[.lib]),那么,...
2013-02-04 11:10:00
103
转载 cut命令
ls -l i386.pdf | grep pdf | cut -c49-52 结果输出为i386 详见:man cuttmp.s: boot/bootsect.s tools/system (echo -n ''SYSSIZE = (''; ls -l tools/system | grep system | cut -c23-31 | tr \012'''; e...
2013-02-04 10:28:00
74
转载 虚拟地址
在电脑的专用术语中,虚拟地址(Virtual Address)标识一个非物理的实体地址。这个术语常用在虚拟内存和虚拟网络地址当中。由于Windows程序时运行在386保护模式下,这样程序访问存储器所使用的逻辑地址称为虚拟地址,与实地址模式下的分段地址类似,虚拟地址也可以写为“段:偏移量”的形式,这里的段是指段选择器。Windows 2000 使用基于分页机制的虚拟...
2013-02-03 22:57:00
307
转载 gcc类型检查的问题
gcc类型检查的问题,gcc或者说其他的C编译器对其build-in类型(如unsigned int)和自定义的结构的类型检查有什么不一样呢比如说如下两种定义:1. unsigned int i;2. struct sTmp {unsigned int i;};struct sTmp si;编译器对变量i和si(或者说是si.i)的类型检查有什么不同的...
2013-02-03 22:35:00
458
转载 物理存储器与磁盘的区别
物理存储器:是指实际存在的具体的存储器芯片。如主板上装插的内存条和装载有系统BIOS的ROM芯片,显示卡上的显示RAM芯片和装载显示BIOS的ROM芯片,以及各种适配卡上的RAM芯片和ROM芯片等都是物理存储器。磁盘: 计算机的外部存储器中也采用了类似磁带的装置,比较常用的一种叫磁盘,将圆形的磁性盘片装在一个方的密封盒子里,这样做的目的是为了防止磁盘表面划伤,导致数据丢失。如目前的...
2013-02-03 21:19:00
813
转载 段选择符和段描述符的关系
段选择符用来表示指向哪个段描述符,即用来在段描述符中寻址,前13位是地址,能寻0到(2^13)-1,因此段描述符表的大小就是 8192,他还牵扯到一些特权级的限制,后三位;段描述符是用来表示这个段的一些性质的,比如段基址和段长之类的。我们在寻址的时候,一般是从段选择符找 到段描述符,然后从段描述符中取出段基址,加上偏移就形成了我们要访问的地址。8086中有4个16位的段寄存器:CS、...
2013-02-03 15:36:00
355
转载 Linux内核中的jiffies(转)
硬件给内核提供一个系统定时器用以计算和管理时间,内核通过编程预设系统定时器的频率,即节拍率(tick rate),每一个周期称作一个tick(节拍)。Linux内核从2.5版内核开始把频率从100调高到1000(当然带来了很多优点,也有一些缺点). jiffies是内核中的一个全局变量,用来记录自系统启动一来产生的节拍数。譬如,如果计算系统运行了多长时间,可以用 jiffies/t...
2013-02-03 10:11:00
175
转载 inux进程描述符—task_struct结构(转)
llinux进程描述符—task_struct结构 为了管理进程,操作系统必须对每个进程所做的事情进行清楚地描述,为此,操作系统使用数据结构来代表处理不同的实体,这个数据结构就是通常所说的进程描述符或进程控制块,在linux系统中,这就是task_struct结构,在include\linux\sched.h文件中定义。每个进程都会被分配一个task_struct结构...
2013-02-03 09:44:00
98
转载 硬盘参数表(传)
1>什么是硬盘参数表 在PC机中BIOS设定的中断向量表中int 0x41的中断向量位置(4*0x41 = 0x0000:0x0104)存放的并不是中断程序的地址,而是第一个硬盘的基本参数表 对于100%兼容的BIOS来说,这里存放着硬盘参数表阵列的首地址0xF000:0E401 第二个硬盘的基本参数表入口地址存于int 0x46中断向量位...
2013-02-02 20:33:00
400
转载 BIOS中断向量表 (转)
1 -- 关于中断向量的几点注释1. 系统引导时,中断向量表放在内存何处? 系统刚引导时,内存0x00000到0x0003FF共1KB的空间用于存放中断向量表。每个中断向量占用4个字节,共可存储256个中断向量。2. 系统引导时,处在实模式下,只可寻址1MB,为什么要用4个字节来寻址中断呢处理程序? 刚看到的时候,我也很纳闷。我们都知道编程的时候指针都是4个字...
2013-02-02 20:22:00
303
转载 mdm 安装
MDM登录管理器是一个基于GDM2登录管理器的分支。也就是说它其实就是GDM2。首先添加源并安装:sudo add-apt-repository ppa:nilarimogard/webupd8sudo apt-get updatesudo apt-get install mdm mint-mdm-themes配置mdm使用命令: sudo mdmset...
2013-01-21 21:51:00
616
转载 PageTableStructure
The following diagrams are my attempt to show how the page tables are arranged on various architectures. Each diagram shows the layout for the base page size as well as the hugetlb page size.i3...
2013-01-21 15:23:00
93
转载 如何用 GIMP 修改图片尺寸
在 GIMP 中打开原始图片。点击 图像 菜单选择 缩放图像…确保宽/高比例是锁定的(链条连接)。修改宽度或高度,是两者都符合或小于需要的图片尺寸。点击 缩放 按钮选择整幅图片(Ctrl + A 或点击菜单 选择 > 全部 )点击 文件 > 新建,创建一个新的图片。设置图像大小为需要的解析度选择高级选项并设置填充透明。点击 确定复制...
2013-01-19 22:13:00
1735
转载 ubuntu安装最新内核
1.Get Latest Linux kernel code 在http://www.kernel.org下载最新内核2.Step # 2 Extract tar (.tar.bz3) fileType the following command: # tar -xjvf linux-3.7.3.tar.bz2 -C /usr/src # cd /usr/src3.ma...
2013-01-19 15:17:00
133
转载 微星GE60有线网卡Qualcomm Atheros Bigfoot Killer E2200 ethernet card在ubuntu下无法找到驱动的解决办法...
电脑GE60,NIC:$ lshw -c networkWARNING: you should run this program as super-user. *-network description: Ethernet interface product: Atheros Communications Inc. ...
2013-01-18 08:40:00
509
转载 寻找僵尸进程(转)
我们用ps和grep命令寻找僵尸进程ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]'命令注解:-A 参数列出所有进程-o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数因为状态为 z或者Z的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进...
2013-01-15 16:23:00
102
转载 修改ubuntu的启动级别
sudo vi /etc/default/grub修改GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”为:GRUB_CMDLINE_LINUX_DEFAULT=” text”然后运行下sudo update-grub就可了其实这个方法也可以在开机的时候按下grub2中的e,手动编辑为text,但是那是一次性的转载于:https://www.cnblo...
2013-01-12 16:40:00
86
转载 virtualbox虚拟机(ubuntu)与母机(ubuntu)共享文件夹设置
1,在虚拟机中安装好ubuntu后,devices -> install guest additions,然后再虚拟机中的ubuntu下会自动挂在一个VBOXADDITIONS光盘,然后安装上2,同时,再母机(ubuntu)下的/usr/share/vritualbox 下也会有一个VBOXADDITONS 镜像文件,挂载到主系统上,然后运行,安装上3,在虚拟机中设置好共享...
2013-01-12 16:25:00
125
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人