如何确定嵌入式系统应用程序/软件的系统要求

发布于 2024-10-21 03:03:55 字数 155 浏览 6 评论 0原文

我应该如何决定系统要求,例如:

  • RAM 容量
  • 闪存容量
  • 处理器频率

我正在构建一个应用程序来使用 16 位微控制器控制 NAND 闪存、LCD 驱动器、UART 控制、键盘控制。

How should I decide system requirements like:

  • RAM capacity
  • FLASH memory capacity
  • Processor frequency
  • etc

I am building an application to control NAND FLASH, LCD driver, UART control, keypad control using a 16 bit micro-controller.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

轮廓§ 2024-10-28 03:03:55

这必须根据以前具有类似功能的项目来估计。甚至是其他人的产品。但最好以更大的容量进行开发,并在软件接近完成时决定最终部件,因为省略组件比稍后尝试为它们寻找空间更容易。这种设计可以是一个迭代过程,从一个估计开始,看看原型是否有效,在接近结束之前不要承诺批量。

对于基于 LCD 的产品,您将有两个主要组件耗尽闪存:代码和 LCD 数据(字符串、位图等)。估计 LCD 数据肯定比代码更容易,这取决于功能、编译器优化等。如果您引入外部库,那么至少您已经有了它们的代码。

无论如何,要有一个升级计划。最糟糕的事情是在项目结束时耗尽容量,并且在不增加另一个问题的情况下努力优化最后一个功能/调试解决方案。确保您知道下一个尺寸的芯片是什么以及如何使它们适合,有时 PCB 可以设计为在同一位置容纳各种不同的芯片。或者拥有一个可扩展的系统,您可以将东西插入内存总线。

This has to be estimated from previous projects with similar functionality. Or even other people's products. But it is best to develop with a larger capacity and decide on final parts when your software nears completion, because its easier to omit components than to try and find room for them later. This kind of design can be an iterative process, start with one estimate and see if a prototype works, don't commit to volumes until you are nearly at the end.

In the case of an LCD based product, you will have two major components using up flash memory, the code and the LCD data (character strings, bitmaps etc). Its certainly easier to estimate the LCD data than the code, which depends on functionality, compiler optimisations etc. If you are bringing in external libraries then at least you already have code for them.

In any case, have an upgrade plan. The worst thing is to run out of capacity at the end of the project and be struggling to optimise the last feature/debug solution in without adding another problem. Make sure you know what the next size up chips are and how you can get them to fit, sometimes a PCB can be designed to take various different chips in the same position. Or have an expandable system, where you can plug things into a memory bus.

娇柔作态 2024-10-28 03:03:55

您将生产多少个单位?

如果您的销量较低(<1e3),但单位利润较高且上市时间很重要,那么更多的硬件将使开发人员更快完成工作。

如果产量很大(>1e6),单位利润很低,那么你会在硬件上精打细算,但开发时间会增加。如果上市时间很重要,那就需要权衡。

设计具有 2 倍容量(RAM/闪存)的电路板,但不要加载部件,除非检查其工作情况。
如果你的空间不够了,还有地方可去。

客户会期望获得固件更新吗?或者这是一个没有支持的代发货产品?支持更困难,需要更多资源。
如果产品需要长期支持,您需要填充资源以获得扩展空间。

对于CPU频率估算,需要做多少工作?

获取适用于可能的 MCU 的评估板并证明其核心功能。
假设这是一件健身器材的展示。它能否以 2-3 倍设计速度跟上设备上的传感器?那就是读取传感器并更新显示。如果成本要求较低,您可以对评估板进行降频,然后看看可以进行哪些交易。

How many units will you be making ?

If your volumes are low (<1e3), but per unit profits high and time to market matters, more hardware will get the developers done sooner.

If the volumes are huge (>1e6), profits per unit low, then you penny pinch the hardware, but time to develop will go up. If time to market matters, that's a tradeoff.

Design the board with 2x the capacity (RAM/flash), but don't load the parts, other than to check it works.
Then if you run out of room, there is somewhere to go.

Will customers expect to get firmware updates ? Or is this a drop-ship product with no support ? Supportable is harder, needs more resources.
You'll need to pad resources to have room to expand into if the product needs support for a long time.

For CPU frequency estimates, how much work is required to be done ?

Get an Eval board for a likely MCU and prove out the core function.
Let us say it's a display for a piece of exercise equipment. Can it keep up with the sensors on the device at 2-3x the designed pace ? That's reading the sensors and updating the display. If cost is required to be low, you can then underclock the eval board adn see what trades can be made.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文