Android 嵌入式系统:我应该使用哪个操作系统?

Android 嵌入式系统:我应该使用哪个操作系统?,android,embedded-linux,embedded,Android,Embedded Linux,Embedded,我正计划构建一个嵌入式系统,用于处理吉他的声音,比如一个pod,具有输入和输出等功能,一个在小lcd屏幕上运行带有预设、选项等程序的系统应该是多点触摸导航系统 现在我才刚刚开始,不知道从哪里开始,应该使用什么系统 它应该支持我上面写的功能(比如多点触摸),并且应该是免费的 嵌入式Linux, 或 安卓 还是什么?选择Android: 对于任何其他嵌入式操作系统,您都需要处理太多的集成工作 您可以从购买现成的硬件(Galaxy Tab、HTC phone等)开始开发并快速实现原型 事实上,这取决

我正计划构建一个嵌入式系统,用于处理吉他的声音,比如一个pod,具有输入和输出等功能,一个在小lcd屏幕上运行带有预设、选项等程序的系统应该是多点触摸导航系统

现在我才刚刚开始,不知道从哪里开始,应该使用什么系统

它应该支持我上面写的功能(比如多点触摸),并且应该是免费的

嵌入式Linux, 或 安卓 还是什么?

选择Android:

  • 对于任何其他嵌入式操作系统,您都需要处理太多的集成工作
  • 您可以从购买现成的硬件(Galaxy Tab、HTC phone等)开始开发并快速实现原型

事实上,这取决于您想要运行的硬件类型和接口(因此,您将在驱动程序级别工作多少…或者不工作)。 android的问题与纯linux的问题相同。如果没有框架级库(Java),情况可能更糟,因为您必须管理C部分(使用JNI)和Java部分

工作的规格。。。然后你会明智地选择


提醒:android是基于linux的。

您是使用带有某种嵌入式系统接口的现成特效模块,还是计划在程序中也使用特效?我在本回复中假设为后者,如果我误解了项目的性质,请澄清:

你的系统工程

您将需要处理输入和输出的模拟。甚至数字输入和输出在某些方面也是模拟的,以保持信号干净。在光学接口和处理器接口之间,甚至光学也将是模拟的

(我知道这很长,请继续阅读,它将集中于您问题的答案)

您将在接口中具有某种类型的硬件到软件数据,理想情况下,如果您选择支持不同的接口,您将理想地希望将数据规范化为通用形式和数据速率,以便效果处理只需以一种方式处理。(在代码中避免一堆if-then-else,如果比特率是这个,否则如果比特率是这个,否则…如果比特率是这个,数据是单极的,否则如果比特率是这个,数据是双极的,那么,否则…)

特效处理的细节是复杂的,一次一个特效还是多重特效?对于每个效果,定义允许调整的参数(我将从最小值开始,该值可能为零,然后在所有参数都正常工作后添加参数)。这些参数在某种程度上需要是全局的,以便用户界面可以获取并修改它们以进行效果处理

输出,和输入一样,大量的模拟工作,从标准化的数据流转换成接口想要的、需要的或您定义的任何数据流

然后是用户界面…简单的部分

特效处理软件的核心可以是独立于系统的代码,在台式机/笔记本电脑上开发和测试可能比在目标系统上更舒服,记住代码应该是独立于系统和操作系统编写的,并且是可嵌入的(避免浮点、除法、大量局部变量等)

有时,如果不是经常在一个封闭系统中,在同一个黑匣子上有某种用户界面、旋钮或按钮、某种屏幕、触摸屏等。一个系统可以管理用户界面,另一个系统执行任务,并且两者之间存在连接。不总是这样,但它是一个很好的干净设计,并且允许,例如产品我们昨天已经安装了按钮和旋钮,比如说一个双线lcd面板,将被现代化为触摸屏,只需一小部分的努力,明天某个时候可能会有一些光纤直接插入你后脑勺的插座,谁知道呢

将处理任务分开的另一个原因是,这样可以更容易地确保效果处理器永远不会被用户界面的东西所困扰。你不想转动触摸屏上的虚拟旋钮,绘制图片的图形负载会导致音频混乱或变成令人讨厌的呜呜声。基本上,效果处理器是实时关键的。您不想拾取吉他上的弦,三秒钟后让声音从放大器中传出,因为处理器还在您的触摸屏面板上绘制动画背景。这种处理需要紧凑、快速和确定性,代码中的每一个if-then-else都必须考虑并且平衡。如果你允许多个效果并行,那么你的处理器需要有足够的带宽来处理所有的效果,而不会有明显的延迟,否则,如果一次只有一个效果,那么需要选择处理器来处理计算量最差的一个效果。可能发生的最坏情况是由于gui处理正在进行的某些操作,输入到输出的延迟会发生变化,导致音乐听起来很恐怖

因此,您可以使用effects处理器的用户界面,例如,一个串行接口和跨该接口的协议(由您定义)用于选择效果和更改参数。您可以使用通过串行接口连接的台式机和/或笔记本电脑,使用一些用于更改参数的特殊代码(可能是命令行程序),启动效果处理器并进行工作和测试

现在是它变得有趣的地方。你可以获得一个现成的嵌入式linux系统,例如嵌入式android或其他任何东西,编写使用串行协议的应用程序,如果需要,可以是胶水、螺栓、磁带、模具等。这个用户界面系统位于效果处理器模块旁边