除错是嵌入式应用开发人员的日常工作之一。随着应用日益复杂,除错过程变得更加困难耗时。利用仿真器解决方案进行除错的缺点在于无法准确复制应用操作条件。许多仿真器虽提供程序代码覆盖率分析 (code coverage)、执行频率统计 (profiling) 和条件断点等功能,却只能仿真处理器核心和少数外围。这对复杂的纯软件算法测试或许足够,但嵌入式应用却常涉及许多软硬件互动,如外部连接电路及模拟数字转换器与定时器模块等微控制器的整合外围都会产生实时事件。此外,微控制器本身可能是更复杂系统的一部份,并且会链接外部控制与数据储存组件,或是与DSP配合提供支持功能。开发人员很难在处理器核心仿真器的「无尘室环境」除错、或验证这些与外部组件通讯的软件。
克服这些缺点的常用方法之一是使用在线仿真器 (ICE),ICE兼具仿真器的优点及在实际硬件实时执行软件的能力。设计人员只需以芯片封装转接器 (chip-package adapter) 取代目标板上的微控制器,该转接器会连接另一个含有复杂电子电路的机盒,负责仿真微控制器的行为和提供除错功能。ICE仿真器虽有许多功能,但却相当昂贵与笨重,且无法提供100%的精确环境,尤其在遇到模拟数字转换器、数字模拟转换器、比较器、振荡器和电压参考这类敏感的模拟外围时更是如此。
有鉴于这些缺点,在微控制器加入除错功能的嵌入式仿真变得很受欢迎。除错计算机主机可透过嵌入仿真功能利用JTAG等序列界面直接链接芯片内建的仿真逻辑电路,应用程序代码即可在微控制器上执行。这种做法的优点在于软件设计是在实际操作条件下进行,所以发展完成后不需额外的硬件测试。
...
...
另一名雇主 |
限られたニュース |
文章閱讀限制 |
出版品優惠 |
一般訪客 |
10/ごとに 30 日間 |
5//ごとに 30 日間 |
付费下载 |
VIP会员 |
无限制 |
20/ごとに 30 日間 |
付费下载 |