凌晨的喧嚣尚未完全散去,但启明芯深圳研发中心那间灯火通明的SoC验证与测试中心内,短暂的兴奋和如释重负之后,一种更加专注、也更加炽热的气氛迅速弥漫开来。初步上电成功只是万里长征的第一步,真正决定“蜂鸟一号”价值的,是它那颗集成了应用处理与基带通信能力的复杂“心脏”,能否按照设计预期,强劲而高效地跳动起来。
陈家俊几乎一夜未眠,但他此刻精神却异常亢奋。他快速地与各个测试小组的负责人确认了下一步的验证计划,声音因为激动和疲惫带着一丝不易察觉的沙哑,但指令却清晰明确:“电源稳定,JTAG通路正常!Level
0诊断程序准备!小张,ARM内核的唤醒和内存测试,你们先上!”
负责应用处理器子系统验证的小张(如今的他早已褪去了刚加入公司时的青涩,成长为能够独当一面的资深嵌入式软件架构师)和他带领的两名年轻工程师立刻行动起来。他们的目标,是首先验证“蜂鸟一号”的“主脑”——那颗经过精挑细选和深度功耗优化的ARM946ES内核,以及与之相连的、如同“神经网络”般的内存系统,是否能够正常工作。
“加载Level
0诊断固件……”负责操作JTAG调试器的工程师手指在键盘上快速敲击,一行行指令输入,一个极其精简、仅包含最核心硬件初始化和内存测试功能的固件镜像文件,开始通过调试接口,被缓缓写入到连接在测试母板上的外部引导Flash中,或者直接加载到芯片内部有限的SRAM里。
所有人的目光再次聚焦在调试软件的控制台输出窗口和连接着内存总线的逻辑分析仪屏幕上。
“固件加载完成,设置启动向量……”工程师报告。
“执行启动!”陈家俊下令。
控制台窗口沉寂了片刻,随即,一连串代表着生命迹象的字符开始滚动输出:
[BOOT]
Hummingbird1
SoC
Booting...
[CPU]
ARM946ES
Core
Detected.
Freq:
120MHz
(Target).
[CACHE]
L1
ICache/DCache
Initializing...
OK.
[MMU]
MMU
Initialization...
OK.
[BUS]
AXI
Bus
Matrix
Initializing...
OK.
[SDRAM]
SDRAM
Controller
Initializing...
Micron
MT48LC16M16A2
(32MB)
Detected.
[SDRAM]
Setting
Timing
Parameters
for
100MHz...
OK.
[SDRAM]
Running
Memory
Pattern
Test
(Walking
Ones)...
屏幕上,代表着内存地址和测试图案的十六进制数字飞速滚动。逻辑分析仪的屏幕上,代表着地址线、数据线和控制信号的波形密集而有序地跳动着,没有出现明显的毛刺或异常。
时间仿佛再次凝固。内存测试是验证芯片核心数字通路稳定性的关键一环,任何微小的设计缺陷或制造瑕疵,都可能在这一关暴露无遗。
“Walking
Ones
Passed!”
控制台上终于跳出了第一行测试通过的信息!
“Running
Memory
Pattern
Test
(Checkerboard)...
Passed!”
“Running
Memory
Pattern
Test
(Random
Data)...
Passed!”
“Running
Memory
Bandwidth
Test...”
片刻后,带宽测试结果也显示出来,读写带宽均略高于设计时钟频率下的理论峰值,这意味着内存控制器的工作效率非常高。
“内存测试全部通过!带宽达标!”调
第151章 核心唤醒,ARM与DSP共舞[1/2页]