我可以在其他设备上使用 SigmaTel STMP 3650 套件固件代码吗?
我对 MCU 和嵌入式系统知之甚少。
一年前,我们与一家公司签订了合同,设计一款特殊用途的 MP4 设备,基于SigmaTel STMP 3650 套件。现在我们已经有了固件的所有源代码(代码、资源约1G)。
我的问题是
- 我们可以使用此代码在其他基于 STMP 3xxx 系列的设备上运行吗(当然,需要进行可接受的修改)?其他基于 ARM9 的设备怎么样?
I know little about MCUs and embedded systems.
A year ago we made contract with a company to design a special purpuse MP4 device based on the SigmaTel STMP 3650 kit. Now we have all the source code for the firmware (code, resource around 1G).
My questions are
- Can we use this code to run on other STMP 3xxx famliy based devices (with acceptable modification, of course)? What about other ARM9 based devices?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
ARM9 定义了处理器内核(但即使如此,也有一些变体;您的是 ARM962EJ-S),但大多数片上外设和支持硬件(包括时钟、PLL 和中断控制器)都是特定于供应商的,您必须移植硬件初始化和设备驱动程序代码,并确保您选择的设备具有与当前代码使用的外围设备相当的外围设备集。
此外,如果代码是用 C 或 C++ 而不是汇编语言编写的,那么其中大部分代码可能适用于其他体系结构,特别是在应用程序层和硬件抽象层定义良好的情况下。
另一个问题可能是您现有的实现是否依赖于任何特定的操作系统或 RTOS;您可能需要选择支持相同操作系统的设备,以减少移植工作。
最后,一个非编程点,但只是为了让你摆脱麻烦;您需要确保您拥有打算重用的代码的权利,并且原始客户对此没有任何权利。
ARM9 defines the processor core (but even then there are variants; yours being ARM962EJ-S), but most on-chip peripherals and support hardware including clocks, PLLs, and interrupt controller are vendor specific, you you would have to port your hardware initialisation and device driver code, and make sure that you choose a device with a comparable peripherals set to the ones your current code uses.
Moreover if the code is written in C or C++ rather than assembler, much of it may be prtable to other architectures, particularly if the application layer and hardware abstraction layer are well defined.
Another issue may be whether your existing implementation relies on any particular OS or RTOS; you may need to select a device that supports the same OS in order to reduce the porting effort.
Finally, a non-programming point, but just to keep you out of trouble; you need to be sure that you own the rights to the code you intend to reuse, and that the original client has no claim on it.
您的逻辑后继芯片是 Freescale 的 iMX233,原因有几个。
STMP3650 领先于 SigmaTel 的 STMP3780 - 相同的 CPU 内核 (ARM9EJ-S),大部分是相同的架构和寄存器。然后,SigmaTel 被卖给了 Freescale,他们只是将 STMP3780 复制到...iMX233。相同的硅。
我们有一个基于 STMP3650 的成熟 MP3/MP4 播放器(参见骨头.ch 网站),现在我们的研发转移到 iMX233。你的项目现在在做什么?基于STMP3650的设计运行起来有多“好”?你们还有剩余的芯片库存吗?
your logical successor chip is iMX233 from Freescale for a couple of reasons.
STMP3650 lead to STMP3780 by SigmaTel - same CPU core (ARM9EJ-S), mostly same architecture and registers. Then, SigmaTel was sold to Freescale and they simply copied STMP3780 to ...iMX233. Identical silicon.
We have a fully fledged MP3/MP4 player based on STMP3650 (see bones.ch website) and transfer our R&D now to iMX233. What is your project doing by now? How "good" was the design based on STMP3650 running? Do you have any chip stock left?