前文《Intel处理器Family、Model、Stepping等的学习》只是简单讲了CPU的标识等内容(仅针对Intel,本文也是),但其读取方法未涉及。本文就此未完事宜来了解读取的方法:使用CPUID指令来完成。
Intel处理器Family、Model、Stepping等的学习
本文主要介绍在Linux系统中查看本机CPU信息方法,接着针对intel的x86处理器标识进行概括性描述,包括CPU ID、vendor、Family、Model、Stepping等。这些信息主要来自网络搜索所得,同时参考Intel IA32架构软件开发手册第2卷、第3卷进行修正完善,参见文后附带地址以便了解更多。
GNU C内嵌汇编学习笔记
前文所述,只是针对汇编格式的整理,本文将使用coreboot项目代码对其进行实例化。以方便、清晰了解到如何在C语言里使用内嵌汇编的方法。同样地,网络上也有众多文章涉及到这方面,所以本文更多是归纳总结。形成自己的学习笔记。
AT&T格式汇编学习
Linux内核代码大量使用内嵌汇编,以进行某些特定功能的实现,或对某功能进行快速实现。使用的汇编格式为AT&T,本文就该种格式的汇编和Intel格式的汇编进行讲述。网络上也有众多文章涉及到这方面,所以本文更多是归纳总结。形成自己的学习笔记。
Intel X86 CPU寄存器学习笔记
本文对Intel CPU寄存器做一些浅显的介绍。Intel处理器寄存器在很多教科书上有,网络也有很多文章涉及到。因此本文在这些基础上做一些归纳总结,另外也参考了Intel IA32架构软件开发手册。
由子网掩码字符串转换成长度前缀的代码示例
最近在进行的ONVIF任务,有一个接口是设置IP的,叫SetNetworkInterfaces,可以设置包括网络速率、双工、自动协商等功能,还可以改IP。但里面有子网掩码字段,只有一个叫PrefixLenght的,直译为前缀长度。具体如下:
linux下时区的一些认识
最近搞ONVIF,在时间接口中有一个时区的字段,需要使用POSIX格式的时区,ONVIF手册要求符合IEEE100.3.1的第8章节,但要注册才能看IEEE标准,我印象中以前下载过,但找不到了。幸好,找到一篇讲POSIX格式时区的文章,终于有点认知了。
遇到一个把.o文件strip后出现的奇怪问题
最近参与的任务是ONVIF的重构。在把live555组播搞完后,就正式投入ONVIF的事了。主负责ONVIF的同事已经把代码重新做了一套框架出来,大体代码已经实现了,我就把它交叉编译整合到公司架构代码上。但在编译过程中因为一个问题导致花了一天的时间才解决。
iptables学习笔记:同一端口号同时支持tcp和udp的转发
前段时间,某项目中遇到一个端口转发问题,虽然我无缘参与项目,但由于项目使用到的一个平台恰好是我前不久搞过的,所以最终还是找我,于是中断了正在进行的任务进行协助。他们定位到只有udp无法转发成功,而tcp是成功的。我看了代码,里面只针对tcp进行转发的。因此,需要对该端口同时支持tcp和udp转发。下面记录一下转发命令。
live555编译、播放示例
最近被安排搞onvif,onvif的视频传输,就是使用live555做服务器,使用其提供的URL。所以live555也得去了解学习。本文简单介绍live555的编译,然后在原有例程上给出一个示例。
使用StarUML生成live555类图
其实很多年前,还是大学时代,在学习软件工程,我已经知道并学习StarUML了,只是后来没什么机缘持续使用,以至于差点遗忘它了。最近在搞live555,该项目代码复杂,虽有众多网络文章可参考,但终不如自己看代码,而且文章个别错误更会误导人。于是查了些资料,使用StarUML生成类图,以便对照代码学习。
onvif学习笔记3:NTP命令实现的示例
对于开始接触onvif的人,相信都会被其庞大的代码吓到。一般不建议上来就看代码,而是先去了解概念,然后去官网下载Spec来看。有一定概念后,再对照着wsdl命令描述、spec描述来阅读代码,这个时候就会比较清晰了。本文就按这个思路来讲解一下NTP的设置和获取命令。