我可以在其他设备上使用SigmaTel STMP 3650套件固件代码吗?

时间:2009-11-21 09:17:58

标签: embedded arm microcontroller arm9

我对MCUs和嵌入式系统知之甚少。

一年前,我们与一家公司签订合同,根据SigmaTel STMP 3650套件设计一种特殊的purpuse MP4设备。现在我们拥有固件的所有源代码(代码,1G左右的资源)。

我的问题是

  • 我们可以使用此代码在其他基于STMP 3xxx famliy的设备上运行(当然可以接受修改)吗?那么基于ARM9的其他设备呢?

2 个答案:

答案 0 :(得分:4)

ARM9定义了处理器内核(但即使这样,也有变体;你的是ARM962EJ-S),但是大多数片上外设和支持硬件,包括时钟,PLL和中断控制器都是供应商特定的,你必须要移植您的硬件初始化和设备驱动程序代码,并确保选择具有与当前代码所使用的外围设备类似的外围设备。

此外,如果代码是用C或C ++而不是汇编程序编写的,那么很多代码可能适用于其他体系结构,特别是如果应用程序层和硬件抽象层定义得很好。

另一个问题可能是您的现有实施是否依赖于任何特定的操作系统或RTOS;您可能需要选择支持相同操作系统的设备,以减少移植工作量。

最后,一个非编程点,但只是为了让你摆脱困境;您需要确保您拥有对要重复使用的代码的权利,并且原始客户对此没有任何要求。

答案 1 :(得分:1)

你的逻辑后继芯片是飞思卡尔的iMX233,原因有两个。

STMP3650由SigmaTel引入STMP3780 - 相同的CPU内核(ARM9EJ-S),大多数是相同的架构和寄存器。然后,SigmaTel被出售给飞思卡尔,他们只是将STMP3780复制到... iMX233。相同的硅。

我们有一个基于STMP3650的完全成熟的MP3 / MP4播放器(参见bones.ch网站),现在将我们的R& D转移到iMX233。你的项目现在在做什么?基于STMP3650运行的设计有多“好”?你还有剩余的芯片库存吗?