- 博客(13)
- 资源 (3)
- 收藏
- 关注
转载 通信总线协议学习整理
一、UARTUART是一个大家族,其包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和总线标准规范。它们的主要区别在于其各自的电平范围不相同。嵌入式设备中常常使用到的是TTL、TTL转RS232的这种方式。常用的就三根引线:发送线TX、接收线RX、电平参考地线GND。 1.1 电路示意图 1.2 通信协议将传输数据的每个字符一位接一...
2018-07-28 17:41:44 10950
转载 进程和线程的多种锁机制
本文将介绍linux系统下多线程编程中,线程同步的各种方法。包括:互斥量(mutex) 读写锁 条件变量 信号量 文件互斥在介绍不同的线程同步的方法之前,先简单的介绍一下进程和线程的概念, 它们的优缺点,线程相关的API,读者——写者问题和哲学家就餐问题。 基础知识 1. 进程和线程进程(process)是指在系统中正在运行的一个应用程序,是系统资源分配的基本单位,在内存...
2018-07-28 17:07:05 3687
转载 linux0.11下的中断机制分析
异常就是控制流中的突变,用来响应处理器状态中的某些变化。当处理器检测到有事件发生时,它就会通过一张叫做异常表的跳转表,进行一个间接过程调用,到一个专门设计用来处理这类事件的操作系统子程序,这张表即中断描述符表IDT。本文将针对Linux0.11代码进行分析和调试,来了解中断机制,主要分析以下三个问题:1. 中断描述符表的建立。2. 一般中断的处理过程,以0x3号中断为例。3. 系...
2018-07-18 10:19:36 460
原创 中断处理的行为和长调用(段间子程序调用)的行为
1、两过程定义与作用 子程序是微机基本程序结构中的1种,基本程序结构包括顺序(简单)、分支(判断)、循环、子程序和查表等5种。 子程序是一组可以公用的指令序列,只要给出子程序的入口地址就能从主程序转入子程序。子程序在功能上具有相对的独立性,在执行主程序的过程中往往被多次调用,甚至被不同的程序所调用。一般微机首先执行主程序,碰到调用指令就转去执行子程序,子程序执行完后,返回...
2018-07-18 10:16:45 1655
转载 gcc 编译选项
摘自http://blog.csdn.net/liuchao1986105/article/details/6674822版本] -0.13 [声明] 这篇文档是我的关于gcc参数的笔记,我很怀念dos年代我用小本子,纪录任何的dos 命令的参数.哈哈,下面的东西可能也不是很全面,我参考了很多的书,和gcc的帮助.不全的原因是,有可能我还没有看到这个参数,另一种原因是,我可能还不会用他...
2018-07-18 09:47:11 850
原创 linux0.11 C嵌入汇编
概述:linux内核源码中,有很多C语言中嵌入了汇编语句,如何理解这些汇编语句,对理解内核有很重要的作用。 具有输入和输出参数的嵌入式汇编语句的基本格式为: asm("汇编语句" :输出寄存器 :输入寄存器 :...
2018-07-17 17:56:23 542
转载 中断描述符(IDT)、任务门、中断门、陷阱门
什么是中断描述符表 中断描述符IDT表示一个系统表,它与中断或异常向量相联系。每一个中断或异常向量在这个系统表中有对应的中断或异常处理程序入口地址。中断描述符的每一项对应一个中断或异常向量,每个向量由8个字节组成。因此,最多需要256*8=2048字节来存放IDT。 在运行中断之前,必须初始化IDT(中断描述符表)。任务门、中断门、陷阱门 IDT包含三种类型的中断...
2018-07-17 09:57:50 4787
原创 linux0.11,启动流程
在linux0.11版本的boot目录下有三个汇编代码文件:bootsect.s,setup.s和head.s。 这三个文件虽然都是汇编文件,但是他们语法和所使用的编译器是不一样的,bootsect.s和setup.s是实模式运行的16位代码程序,采用的是intel的汇编语法并且使用的是intel 8086汇编编译器as86和连接器ld86,而head.s是保护模式。采用的是GNU的汇编格式...
2018-07-15 17:59:49 681
原创 开始阅读linux内核0.11版本。
最近开始阅读linus如何创造linux的历程,膜拜大神,并且开始学习linux内核。警戒自己,不要放弃,努力研读。
2018-07-15 17:43:20 911
转载 eax ...edi esp ebp寄存器简介(转)
首先介绍我们会经常看到的一些寄存器:4个数据寄存器(EAX、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI)2个指针寄存器(ESP和EBP)4个数据寄存器(EAX、EBX、ECX和EDX):32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX。对低16位数据的存取,不会影响高16位的数据。这些低16位寄存器分别命名为:AX、BX、CX和DX,它和先前的CPU中的寄存器相...
2018-07-14 11:12:23 365
转载 负数和正数的存储方式。
今天被老大教育了一遍,一直以为是我对的。果然我老大还是我老大。受教了:,以下转载。本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助! 一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念....
2018-07-11 17:11:51 3716
原创 原 Qt Creator 自动补齐函数参数问题
使用Qt Creator集成开发环境进行项目编码时,经常需要重写父类的虚函数去实现自己想要的功能,但是当声明这些函数时,经常遇到函数名可以自动补齐,但是函数的参数却不能自动补齐的情况,可能是有些Qt Creator的版本支持只要敲函数名的前几个字符就会把函数名连同参数一并给补全,但是博主使用的IDE版本中大都都只是补全函数名,函数参数不会自动补全。、解决办法: 函数补全后删掉函数名后面的()...
2018-07-01 18:46:45 1646
转载 QT5常用样式表
先来个颜色代码表自绘按钮(需准备三张图片对应正常状态,鼠标经过状态以及按钮按下时的状态,以下只用了两张)[plain] view plain copy ui->Button->setStyleSheet(" QPushButton {border-image:url(:/icon/close);} //正常状态 QPushButton:hover{...
2018-07-01 17:36:32 1208
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人