• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 测试测量 > 技术文章 > 如何在硅芯片制作完成前进行软件开发

如何在硅芯片制作完成前进行软件开发

录入:edatop.com    点击:
片上系统(SoC)开发不再仅仅是简单的硅芯片开发过程。现代设备大量使用了各种软件,包括软件栈、中间件、启动代码和驱动程序。你大可悠然自若地等到硅芯片开发完成后,再将其放在电路板上开始进行软件的开发。然而在激烈的市场竞争中,时间就是生命。开发进度日益紧迫,若能在硅芯片制作完成前便着手进行软件开发,将成为一个巨大的竞争优势。要做到这一点,需要满足以下三个要求:首先,需要一套可供寄存器传输级(RTL)设计高速运行、且在硅芯片或开发板准备就绪前就能在上面正常运行软件的仿真系统;此外,还需要一个高速、基于事务的协同建模通道将仿真器与基于工作站的软件调试工具进行连接;最后,还需要提供符合软件开发者需求的软件调试环境。

为一种硬件还没有成型的产品开发软件时,首先需要一个能运行代码的环境。通常有两种选择:物理环境或虚拟环境。大多数项目都是基于某个现有设计,即在原有版本中添加某些功能,使原有版本功能更强、速度更快、性能更好。这种情况下,有可能从接手项目的原有设计版本中直接获取现成的电路板,或者能取得该电路板的软件环境以进行软件开发,用自己的调试环境来对其进行验证。到目前为止,最简单的做法就是在现成的电路板上运行。如果是开发一个全新的软件,你可以使用一块开发板,运气好的话,或许还能找到类似的开发板。还有一种可行的方法,即在一个虚拟电路板上运行,如虚拟机(QEMU)。QEMU是一个开源系统仿真器,可随意模拟各种ARM板。ARM公司也提供一个虚拟平台,称作“基础模型”(可在其网站上免费获得),类似于QEMU,可运行ARM代码。二者都有引入调试器的工具。

如何在硅芯片制作完成前进行软件开发
图1:Mentor公司验证平台将先进的仿真器解决方案、硬件加速器平台以及强大的调试环境整合在一个全球共享的高性能数据处理中心资源里。

  

有了可运行和调试代码的环境,就可以开始编程了。某些情况下,你将需要访问一些还未成型的全新外围设备,应对此问题的一个解决方案是创建一个模型。我们先从一个非常简单的例子入手:读取这个新外围设备的ID寄存器。许多外围设备都有ID寄存器,这是一个只读寄存器,读取时返回固定的已知数值。这就好像让驱动程序多了些许自信,让其意识到设备在与正确的外围设备通信。很早以前,在驱动程序初始化时,读取寄存器并将其与预期进行比较就是一件较为敏感的事情。以下是一个ARM pl011串口驱动程序的例子:

如何在硅芯片制作完成前进行软件开发
图2:校验一个新外围设备的ID寄存器

点击浏览:矢量网络分析仪、频谱仪、示波器,使用操作培训教程

上一篇:开放式FPGA增加测试灵活性
下一篇:探索复杂RF环境中的射频干扰

微波射频测量操作培训课程详情>>
射频和天线工程师培训课程详情>>

  网站地图