Lorsque vous utilisez VxWorks, nous essayons d'accéder à un périphérique d'E/S mappé en mémoire à partir d'un processus en temps réel.
Puisque les RTP ont une protection de la mémoire, comment puis-je accéder à mon périphérique d'E/S?Comment accéder à mon périphérique d'E/S mappé en mémoire (FPGA) à partir d'un RTP dans VxWorks?
Répondre
Vous pouvez utiliser deux méthodes pour accéder à votre périphérique mappé E/S à partir d'un RTP.
E/S du sous-système (préféré)
Vous essentiellement créer un petit pilote de périphérique. Ce pilote peut être intégré dans le sous-système d'E/S de VxWorks. Une fois intégré, le pilote est disponible pour le RTP en utilisant simplement les opérations d'E/S standard: ouvrir, fermer, lire, écrire, ioctl. Notez que "créer un pilote de périphérique" ne doit pas être compliqué. Cela pourrait être aussi simple que de simplement définir un wrapper pour la fonction ioctl. Voir ioLib pour plus de détails.
Mémoire Carte directement (non recommandé)
Vous pouvez créer une région de mémoire partagée par l'appel sdOpen. Lors de la création de la mémoire partagée, vous pouvez spécifier l'adresse physique. Spécifiez l'adresse de la région mappée E/S de votre périphérique et vous pouvez accéder directement au périphérique.
Le problème est qu'une région de mémoire partagée est un objet public disponible pour n'importe quel espace, et piquer directement sur du matériel va à l'encontre de la philosophie derrière les RTP.
- 1. Copier rapidement des fichiers à partir d'un lecteur réseau mappé
- 2. Comment puis-je spécifier la quantité maximale de tas qu'un RTP peut utiliser dans VxWorks?
- 3. Accéder à l'objet Response à partir de mon service WCF
- 4. Fichier Mappé Mémoire C# - Bitmap
- 5. Portage des problèmes à VxWorks
- 6. Comment accéder à plusieurs valeurs à partir des contrôles
- 7. Comment accéder à ActiveRecord :: AutosaveAssociation.marked_for_destruction? à partir de modèle parent
- 8. Comment accéder à Entity Framework
- 9. ASP.NET MVC: Comment accéder à mon modèle fortement typé à partir d'une méthode d'extension HtmlHelper?
- 10. Comment accéder aux positions des boutons à partir de codebehind?
- 11. Accéder à proc_dir_entry à partir de proc_fops.open?
- 12. Quelle est la taille maximale d'un fichier mappé en mémoire?
- 13. Accéder au répertoire de sortie du bureau à partir de ce périphérique Windows CE
- 14. Comment mapper la mémoire de l'appelant dans un pilote de périphérique Windows CE après la fin d'un appel à XXX_IOControl?
- 15. Comment accéder à des modèles non-enfants à partir d'un autre contrôleur dans CakePHP?
- 16. Recherche binaire dans un fichier trié (mappé en mémoire?) En Java
- 17. Comment accéder à Web.config à partir d'un assembly référencé?
- 18. Accéder à l'objet à partir de codebehind dans asp.net
- 19. Comment accéder à un partage Linux Samba à partir d'un service Windows?
- 20. Comment accéder à un autre Movieclip à partir d'un Movieclip en utilisant AS3?
- 21. Comment accéder à RouteData à partir du code-behind?
- 22. Django: Comment accéder à l'instance d'origine à partir d'un RelationshipManager?
- 23. Spring-WS: Comment accéder à MessageContext à partir de PayloadEndpoint
- 24. Comment accéder à la SRAM haute vitesse dans les CPU ARM à partir du code en mode utilisateur sur WinCE?
- 25. Besoin de créer des données partagées dans la mémoire virtuelle dans vxWorks
- 26. Comment accéder à plusieurs JPanels dans JFrame?
- 27. Comment puis-je accéder à argc et argv en C++ à partir d'une fonction de bibliothèque
- 28. Que ne puis-je pas accéder à UserControl à partir de mon fichier aspx.cs?
- 29. Existe-t-il un moyen d'utiliser le même fichier pour un module RTP et un module noyau dans vxWorks?
- 30. Comment accéder à des parents d'enfants en DataColumn Expression