微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 可编程器件固件开发的现代化方法

可编程器件固件开发的现代化方法

时间:10-09 来源:电子产品世界 点击:

如果想要编写代码,我们需要创建 μVision 项目。在 PSoC Creator 项目菜单中选择“导出到 IDE”向导。

选择 μVision IDE 之后,我们可以选择创建新的 μVision 应用或更新现有应用项目上的器件设置。不过,只有当现有设计出现重大变化时我们才会选择第二个选项(后面还将详细叙述)。选择一个目录,为工作区和应用项目设定名称,并单击“下一步”继续。  

 

接下来,对话框询问您是否希望在应用项目中包含源代码。这要取决于您自身的风格以及您工作团队的工作风格。有时硬件设计人员仅编写刚好够用的软件来测试器件配置。此代码不具备生产价值,而且硬件团队可能想要与软件专业人士共享代码。在其它情况下,硬件团队会开发出有用的低级别接口,连接到他们在 PSoC Creator 中设计的系统,并希望将其导出给应用开发人员。  

 

现在做出了所有重要决定后,单击“下一步”,将进入审核步骤,您能看到在导出过程中将进行那些动作,再次单击“下一步”,完成导出,您将看到带有复选框选项启动 μVision 的检查清单。  

 

导出到 μVision 涉及创建一些文件:PSoC 设计库项目、应用项目以及能让用户通过一次调用 μVision 打开和构建两个项目的多项目工作区。

库项目包含了所有 PSoC 特定信息,包括重要的 API 文件和初始化代码。项目创建完成后,可生成直接链接到应用的“*_PSoCxlib.lib”库文件。

应用项目创建时通常是一个 壳(shell,除非您为 PSoC Creator 导出源文件)。它依赖于库,这意味着它链接到项目的 .lib 文件,并且它也是软件开发人员添加源代码、运行调试器并最终完成产品的项目。它在项目源文件中,以上两个 API 会对源文件进行调用。  

 

修改现有的设计

现在设想一下,您希望对设计进行扩展,在跟踪峰值的同时检测输入信号的最小值。PSoC Creator 设计进行简单的修改就能实现这一目的。让比较器的输出反相(也就是当输入电压低于参考时让其升高)并路由其作为另一个带有较高参考电压 (Vdda) 而非接地混频器的时钟输入,就能实现波谷检测 (trough-detecting) 电路。在比较器前放一个多路复用器,软件就能在检测两个混频器最小和最大电压之间进行切换。

用于新混频器的 Start API 和软件切换通道 API 需要进行调用,如果集成度不够高,就会出现问题。然而,构建设计会自动重新生成库项目(但不含工作区或应用项目文件),因此当再次启动 μVision 时,软件开发人员可立即使用 Trough_Mixer API 文件。虽然使用两种不同的工具进行编辑,但软硬件的变化都能在短短几分钟之内完成、构建和得到验证。  

 

这种软件开发方法此前没有人认真尝试的原因之一在于两个环境共享文件的内在问题。两个工具同时编辑相同的源文件不是什么大问题,有许多方法来解决这个问题,比如说从简单的“沙盒 (sandbox)”开发到功能强大的源控制系统等,但是真正的问题在于软件工具如何管理项目文件的所有权。μVision 工具在其 uvproj 文件中存放了项目有关的大量信息,并且不希望其它工具对其进行修改。所以挑战就是如何在一个工具中对项目进行可靠地修改,同时保持与其它工具的一致性。

简单的回答就是,对于 μVision 来说,您不需要这样做。将设计分为库和应用意味着软件开发人员可随意修改应用,而不会影响 PSoC 初始化和元件 API 代码。同样地,PSoC Creator 能完全独立于应用代码而对硬件设计进行更新。

在原始项目文件生成后,只有当设计团队进行重大改变(比如说采用新的处理器)时,PSoC Creator 才需要更改应用项目。PSoC Creator 可同时支持基于 8051 的 PSoC 3 和基于 ARM Cortex-M3 的 PSoC 5。您只需选择新的部件号并重新构建即可在短短几分钟之内快速切换平台。此工具会自动切换编译器并面向新的架构。当然,如果基于 ARM 的应用试图要链接 8051 PSoC 设计,就会出现问题。为了避免这一问题,PSoC Creator 会在您进行 IDE 设计工作时注意有关变化并通知您更新应用项目文件。通常通过导出对话框的“更新现有 μVision 应用项目的器件设置”选项实现这一目的。通过对话框的路径很短,只需提供应用项目文件名称以及保存有新器件类型、编译器选择和设置的工具更新文件即可。它能保留您所有此前的源代码,因此您的项目在重新导出后就能随时移植到新的器件架构上了。

显然,PSoC Creator 与 μVision 的集成仅仅只是第一步。现在软件开发人员还能使用其它高质量的 ID

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top