随笔分类 - 操作系统与嵌入式系统
主要讨论操作系统相关的技术以及嵌入式系统软件开发相关的技术。
主要集中讨论系统级、固件层的开发,包括操作系统内核、驱动等等。除此之外还有多一些处理器的介绍。
摘要:由于Android以及Jetson TK的编译工具链中的汇编器仍然不支持大部分的32位Thumb-2指令,比如add.w,因此我们只能通过手工写机器指令码来实现想要的指令。下面我将简单地介绍如何在ARM GCC汇编器中手工去写机器指令码。
阅读全文
摘要:关于Jetson Kit开发相关资料
阅读全文
摘要:在Intel Haswell架构里引入了Gather特性。它使得CPU可以使用向量索引存储器编址从存储器取非连续的数据元素。这些gather指令引入了一种新的存储器寻址形式,该形式由通过一个向量寄存器(XMM或YMM)所指定的一个基地址寄存器和多个索引。数据元素大小支持32位与64位,并且数据类型支持浮点型和整型。
阅读全文
摘要:由于现在ARM处理器的飞速发展,从Apple A4到现在的Apple A7,从32位到64位,每一代处理器几乎都增加了不少特性,从而在架构上也有所不同。比如Apple A6引入了ARMv7S架构,增加了FMA(融合的乘加)以及FP16(IEEE754-2008中的16位浮点运算)操作(通过__fp16关键字来定义16位浮点变量);而Apple A7又开始支持了64位ARM架构,即AArch64架构。因此,我们在写一些代码的时候,尤其是写汇编的时候如何区分这些不同的架构呢?
阅读全文
摘要:在此列出x86架构处理器在64位模式下的可用寄存器列表,方便查阅~
阅读全文
摘要:在ARMv6T2以及ARMv7架构扩展了Thumb指令集,其中加入了IT指令,进一步增强了代码的紧凑性。
阅读全文
摘要:POSIX Thread
阅读全文
摘要:以下这个例子很简单,分别有两个双精度浮点类型的二维数组:double[512][1024],共4MB数据,分为512行1024列,每列位8个字节。现在将每对浮点数组的每一行的第一个元素相加,然后将结果存到一个在栈上分配的数组。
阅读全文
摘要:本文将系统地介绍如何利用XCode在iOS设备上使用汇编语言。
阅读全文
摘要:Apple在LLVM GCC4.2编译器中,通过XCode中的提示接口显式地为程序员提供是否将目标代码编译为ARM的选项。而在Apple LLVM3.0中,此选项没有了。
阅读全文
摘要:这章描述了窥探控制单元(SCU)。它包含以下段落:
1、关于SCU
2、SCU寄存器
3、AMBA[译者注:高级微控制器总线接口(Advanced Microcontroller Bus Interface)]AXI[译者注:高级可扩展接口(Advanced eXtensible Interface)]主机端接口
4、AXI主机接口时序
5、加速器一致性端口
6、使用WFE/SEV与一个外部代理的事件通信
阅读全文