• 汽车安全困境:如何破局?

    如何解决汽车软件数量和代码量剧增带来的开发问题和安全性挑战?点开文章了解答案!

    2023-05-15 digiproto

  • Schiaparelli着陆器坠毁事故回溯与思考

    2016年10月19日,Schiaparelli火星着陆器尝试登陆火星的过程中,在预定着陆前50秒与地面控制中心失联并意外坠毁,引起较大轰动。点击原文了解事故详情和解决方案。

    2023-05-15 digiproto

  • 二进制文件符号信息

    在日常的开发工作中,程序员经常使用gdb工具来调试二进制编译文件,以定位和解决一些bug。但同时,很少会有人关注二进制文件中的调试信息从何而来,又是怎么保存和解读的呢?

    2023-05-15 digiproto

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

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

    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

  • 初入SysML之模块定义图

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

    2023-05-15 digiproto

首页
产品
新闻
联系