在嵌入式系统开发中,高效的调试架构是确保芯片设计成功的关键因素。Arm Corstone™参考系统架构提供了一套完整的调试解决方案,基于CoreSight SoC-600M技术构建,为多核SoC设计提供了灵活的调试配置选项。
Corstone架构支持两种主要的调试配置模式,通过HASCSS参数进行选择:
基础调试配置(HASCSS=0):这是最简单的调试配置,系统不包含共享的CoreSight调试基础设施。在此模式下:
完整调试配置(HASCSS=1):这是功能齐全的调试配置,包含完整的CoreSight SoC-600M调试基础设施:
实际项目中选择配置模式时,需要权衡芯片面积、功耗与调试需求。对于需要深度调试能力的应用,完整调试配置虽然会增加一些面积开销,但能显著提高开发效率。
在完整调试配置下,系统通过CoreSight调试访问端口(DAP)提供调试访问能力。关键组件包括:
调试访问通过调试认证信号进行安全控制:
系统互连访问MEM-AP的地址映射:
每个处理器核心都通过专用的MEM-AP提供调试访问,关键特性包括:
Class 0x9调试ROM表:
调试访问控制:
调试接口:
共享调试系统提供多核调试所需的公共功能,主要包括:
共享调试系统CoreSight ROM:
跟踪基础设施:
交叉触发系统:
调试APB扩展接口:
调试系统提供时间戳输入TSVALUE<B/G>[63:0],用于所有需要时间戳的调试逻辑。关键考虑因素:
时钟域问题:
实现建议:
交叉触发系统是复杂多核调试的关键组件,其功能包括:
内部保留触发:
DMA控制触发:
NPU控制触发:
扩展触发信号:
实际使用中,建议将CTIEVENTOUT[6]和[7]分别用于暂停和重启系统时间戳计数器,以保持调试数据的时间一致性。
当DEBUGLEVEL=2时,系统提供完整的跟踪基础设施:
跟踪数据流:
ETB功能:
配置选项:
调试系统与芯片电源时钟架构紧密集成:
调试电源域(PD_DEBUG):
调试时钟(DEBUGCLK):
处理器调试时钟:
调试系统提供多层次的安全保护机制:
调试认证信号:
安全调试通道(SDC-600):
地址空间隔离:
在实际集成调试系统时,建议检查以下关键项:
配置一致性检查:
信号连接验证:
地址映射验证:
电源时序检查:
核心控制技巧:
跟踪数据分析:
性能优化:
调试访问失败:
跟踪数据不完整:
交叉触发不工作:
安全调试问题:
自定义调试组件:
低功耗调试:
安全增强:
在实际项目中,调试系统的配置和优化是一个迭代过程。建议在芯片设计的早期阶段就建立完整的调试策略,并随着设计进展不断验证和调整调试架构。Corstone提供的灵活调试系统可以适应从简单嵌入式设备到复杂多核SoC的各种需求,关键在于根据具体应用场景进行合理配置和扩展。