LOG_PRINTF(()) 在 VeriFone Vx570 中不工作

LOG_PRINTF(()) not working in VeriFone Vx570

这是一个针对 VeriFone 终端平台编程的问题。

背景:

我最近将一个为 VeriFone 的 VerixV (Vx) 平台编写的程序移植到 eVo 平台。在此过程中,我将 eVo 的 ARM 编译器安装到一台新的开发机器上(最初编写程序时,它是在一台具有用于 Vx 平台的旧 ARM 编译器但没有用于 eVo 的编译器的机器上编写的)。我没有在这台新计算机上安装 Vx 包,因为 eVo 编译器和库应该是向后兼容的(假设您在没有 -b 的情况下编译)。

问题:

据我所知,一切都很好——我可以为 Vx 和 eVo 编译,一切似乎都很好,除了我无法获得 LOG_PRINTF(()) 语句来写入 COM 端口在 Vx 平台上。请注意,我可以从我的 eVo 终端获得 LOG_PRINTF 语句。

详情:

我总是能够得到 LOG_PRINTF 语句来写入我另一台计算机上的 com 端口,所以我想知道新旧库(或编译器)之间是否发生了某些变化,这需要我做一些特别的事情让 LOG_PRINTF 在 Vx 上工作。请注意,我并没有尝试使用针对 eVo (LOGSYS_NEW_API_STYLE) 增强的新 LOG_SYS,因为我的理解是这仅适用于 eVo。

我想我已经做了我应该做的一切:

  1. 我正在编译 -DLOGSYS_FLAG
  2. 托管该程序的组(我们称之为 TEST)有 TESTLOG=P(我也尝试过 'C' 而不是 'P',但没有效果)
  3. 第 15 组有 #LOGPORT=COM1
  4. 我也试过添加 LOGMODE=S 并尝试在 15 中添加 LOGMODE=B,但这也没有任何改变
  5. 我已经将 VMAC 的调试版本下载到第 1 组中,它可以很好地写入 com 端口(我使用 TeraTerm 查看输出)。

有没有 VeriFone 程序员以前见过这种事情,可以帮助我解决这个问题?我不知道还要检查什么。

确保您运行正在使用与 eVo 库兼容的 VMAC 版本。您可能需要在您的终端上更新 OS,以便将最新的 VMAC 正确地更新到 运行。