2019年3月6日

摘要: 一、引言 在嵌入式系统中,串口几乎是系统操作的唯一途径,所以串口的使用在嵌入式系统中有着重要作用。因为嵌入式是一个爹不亲,娘不爱的苦命娃,它一般成本比较低,当它被制造出来之后,人们就希望它这么安安静静、平平安安、兢兢业业的运行一辈子。也就是这些设备和人(human being)的交互机会比较少,但是 阅读全文
posted @ 2019-03-06 20:46 tsecer 阅读(713) 评论(0) 推荐(0)
摘要: 一、伪终端的意义 在计算机中,有很多的虚拟技术,使用纯软件的技术来模拟一个硬件设备。例如,使用一个qemu来模拟一个计算机系统、使用tun来模拟一个网卡。归根到底,这些虚拟的原因在于兼容,兼容就是后来的实现要以不修改已有实现为前提。就像intel的指令集和windows的API一样,这里的内容就只能 阅读全文
posted @ 2019-03-06 20:45 tsecer 阅读(721) 评论(0) 推荐(0)
摘要: 一、键盘输入 根据大量资料的描述,最早的IBM XT PC标准键盘是有83个按键,键盘按键被按下的时候它们向键盘控制器发送的扫描码是合这些按键在键盘上的物理位置相联系的(从左到右,从上到下,ESC扫描码为1,Del为0x53)。我们现在的键盘外观和当时的键盘已经有较大区别,所以这些位置看起来可能不那 阅读全文
posted @ 2019-03-06 20:45 tsecer 阅读(880) 评论(0) 推荐(0)
摘要: 一、虚拟终端模拟的问题 前面曾经说过,所谓控制台是对tty设备的一种模拟。tty和主机之间就一根线,所有的交互都在这条串行线上一个bit一个bit的交互,可以看做是“竹筒倒豆子”--直来直去的模式。进一步说,主机不能(也没有义务)直接控制tty设备上的显示设备(比如显示设备对应的内存、显示控制寄存器 阅读全文
posted @ 2019-03-06 20:44 tsecer 阅读(600) 评论(0) 推荐(0)
摘要: 一、主题 当定位一个问题的时候,最为直观和简单的方法就是在代码的特定位置加上对我们感兴趣的特定数据的打印,这是不依赖其它外部工具(调试器类工具)最简单和直观的方法,这个方法在用户态和内核态调试中都是适用的,就连最经典的C语言程序也是一个printf(“Hello World\n”),可见这个prin 阅读全文
posted @ 2019-03-06 20:43 tsecer 阅读(431) 评论(0) 推荐(0)
摘要: 一、问题 在编译一些大的工程的可执行文件的时候,可以发现如果使用DEBUG版本,代码段加上和代码段放在一起的只读数据(字符串或者常量全局变量等)数量将会比较庞大,而在glibc的crti中会有一个对GLABAL_OFF_TABLE(GOT)表的重定向,这个重定向类型为为,从网络上可以看到这种错误类型 阅读全文
posted @ 2019-03-06 20:42 tsecer 阅读(1072) 评论(0) 推荐(0)
摘要: 一、问题 这个就是在一些使用了共享目标文件的可执行文件编译时环境和运行时环境不同(比方说,编译的时候在一个较高版本的环境中编译的,此时使用的C库版本较新,然后将生成的可执行文件放在一个较低版本的系统中运行,此时可能会提示符号版本错误,从而可执行文件加载失败)而导致的可执行文件夹加载失败,这种问题在网 阅读全文
posted @ 2019-03-06 20:41 tsecer 阅读(3798) 评论(0) 推荐(0)
摘要: 一、问题引出 为了精确定位一个任务退出的时候是何种原因,例如是看门狗复位,或者是受到了某些人为主动复位(kill 指定任务,或者reboot导致的简介SIGTERM+SIGKILL组合),或者是某些第三方库中执行了exit导致了线程的退出等原因。这就需要内核进行介入,记录指定感兴趣任务(之后称为受控 阅读全文
posted @ 2019-03-06 20:41 tsecer 阅读(707) 评论(0) 推荐(0)
摘要: 一、问题引出 对于主线程(也就是main函数对应的线程),它并不是通过pthread_create创建的线程,所以我们没有这个主线程对应的pthread_t结构,这个结构也就是pthread_create的第一个参数。这当然只是最为直观的一个结论,事实上系统不会这么羸弱,在main函数中通过pthr 阅读全文
posted @ 2019-03-06 20:40 tsecer 阅读(567) 评论(0) 推荐(0)
摘要: 一、引出 在Linux系统下,通过 dd + losetup + mkfs 创建一个根文件系统已经是创建一个Linux根文件系统的一个常规方法。由于这个是通过一个loop设备来创建的文件,所以这个loop文件是把一个文件看做是一个设备,这个还是一个相对比较高难度的一个适配,因为上层肯定是使用了块设备 阅读全文
posted @ 2019-03-06 20:38 tsecer 阅读(870) 评论(0) 推荐(0)

导航