技术文章
yjzl1911
这个作者很懒,什么都没留下…
展开
-
linux ps 命令 STAT域
STAT(该行程的状态) D: 不可用信号中断的睡眠状态R: 正在执行或处于执行队列中 S: 可以用信号中断的睡眠状态T: 暂停执行 Z: 僵死状态 ------------------------------------ W: 没有足够的记忆体分页可分配 N: 低优先序的行程 L: 有记忆体分页分配并锁在记忆体内 (即时系统 I/O)转载 2010-05-01 14:53:00 · 954 阅读 · 0 评论 -
排除问题提示“Software virtualization is incompatible with long mode on this platform,...”
在我的新笔记本上装好XP虚拟机后,准备开机做进一步的调试。但刚一启动变显示如下一个提示框: 在虚拟机窗框右下角,还有提示: 按照提示含义,很明显我的笔记本对VT的支持存在问题。由于我的笔记本cpu是64位的,操作系统也是64位的,问题应该如虚拟机右下角提示所说,是“宿主机BIOS设置中的硬件虚拟化被禁用了。”但我很肯定的是,我的笔转载 2014-01-16 09:24:40 · 3496 阅读 · 0 评论 -
source insight 里编辑的时候,每次粘贴后,光标停留在粘贴内容的左面【转】
在source insight 里编辑的时候,每次粘贴后,光标停留在粘贴内容的左面。 我想把它设定为 粘贴后,光标移动倒粘贴内容的右面。该怎么做? 这是个设置问题,按照下面的步骤设定就可以了。Options->Preferences...->Typing->After pasting,select:at end of pasted text->确定。祝你好运!转载 2014-01-16 09:21:03 · 2120 阅读 · 0 评论 -
问题解决: Vmware 装 fedora17 时 出现, unable to process initqueue
先说解决办法:在虚拟机设置中 选择 硬件,看是否有多个CD/DVD这类的设备,如果有保留1个并且选择正确的 ISO 路径。这样就ok,能进入安装界面了。转载 2014-01-16 09:22:19 · 676 阅读 · 0 评论 -
Cannot Write to RAM for Flash Algorithms ! 的解决方法
出现错误的情况:和解决方法:ST32 有两个调试端口:JTAG和SW. 选择 SW 解决之:原创 2014-01-25 22:13:02 · 11607 阅读 · 0 评论 -
异步串行通讯和同步串行通讯区别
在计算机系统中,CPU和外部通信有两种通信方式:并行通信和串行通信。而按照串行数据的时钟控制方式,串行通信又可分为同步通信和异步通信两种方式。 1、异步串行方式的特点 所谓异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的。异步串行通信的特点可以概括为: ①以字符为单位传送信息。 ②相邻两字符间的间隔是任意长。 ③因为一转载 2014-01-20 08:18:20 · 2364 阅读 · 0 评论 -
easybuild8000 没连接plc时不显示 “no response ”对话框的方法
1."图库" -》“地址标签库”: 根据你的plc名字确定地址,如果名字是PLC3 则地址为 LB-11962.2. 新建一个元件, "元件"-》“开关”-》“位状态设置”,设置以下两点:a)窗口打开时位ONb) 将使用向量图的勾去掉最好的方法,找威纶通的技术支持:400 888 0872原创 2014-02-12 16:36:26 · 5011 阅读 · 0 评论 -
source insight删除已加载的project工程项目
用十六进制编辑器打开"d:/documents and settings/Source Insight/Projects" 文件 ,找到你要删除的项目路径及名称字符串,用0替换相关位置的数据。保存后重新打开source insight即可。转载 2014-02-16 11:08:06 · 1660 阅读 · 0 评论 -
__asm__ __volatile__ GCC的内嵌汇编语法
__asm__是GCC关键字asm的宏定义: #define __asm__ asm __asm__或asm用来声明一个内联汇编表达式,所以任何一个内联汇编表达式都是以它开头的,是必不可少的。 2、Instruction List Instruction List是汇编指令序列。它可以是空的,比如:__asm__ __volatile__(""); 或__asm__ ("");都是完全合法的内联汇编表达式,只不过这两条语句没有什么意义。但并非所有Instruction List为空的内联汇编表达式都是没有意转载 2010-05-31 16:24:00 · 2454 阅读 · 0 评论 -
arm的7种执行模式
ARMv4以上版本的CPU任何时刻必定处于如下7种执行模式之一: (1) User Mode:用户模式。操作系统的Task一般以这种模式执行。User Mode是ARM唯一的非特权模式,这表示如果CPU处于这种模式下,很多指令将不能够执行,因此操作系统的资源得以保护。 (2) System Mode:这是V4及其以上版本所引入的特权模式。、 (3) IRQ Mode:中断模式。中断(不包括软中断)处理函数在这种模式下执行。 (4) FIQ Mode:快速中断模式。除了多了几个翻译 2010-06-02 17:45:00 · 11556 阅读 · 1 评论 -
sed 脚本命令
这篇是当初看完Chinaunix论坛的帖子“抛砖引玉----翻译加注sed1line”的笔记,最近无聊从Evernote翻出来。本文假设测试文件名为test.txt。文件空行处理1. 在文件中的每一行后面添加一个空行。sed 'G' test.txt解释: Get命令是将保留空间的内容取出,并添加到当前模式空间的内容之后(添加一行)。当保留空间为空时,效果为往模式空间添转载 2015-01-23 15:35:35 · 883 阅读 · 0 评论 -
自动给文本添加行号
选择UltraEdit,,菜单栏“列块”->“切换列块模式”,再选择在“列块”下面的插入号码。原创 2017-05-27 09:59:17 · 1174 阅读 · 0 评论 -
linux 时间函数
<br />asctimeeHPLinux联盟<br />ctimeeHPLinux联盟<br />gettimeofdayeHPLinux联盟<br />gmtimeeHPLinux联盟<br />localtimeeHPLinux联盟<br />mktimeeHPLinux联盟<br />settimeofdayeHPLinux联盟<br />timeeHPLinux联盟asctime(将时间和日期以字符串格式表示) 相关函数 time,ctime,gmtime,localtimeeHPLinux联盟<原创 2010-06-22 16:14:00 · 832 阅读 · 0 评论 -
pci memory-map region的prefetchable 和 nonprefetchable
<br />在PCI设备驱动开发过程中,处理板载I/O和内存空间时,常常会遇到prefetchable和nonprefetchable两词,直译为可预取和不可预取。但是两者具体究竟是什么含义呢?在LDD3, Chapter 12: PCI Drivers一章找到了不错的解释,姑且一边翻译一边解读如下(原文:LDD3影印版p316,Accessing the I/O and Memory Spaces 下面一段):PCI设备会实现多至六个I/O地址区间(region)。每个区间由内存或I/O地址组成。大部分设转载 2010-06-18 14:52:00 · 9958 阅读 · 1 评论 -
linux waitpid wait (转)
wait(等待子进程中断或结束)表头文件 #include #include定义函数 pid_t wait (int * status);函数说明 wait()会暂时停止目前进程的执行,直到有信号来到或子进程结 束。如果在调用 wait()时子进程已经结束,则 wait()会立即返 回子进程结束状态值。子进程的结束状态值会由参原创 2010-05-01 15:31:00 · 1448 阅读 · 0 评论 -
linux中线程的切换
系统中有线程A,B在运行:(1) 假设A运行在内核(2) 时钟中断发生,在中断例程中保存所有的通用寄存器以及EFLAG,CS和EIP到A的内核的堆栈中。发现A的时间片用完了,进行调度。更新TSS以及ESP(假设这里是线程B的)(3) B的时间片用完后,类似(2)保存B的现场。切换到A的系统堆栈中,执行一系列的push,恢复A以前的各个通用寄存器,以及eip等。原创 2010-05-10 10:15:00 · 3084 阅读 · 0 评论 -
linux 1号进程
1号进程,pid为1的进程,又称init进程。 linux系统启动后,第一个被创建的用户态进程就是init进程。它有两项使命: 1、执行系统初始化脚本,创建一系列的进程(它们都是init进程的子孙); 2、在一个死循环中等待其子进程的退出事件,并调用waitid系统调用来完成“收尸”工作; init进程不会被暂停、也不会被杀死(这是由内核来保证的)。它在等待子进程退出的过程中处于TASK_原创 2010-05-17 09:31:00 · 4106 阅读 · 0 评论 -
linux 0号进程 1号进程 区别(转)
系统允许一个进程创建新进程,新进程即为子进程,子进程还可以创建新的子进程,形成进程树结构模型。整个linux系统的所有进程也是一个树形结构。树根是系统自动构造的,即在内核态下执行的0号进程,它是所有进程的祖先。由0号进程创建1号进程(内核态),1号负责执行内核的部分初始化工作及进行系统配置,并创建若干个用于高速缓存和虚拟主存管理的内核线程。随后,1号进程调用execve()运行可执行转载 2010-05-21 11:29:00 · 20178 阅读 · 1 评论 -
Linux 线程同步---条件变量
1. 相关函数 #include pthread_cond_t cond = PTHREAD_COND_INITIALIZER; int pthread_cond_init(pt转载 2010-05-26 15:41:00 · 883 阅读 · 0 评论 -
linux线程栈大小的设置
线程应用程序最常见导致创建线程失败的原因是线程栈大小的设置。创建一个新的线程,默认情况下系统为线程栈预留了2MB的寻址空间。线程栈起始于进程虚拟内存的高端地址,并向虚拟内存底端地址方向扩展。取决于线程本身的大小以及其它线程内存分配的情况,进程虚拟地址空间消耗过快可能导致创建线程失败。这里有一个测试程序可以看到,Linux下最多可以创建多少个线程。#include#inc原创 2010-05-28 00:10:00 · 22027 阅读 · 1 评论 -
osi网络模型 协议层 数据封装
当主机向其他的设备跨网络传输数据时,数据就要进行封装,就是在OSI模型的每一层加上协议信息。每一层只与接收设备上相应的对等层进行通信。为了实现通信交换信息,每一层都使用协议数据单元PDU,这些含有控制信息的PDU被附加到数据上。我们通常被附加到数据字段的报头中,但他们也可以被附加在数据字段的报尾中。在OSI模型的每一层,通过封装使每个PDU被附加到数据上,而且每个PDU都有特定的名称,转载 2010-05-28 18:21:00 · 1731 阅读 · 0 评论 -
nor flash 与 nand flash 的区别
Beside the different silicon cell design, the most important difference between NAND and NOR Flash is the bus interface. NOR Flash is connected to a address / data bus direct like other memory devices转载 2010-05-28 22:49:00 · 1055 阅读 · 0 评论 -
linux中驱动异步通知应用程序的方法
<br />驱动程序运行在内核空间中,应用程序运行在用户空间中,两者是不能直接通信的。<br />但在实际应用中,在设备已经准备好的时候,我们希望通知用户程序设备已经ok,<br />用户程序可以读取了,这样应用程序就不需要一直查询该设备的状态,从而节约了资源,这就是异步通知。<br />好,那下一个问题就来了,这个过程如何实现呢?简单,两方面的工作。<br />一 驱动方面:<br />1. 在设备抽象的数据结构中增加一个struct fasync_struct的指针<br />2. 实现设备操作中的fa原创 2010-06-08 10:25:00 · 10872 阅读 · 11 评论 -
宽字符c函数和普通字符C函数
最近在搞ti6467项目的gui界面,要在显示屏上显示汉字,需要用到宽字符的知识,特意搜了相关的c函数,如下:字符分类: 宽字符函数普通C函数描述 iswalnum() isalnum() 测试字符是否为数字或字母 iswalpha() isalpha() 测试字符是否是字母 iswcntrl() iscntrl() 测试字符是否是控制符 iswdigit() isdigit() 测试字符是否为数字 iswgraph() isgraph() 测试字原创 2010-06-08 18:02:00 · 1189 阅读 · 0 评论 -
source insight 解决自动缩进 和 TAB键=4个SPACE
<br />1. SMART TAB的用法. 解决自动缩进.<br /><br /> 新开一个PROJECT后,点Options->Document Options,弹出对话框后先在左上角选好要用的Document Type,主要就是设C Source File和C++ Source File,选好后点右边中间的Auto Indent调整缩进。单选里一定要点Smart,右边有两个复选框Indent Open Brace和Indent Close Brace,具体效果是如何的可以看SIS的HELP。<b原创 2010-06-13 13:59:00 · 45524 阅读 · 1 评论 -
linux进程调度方法简述
在 Linux2.6 中,仍有三种调度策略: SCHED_OTHER、SCHED_FIFO 和 SCHED_RR。 SCHED_ORHER:普通进程,基于优先级进行调度。 SCHED_FIFO:实时进程,实现一种简单的先进先出的调度算法。 SCHED_RR:实时进程,基于时间片的SCHED_FIFO,实时轮流调度算法。 前者是普通进程调度策略,后两者都是实时进程调度策略转载 2017-11-16 08:46:32 · 913 阅读 · 0 评论