粤嵌嵌入式培训
平台至强:三大主流硬件平台 Cortex-M4/A53/A72系统至全:三大主流操作系统 uCOSIII/FreeRTOS/ 嵌入式 Linux全栈至稳:三大主流编程语言 C/C++/Python技术至新:三大主流应用领域 IOT(物联网)/AI(人工智能)/EC(边缘计算)实践至多:多达数二十个开源项目库,时刻与大神零距离
嵌入式开发:嵌入式系统验证的自动化C测试用例
随着片上系统(SoC)设计向更大的复杂性进军,包含数千行系统级验证代码的测试套件仍在继续手工编写,这是一种古老而低效的做法,违背了“尽可能自动化”的格言。在嵌入式开发中,对于在SoC的嵌入式处理器上运行以在制造之前验证整个器件的C测试来说尤其如此
在可能的情况下,自动化验证测试组合已被证明可以提高SoC开发的许多阶段的生产率。例如,在通用验证方法(UVM)测试台中,约束随机技术利用针对特定场景的随机测试向量来增加覆盖率。虽然这些提高了硬件模块级的验证效率,但设计仍被视为一个黑盒,激励、检查和覆盖代码分别编写,对于大型模块而言,这仍是一项繁重且容易出错的任务。
考虑到需要将处理器测试代码与I/O事务结合起来,通常在仿真器或原型系统上执行,很难将这种方法扩展到系统级。为了正确验证SoC,必须对处理器本身进行测试。UVM和其他约束随机方法不考虑处理器上运行的代码。事实上,为了在SoC上使用UVM,处理器通常被移除,并被SoC总线上的虚拟输入和输出所取代,从而允许子系统减去处理器进行验证
SoC验证工程师认识到了受限随机测试平台的局限性,促使他们手写C测试以在处理器上运行模拟和硬件仿真,即使他们在充分运用SoC设计方面受到限制。这些验证平台的性能不足以运行完整的操作系统(OS),因此这些测试执行“裸机”,这大大增加了合成工作的开销。在嵌入式开发中,手写测试,尤其是在没有操作系统服务帮助的情况下,在利用多线程的多核处理器上以协调的方式运行是不常见的。结果是SoC行为的各个方面,例如并发操作和一致性,得到了限度的验证
自动生成C测试
当然,自动生成的C测试会更有效地利用工程资源。它们也增加了覆盖面。与手写测试相比,生成的C测试用例可以测试更多的SoC功能,并且可以找出难以想象的复杂的极限情况。多线程、多处理器测试用例可以测试设计中的所有并行路径,以验证并发性。它们可以在内存段之间移动数据以强调一致性算法,并在数据应该发送到芯片的输入或从其输出读取时与I/O事务协调。这样做的总体效果是增加系统功能覆盖率,通常高于90,而数字通常要低得多
当然,自动生成的C测试会更有效地利用工程资源。它们也增加了覆盖面。与手写测试相比,生成的C测试用例可以测试更多的SoC功能,并且可以找出难以想象的复杂的极限情况。多线程、多处理器测试用例可以测试设计中的所有并行路径,以验证并发性。它们可以在内存段之间移动数据以强调一致性算法,并在数据应该发送到芯片的输入或从其输出读取时与I/O事务协调。这样做的总体效果是增加系统功能覆盖率,通常高于90,而数字通常要低得多
测试生成软件,被称为测试套件合成,使用一个易于理解的、基于图形的场景模型来捕获预期的设计行为。这些模型可以使用Accellera可移植刺激标准使用本地C++编写或可视化描述。场景模型由设计或验证工程师创建,作为SoC开发的自然部分,因为它们类似于传统的芯片数据流图,可以在白板上绘制以解释部分设计规范
嵌入式开发:我们如何确保嵌入式系统的耐用性和数据保护
1
3D NAND在固态硬盘(SSD)存储中风靡一时,无论是在消费者、企业还是工业嵌入式开发中,尤其是在嵌入式设计中。NAND大幅提升闪存存储容量的潜力远超平面(2D) NAND,这一点已有充分证明。主要闪存制造商一直吹嘘他们开发的3D NAND设备超过了单个设备不断增长的容量,使从手持设备到数据中心的设计中一度难以理解的存储成为可能。然而,较少讨论的是如何在要求苛刻的嵌入式系统中部署超大容量3D NAND闪存存储,包括工业物联网(IIoT)和机器对机器(M2M)设计。此类应用以不同的方式利用闪存存储。
2
闪存容量不断增加的另一个原因是,主流的位容量现在是每单元三位,或未来每单元四位的三电平单元(TLC)技术和四电平单元(QLC)。
3
对于所有这些新的3D制造方法,都有一些折衷——我们应该预计到耐用性、性能、散热考虑和容量之间的某种折衷。毕竟,将每个单元三位(终是四位)封装到芯片中,然后将其制造成分层解决方案是一个相对较新的概念,仍处于改进阶段,因此会受到初始耐用性、性能和散热挑战的影响
4
NAND闪存设计人员正在克服耐用性和散热障碍,但这是有代价的。直到近,基于工业温度的3D解决方案才进入工业嵌入式开发市场,而主流商业和企业版本已经在各自的市场上出现了几年。让这项技术适应工业市场需要一些时间,但似乎3D NAND的工程师们正在学习如何做到这一点。基于3D的固态硬盘不必牺牲耐用性,现在已经达到并超过了2D基于MLC的固态硬盘的耐用性。
5
工业温度级3D NAND闪存问世。但热效应对3D SSD性能的影响仍然是相当新的主题,需要对工作负载和温度范围进行进一步的验证测试。3D NAND处于主流市场,但3D NAND的高温使用仍处于初级阶段。课程模块吃透“嵌入式
课程由浅入深,循环渐进
-
系统开发
智能家居系统项目实战,WIFI视频智能车,应用软件开发、部署,Linux操作系统,嵌入式Linux系统部署,Linux驱动程序开发,ARM实战(含AAE) -
亞高级开发
ZIGBEE,无线通讯,视频采集播放,音频视频,3G 短信/彩信,QT & UI编程,多线程编程,网络编程,数据库,文件操作。
-
语言基础
C 语言,C ++语言,数据结构 & 算法,Linux操作系统