现在,我要将使用 Uniflash 下载 XDS510 和 XDS100v2 JTAG 仿真机的时间 与使用 PMBus 下载 UCD 器件 GUI 的时间进行对比。 下载时间主要 取决于程序大小。 它还取决于 应用程序校验和的 位置。 例如,在 UCD3138128 中, 可将应用程序 校验和置于 编程闪存模块 0 的末尾处, 使可用的 程序空间达 32KB, 将 64KB 程序 置于编程闪存模块 1 末尾处, 或将 128KB 的程序 置于模块 3 末尾处。 如果校验和置于 模块 0 末尾处, 则工具仅需 读取 2KB 闪存 以计算校验和。 但是,如果校验和置于 模块 3 末尾处, 则工具需 读取 128 KB 闪存。 正如您将见到, 使用 Uniflash 后, 下载时间并 不取决于校验和位置, 因为将从 UCD 器件上的 RAM 中 执行在编程后读取闪存 以及计算 校验和的代码。 下载时间还 取决于所用的 JTAG 仿真机。 XDS100v2 比 XDS510 更基于软件, 因此性能取决于 Uniflash 运行 所在的计算机。 在首次 比较中,我通过 PMBus 下载了 一个 18KB 的程序 到 UCD3138128 的模块 0。 然后,借助 XDS100v2 和 XDS510, 我通过 JTAG 下载了 同一程序。 应用 程序校验和 位于编程 闪存模块 0 的末尾处。 使用 PMBus,下载 将费时 12.6 秒。 通过 XDS100v2 和 XDS510 下载 分别费时 8.6 秒 和 8 秒。 因此,与 PMBus 相比, 如果使用 XDS100v2, 则每台器件的编程时间下降 32%, 如果使用 XDS510, 则每台器件的 编程时间下降 37%。 在接下来另一次 比较中,我下载了 相同的 18KB 程序,但是将应用程序校验和 置于编程 闪存模块 3 的末尾处, 而非编程 闪存模块 0 的末尾处, 从而能够容纳 128KB 程序。 如果使用 PMBus 器件 GUI 下载程序, 则总下载时间 会上升至 26 秒。 两个 JTAG 仿真器的 下载时间不受影响。 因此,在此情况下, 与 PMBus 器件 GUI 相比, 如果使用 XDS100v2, 则下载时间会缩短 67%, 而使用 XDS510, 则下载时间会缩短 70%。 在第三例中, 我在同一次下载运行中, 下载了 4KB 引导程序 和 5KB应用程序。 我将应用程序 校验和置于闪存模块 0 的末尾处。 使用 PMBus 器件 GUI 时的编程时间 为 10 秒钟。 如果使用 XDS100v2, 则下载时间会下降 16%, 而使用 XDS510, 则下载时间会下降 21%(对比 PMBus 器件 GUI)。 这是与编程 闪存块 3 末尾处的 应用程序校验和 进行的同一比较,而非在 编程闪存块模 0 进行的比较。 使用 PMBus 器件 GUI, 下载将费时 27 秒。 在使用 XDS100v2 期间, 下载费时 8.4 秒, 而使用 XDS510 则 费时 7.9 秒。 因此,与 PMBus 相比, 通过 JTAG 下载时间会缩短 70%。 再次注意, 通过 JTAG 下载的次数 并未随校验和 位置的移动而 增高。 总之, 如果程序空间大, 通过 JTAG 下载 会比使用 PMBus 快得多。