ABB IMHSS03
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
【厦门莫格电气自动化有限公司】
【Xiamen Mogget Electric Automation Co.,Ltd】
【当天顺丰发货,欢迎***验货,不要犹豫,不要徘徊,错失良机,后悔晚矣】
【来电咨询:雷(女士)】
【销售***请点上面↑↑↑↑↑↑↑↑↑↑】
【传真:0592-6514751 (请备注:雷琳收)】
【邮箱:1982497648@***.com 】
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
针对 API 的问题,新版的库文件在设计之初也考虑到了版本迭代和跨平台对用户的影响。在新的库文件中,每一种外设一般都有一个顶层的API,这是所有平台上统一命名的。以CAN 为例,顶层的 API
iMX6 和 Tegra 平台对应实现了 API。
因此,当用户使用了顶层 CAN API 时,如果相应平台的驱动出现变更,那么用户将可以免受影响。这对使用不同平台的情况也一样,用户无需修改代码,即可在不同 SoC 的平台上运行同一个代码。
https:///software/windows-embedded-compact/toradex-ce-libraries-and-code-samples
Linux
对于使用开源 Linux 环境的用户,会更易于受到软件版本变更带来的影响。Toradex Linux BSP V2.6 使用了 gcc-linaro-5.2 编译工具,V2.7b2 开始使用 gcc-linaro-6.2 编译工具,V2.8 使用 gcc-linaro-7.3 编译工具。尽管不同版本的编译工具可以实现兼容,但是还是建议针对不同版本的 BPS 使用相应的 GCC 编译工具重新编译应用。
Linux 内核镜像格式,随着 Toradex Linux BSP 升级同样也发生了变换。自 V2.8b2 Linux BSP 开始,Apalis TK1、Apalis iMX6、Colibri iMX6 模块都开始采用了压缩的zImage 格式,之前的BSP 中则使用传统 U-Boot 类型的 uImage 格式。如果用户在升级 BSP 过程中,没有清除之前U-Boot 的环境变量(仍然使用 uImage),那么会导致系统无法启动。对于使用 V1.6 Toradex Easy Installer 之后版本升级 BSP 的用户,则不受影响。该版本开始 U-Boot 的环境变量在更新 BSP 的会被重新配置。
https:///software/linux/linux-software/release-details?view=all&issue=17925
除了上面由于 Linux 系统本身的变更外,影响用户更多则是第三方软件的版本升级。一个应用可能依赖于诸多第三方软件,这些软件可能出于安全原因或者性能优化调整 API参数,或者重新命名API,甚至变更库文件名字。以常见的 gstreamer 为例,该组件被许多视频、音频应用所有采用。SoC 厂商也往往会发布针对其系统的 gst 组件,便于用户利用其多媒体硬件如 GPU、VPU实现硬件加速处理。在早期的 BSP,如 V2.4 Beta 1,此时采用 gstreamer-0.1 版本,用户可以通过下面命令使用摄像头。
root@colibri-imx6:~# gst-launch tvsrc ! mfw_v4lsink
而到 V2.5 Beta 2,iMX6 的Vivante多媒体驱动,mfw_v4lsink 也变为 imxv4l2sink,因此用户需要调整命令
root@colibri-imx6:~# gst-launch tvsrc ! imxv4l2sink
目前使用 Linux BSP 则已经使用 gstreamer-1.0,对应的命令也发生变化
root@apalis-imx6:~# gst-launch-1.0 imxv4l2videosrc ! imxipuvideosink use-vsync=true
这些组件的升级变更,给用户提供了新的功能,或者提高运行效率,***终使用户收益。但也意味着,用户需要重新了解新软件的特性,尤其是发生变更的内容可能影响到原有应用的正常执行。
嵌入式软件都会经历一个逐步完善的过程,即使是稳定版本的软件,在特殊的应用场景下也可能出现异常情况。而软件更新迭代就是为了修复期间出现的各种问题。Toradex 为其产品承诺超过10年的生命周期,这不仅包括硬件产品,还有其所使用的软件。这期间用户有可能遇到原有应用无法在新的软件平台上运行。我们建议用户关注我们的产品路线图和库文件发布说明,或者订阅我们的新闻简讯,获得关于软件发布的***新信息。