-
Linux 操作系统中异常处理函数的实现
每一个Linux C/C++开发人员都碰到过由内存访问引发的段错误 Segmentation fault (core dumped) 。通常这种错误是由于访问了错误的内存地址、内存不足、错误的类型访问等问题引起...
2023-05-15 digiproto
-
SkyEye仿真平台下的操作系统实验- 准备篇(一)
《一步步写嵌入式操作系统》从零开始实现了操作系统leeos,并在SkyEye虚拟机中进行了实验验证。 leeos是一个简单的多任务操作系统,进程调度方式为时间片轮询。leeos使用伙伴算法实现了动态内存分配,支持romfs文件系统,支持运行elf格式的可执行文件。leeos提供了一个简单的驱动程序框架,和一个统一的异常与中断处理架构,并通过使用中断嵌套的方法提高了中断效率。leeos支持mmu,使用两级页表结构实现虚拟地址到物理地址的转换。以上涉及到的技术都在《一步步写嵌入式操作系统》中有详细讲解。
2023-05-15 digiproto
-
带你玩转基于SkyEye的TLE987 DMA控制器实现
DMA,全称Direct Memory Access,即直接存储器访问。 DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实现和完成的。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场过程,通过硬件为RAM和IO设备开辟一条直接传输数据的通道,使得CPU的效率大大提高。
2023-05-15 digiproto
-
了解CI/CD流水线
自动化流水线在CI/CD(持续集成/持续交付或持续部署)的实践中发挥着核心作用。本文将对什么是CI/CD流水线、如何构建CI/CD流水线进行讨论。*持续集成:Continuous Integration*持续交付:Continuous Delivery*持续部署:Continuous Deployment01 什么是CI/CD流水线?CI/CD通过频繁对更新的代码进行检查与严格测试并及时处理反馈,
2023-05-15 digiproto
-
敏捷、DevOps和嵌入式系统测试
01 覆盖率测试概念“测试”在百度百科中的注释为:具有试验性质的测量,即测量和试验的综合。如今人们在提到“测试”时,通常指代的是软件测试(Software Testing),而本文着墨对象则为嵌入式系统测试(Embedded Testing)。嵌入式系统测试,特指对嵌入式系统中的软件部分进行测试,与软件测试有所不同。1.1. 嵌入式系统的具体定义IEEE(国际电机工程师协会):嵌入式系统是“控制、
2023-05-15 digiproto
-
手把手教你!基于Jenkins的嵌入式软件持续集成方法
嵌入式软件就是嵌入在硬件中的操作系统和开发工具软件,它在产业中的关联关系体现为:芯片设计制造→嵌入式系统软件→嵌入式电子设备开发、制造。嵌入式软件与嵌入式系统是密不可分的,嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序4个部分组成,用于实现对其他设备的控制、监视或管理等功能。嵌入式软件就是基于嵌入式系统设计的软件,它也是计算机软件的一种,同样由程序及其文档组成,是嵌入式系统的重要组成部分。
2023-05-15 digiproto