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

Embedded 我可以在其他设备上使用SigmaTel STMP 3650套件固件代码吗?,embedded,arm,microcontroller,arm9,Embedded,Arm,Microcontroller,Arm9,我对计算机和嵌入式系统知之甚少 一年前,我们与一家公司签订合同,设计一种基于SigmaTel STMP 3650套件的特殊用途设备。现在我们有了固件的所有源代码(代码,资源大约1G) 我的问题是 我们是否可以使用此代码在其他基于STMP 3xxx家庭的设备上运行(当然,经过可接受的修改)?其他基于网络的设备呢 ARM9定义了处理器核心(但即便如此,也有变体;您的是ARM962EJ-S),但大多数片上外围设备和支持硬件(包括时钟、PLL和中断控制器)都是特定于供应商的,您必须移植硬件初始化和设备

我对计算机和嵌入式系统知之甚少

一年前,我们与一家公司签订合同,设计一种基于SigmaTel STMP 3650套件的特殊用途设备。现在我们有了固件的所有源代码(代码,资源大约1G)

我的问题是

  • 我们是否可以使用此代码在其他基于STMP 3xxx家庭的设备上运行(当然,经过可接受的修改)?其他基于网络的设备呢

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

<> P>此外,如果代码是用C或C++编写的,而不是汇编程序,那么它的大部分可能对其他体系结构是可接受的,特别是如果应用层和硬件抽象层被定义好。 另一个问题可能是您现有的实现是否依赖于任何特定的OS或RTO;您可能需要选择支持相同操作系统的设备,以减少移植工作量


最后,非编程点,但只是为了让你远离麻烦;您需要确保您拥有对要重用的代码的权利,并且原始客户端对其没有任何权利要求。

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

<> P>此外,如果代码是用C或C++编写的,而不是汇编程序,那么它的大部分可能对其他体系结构是可接受的,特别是如果应用层和硬件抽象层被定义好。 另一个问题可能是您现有的实现是否依赖于任何特定的OS或RTO;您可能需要选择支持相同操作系统的设备,以减少移植工作量


最后,非编程点,但只是为了让你远离麻烦;您需要确保您拥有要重用的代码的权利,并且原始客户端对其没有任何权利要求。

出于以下几个原因,您的逻辑后续芯片是飞思卡尔的iMX233

STMP3650由SigmaTel引入STMP3780-相同的CPU核心(ARM9EJ-S),大部分是相同的体系结构和寄存器。然后,SigmaTel被卖给飞思卡尔,他们只是将STMP3780复制到……iMX233。相同的硅


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

出于几个原因,您的逻辑后续芯片是飞思卡尔的iMX233

STMP3650由SigmaTel引入STMP3780-相同的CPU核心(ARM9EJ-S),大部分是相同的体系结构和寄存器。然后,SigmaTel被卖给飞思卡尔,他们只是将STMP3780复制到……iMX233。相同的硅


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

嗨,克利福德,谢谢你的回答,现在我明白了。我们的代码大部分是用C++编写的。现在,我正在与一家IC解决方案公司讨论将此代码库移植到另一个基于ARM9的板上的可能性。是的,我们拥有使用该代码的权利,这是v支付的:)嗨,Clifford,谢谢你的回答,现在我明白了。我们的代码大部分是用C++编写的。现在,我正在与一家IC解决方案公司讨论将此代码库移植到另一个基于ARM9的板上的可能性。是的,我们拥有使用代码的权利,这就是“v”支付的费用:)