2009-11-21 24 views
0

Je connais peu de choses sur MCUs et les systèmes embarqués.Puis-je utiliser le code du firmware du kit SigmaTel STMP 3650 sur d'autres appareils?

Il y a un an, nous avons passé un contrat avec une entreprise pour concevoir un appareil spécial purpuse MP4 basé sur le kit SigmaTel STMP 3650. Maintenant nous avons tout le code source pour le firmware (code, ressource autour de 1G).

Mes questions sont

  • Pouvons-nous utiliser ce code pour fonctionner sur d'autres appareils basés STMP 3xxx de Famliy (avec une modification acceptable, bien sûr)? Qu'en est-il des autres appareils basés sur ARM9?

Répondre

4

ARM9 définit le noyau du processeur (mais même alors il y a des variantes, la vôtre étant ARM962EJ-S), mais la plupart des périphériques sur la puce et le matériel de support comprenant des horloges, PLLs et contrôleur d'interruption sont propres au fournisseur spécifique, vous vous le feriez devez porter votre initialisation de matériel et votre code de pilote de périphérique, et assurez-vous de choisir un périphérique avec un ensemble de périphériques comparables à ceux que votre code actuel utilise.

De plus, si le code est écrit en C ou C++ plutôt qu'en assembleur, une grande partie peut être utilisée pour d'autres architectures, en particulier si la couche application et la couche d'abstraction matérielle sont bien définies.

Une autre question peut être de savoir si votre implémentation existante repose sur un OS ou un RTOS particulier; vous devrez peut-être sélectionner un périphérique prenant en charge le même système d'exploitation afin de réduire l'effort de portage. Enfin, un point de non-programmation, mais juste pour vous éviter des ennuis; vous devez vous assurer que vous possédez les droits sur le code que vous avez l'intention de réutiliser, et que le client d'origine n'a aucune réclamation à ce sujet.

+0

salut Clifford, merci pour votre réponse, maintenant je comprends les choses. la plupart de notre code est écrit en C++. maintenant en train de concevoir avec une société de solutions IC pour voir la possibilité de porter cette base de code sur une autre carte basée sur ARM9. oui, nous possédons les droits d'utiliser le code, c'est ce qui a payé pour :) – avar

1

votre puce de successeur logique est iMX233 de Freescale pour plusieurs raisons. STMP3650 conduit à STMP3780 par SigmaTel - même noyau CPU (ARM9EJ-S), principalement la même architecture et les registres. Ensuite, SigmaTel a été vendu à Freescale et ils ont simplement copié STMP3780 à ... iMX233. Silicium identique

Nous avons un lecteur MP3/MP4 à part entière basé sur STMP3650 (voir le site Web bones.ch) et transférons maintenant notre R & D vers iMX233. Que fait votre projet maintenant? A quel point le design basé sur STMP3650 était-il "bon"? Avez-vous des stocks de croustilles?