• 关于嵌入式可执行程序,你了解多少?

    嵌入式系统由硬件系统和软件系统组成,因此为了使整个嵌入式系统运行起来,必须有相应的程序,我们一般所说的程序,实际上就是存储在硬件设备中的一些可执行代码。可执行代码包括嵌入式操作系统和应用软件。

    2023-05-15 digiproto

  • C语言函数在硬件中的执行原理

    众所周知,C语言的应用程序总是以「main」函数作为程序入口地址,那到底什么是函数呢? 程序的执行其实本质上是CPU对指令的处理,那么一个C函数的本质其实也相当于一组协同工作的指令,而这组指令能够通过相互之间的配合实现特定的功能(Function)。例如从SPI缓冲区中提取数据,配置定时器的延时时间,或者从内存读取数据并写入DAC的寄存器中。 一个函数能完成的功能往往不止一个,比如某个函数能够实现通过串口传输一个字节的数据,然后检查状态位直到接收到一个字节,最后把接收到的所有数据组合起来做实际的计算。

    2023-05-15 digiproto

  • Linux进程间通信

    Linux环境下,进程地址空间相互独立,每个进程各自有不同的用户地址空间。任何一个进程的全局变量在另一个进程中都看不到,所以进程和进程之间不能相互访问,要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信(IPC,Inter-Process Communication)。

    2023-05-15 digiproto

  • 浅谈ARMv8-A系列CPU的架构

    1978年底,物理学家Hermann Hauser和工程师Chris Curry,在英国剑桥创办了CPU公司(Cambridge Processing Unit),主要业务是为当地市场供应电子设备。1979年,CPU公司改名为Acorn计算机公司。

    2023-05-15 digiproto

  • CPU是如何处理指令的

    CPU主要由以下几部分组成,参考下图 一系列寄存器,部分处理地址相关的寄存器,和其他一些用于处理数据的寄存器 ALU,算数逻辑运算单元 CU,控制单元,控制多个寄存器传输之间的时序等 内部一些寄存器之间的连线

    2023-05-15 digiproto

  • 关于Cortex-M3处理器内核中断异常处理机制你了解多少?

    Cortex-M3处理器内核是ARM公司设计的Cortex-M系列的一款经典处理器内核,基于32位ARMv7内核架构,采用Thumb-2指令集,完全没有使用ARM指令集,即不能执行ARM指令。Thumb-2是16位Thumb 指令集的一个超集,在Thumb-2中,16位指令首次与32位指令并存。Cortex-M3处理器的特点包括:性能强劲、功耗低、实时性好、代码密度得到很大改善、低成本的整体解决方案。

    2023-05-15 digiproto

  • 如何使用Windows OVERLAPPED优化你的应用

    01 异步I/O基本原理I/O即输入输出。在现代操作系统中,输入输出是计算机完整功能必不可少的一部分。处理器负责各种计算任务,然后通过各种输入输出设备与外界进行交互。常见的输入输出设备包括键盘、鼠标、显示器、硬盘、网络适配器接口等。有了硬件设备,在软件层面上,使得操作系统通过以一致的方式与设备驱动交互从而操控硬件设备。而应用程序通过统一的接口与系统内核进行交互。在计算机程序执行过程中,设备I/O是

    2023-05-15 digiproto

  • 初入SysML之模块定义图

    如果把系统工程看做一座山,那么基于SysML或UML的各种图就是从不同角度去看这座山所形成的“画”。“横看成岭侧成峰,远近高低各不同”,每幅“画”都能展现出其不同角度的“美”,但又无法完全画出每一棵树、每一朵花。 今天我们来画一下山的脉络——模块定义图。文绉绉的东西放后面,直接从实例说起吧。比如台式机由主机、显示器、鼠标、键盘、音响等组成,用SysML怎么表示呢?

    2023-05-15 digiproto

首页
产品
新闻
联系