La position actuelle:Accueil du site>Atelier macoll - notes de développement de la secte de l'ours 2
Atelier macoll - notes de développement de la secte de l'ours 2
2022-07-23 19:56:33【51CTO】
HarmonyIntroduction à la construction de la compilation
1. En termes simples, le processus de compilation passe parbearpi-hm_nano\build\lite\product\BearPi-HM_Nano.jsonDéfinir la compilation.cLe fichier devient.aLa sortie finale du fichier est.binDocumentation
Si c'est compliqué
Comme le montre la figure ci - dessous:
Lien vidéo spécifique:
https://www.bilibili.com/video/BV1Hi4y1c7dM?from=search&seid=11981477053638768133
2. Le processus spécifique d'exécution du Code est
https://blog.csdn.net/qq_42754570/article/details/112184043
CMSIS-RTOS2Interface
CMSIS- Oui.CortexNorme d'interface logicielle pour les microcontrôleurs(Cortex Microcontroller Software Interface Standard)- Oui.ARM Un ensemble de normes communes à certains fabricants de compilateurs et de semi - conducteurs ,C'est parARMSpécifiquement pourCortex-M Normes proposées par la série . Comme convenu dans la norme ,ARM Et les fabricants de puces offriront quelques APIInterfaces pour accéderCortex Le noyau et quelques périphériques dédiés , Pour réduire l'argent et le temps nécessaires au remplacement des puces et au développement d'outils .
CMSIS-RTOS2(CMSIS-RTOS API Version 2)- Oui.Arm Cortex-M Général pour les processeurs RTOSInterface.Pour les besoinsRTOS Les composants logiciels de la fonctionnalité offrent une API.
CMSIS-RTOS2Est génériqueAPI, Il est relié à la RTOS Le noyau n'a rien à voir avec , Le programmeur qui écrit l'application appelle dans le code utilisateur CMSISRTOS2 APIFonctions, Il est plus facile de transférer une demande d'un RTOSVers l'autreRTOS,UtiliserCMSIS-RTOS2 API L'intergiciel peut également éviter beaucoup de travail inutile de transplantation .
En termes simples, utilisezCMSIS-RTOS2 Sans tenir compte des différences dans le noyau sous - jacent , Toutes les applications peuvent fonctionner
HongMeng etCMSIS-RTOS2 Contact d'interface :
Gestion des tâches
L'état de la tâche est généralement divisé en quatre :Prêt.、Exécution、Blocage、Sortie.
Leur relation:
Créer une tâche:osThreadNew(osThreadFunc_t func,void * argument,const osThreadAttr_t * attr)
Supprimer une tâche:osThreadTerminate(osThreadId_t thread_id);
Mission en attente:osThreadSuspend(osThreadId_t thread_id)
Reprise des tâches:osThreadResume (osThreadId_t thread_id)
Minuterie logicielle
Minuterie logicielle, C'est basé sur le système Tick Minuterie interrompue par une horloge et simulée par un logiciel , Quand il est réglé Tick Après le comptage de l'horloge Déclenche une fonction de rappel définie par l'utilisateur . Précision du timing et système Tick La période de l'horloge est liée à .
Prise en charge fonctionnelle du minuteur logiciel :
Coupe statique : Possibilité de désactiver la fonction de minuterie du logiciel par macro .
Création de minuterie logicielle .
Démarrage du minuteur logiciel .
Le minuteur du logiciel s'arrête .
Minuterie logicielle supprimée .
Minuterie logicielle restante Tick Acquisition de données
Créer un minuteur:osTimerNew (osTimerFunc_t func, osTimerType_t type, void *argument, const osTimerAttr_t *attr);
Démarrer le minuteur:osTimerStart (osTimerId_t timer_id, uint32_t ticks);
Temps d'arrêt:osTimerStop (osTimerId_t timer_id);
Supprimer le minuteur:osTimerDelete (osTimerId_t timer_id);
Mentions de copyright
Auteur de cet article [51CTO],Réimpression s’il vous plaît apporter le lien vers l’original, merci
https://fra.chowdera.com/2022/204/202207231833022085.html
Recommandé par sidebar
- Transplantation de systèmes embarqués
- Saisissez une chaîne de caractères à partir du clavier et affichez différents caractères et le nombre d'occurrences de chaque caractère. (la sortie n'est pas séquentielle) résoudre le problème en utilisant la méthode commune de la classe de chaîne
- 2019 Bar _ Aaai ICCN
- Conditions affectant la vitesse de requête de l'interface
- Stack et file d'attente de l'adaptateur STL
- Analyse de la stratégie de lecture et d'écriture du cache
- Classes et objets (1)
- Expérience II Yuv
- Comment synchroniser
- [arxiv2022] grouptransnet: Group transformer Network for RGB - D Salient Object Detection
Devinez que vous aimez
Avantages de la salle des machines bgp
La fosse Piétinée par l'homme vous dit d'éviter les 10 erreurs courantes dans les tests automatisés
Déterminer s'il s'agit d'un type vide
Langue C - quelques exercices classiques de langue C
Openvino Datawhale
Question 300 Leçon 6 type quadratique
Analyse du code source et de la conception de redis - - 7. Liste rapide
Concepts et différences de bits, bits, octets et mots
Déploiement du projet (version abrégée)
JDBC Learning and simple Encapsulation
Recommandé au hasard
- [Python flask note 5] Blueprint simple à utiliser
- Composants web - cycle de vie des éléments personnalisés
- Entrepôt de données 4.0 Notes - acquisition de données commerciales
- Entrepôt de données 4.0 Notes - acquisition de données sur le comportement de l'utilisateur II
- Affichage itératif des fichiers.h5, opérations de données h5py
- Résumé des connaissances mathématiques communes
- Comment se développe le serveur GPU refroidi à l'eau dans le Centre de données dans le cadre de l'informatique est - Ouest?
- Connaissance du matériel 1 - schéma et type d'interface (basé sur le tutoriel vidéo complet de l'exploitation du matériel de baiman)
- Examen des principes fondamentaux de la structure en acier
- Unity3d: ugui source, Rebuild Optimization
- Solution rapide: xshell ne peut pas glisser dans un dossier ou un paquet
- Rhcsa - - parcourir le contenu du fichier, couper, uniq, trier, utiliser les commandes.tr
- Intégrité du signal (si) intégrité de l'alimentation électrique (PI) notes d'apprentissage (32) Réseau de distribution d'énergie (4)
- Quelle est la raison pour laquelle la plate - forme easygbs ne peut pas lire l'enregistrement vidéo et a un phénomène de streaming répété rtmp?
- Notes du jour 7
- 【 Visual Dispatching Software】 Shanghai Dow Ning apporte netronic download, Trial, tutoriel pour l'Organisation SMB
- 2. Les règles quantitatives
- Événements courants de la souris et du clavier
- C #: in, out, ref Keywords
- Connaissance détaillée du GRE, du mgre; Connaissance de la configuration de base de l'OSPF
- Comment creo 9.0 modifie - t - il rapidement le système de coordonnées Cao?
- Notes du jour 5
- Renforcement de l'apprentissage - points de compréhension du gradient stratégique
- Le shell a besoin de connaître les commandes
- Okrk3399 Development Board Reserved i2c4 Mounting EEPROM
- Optimisation du serveur Cloud Huawei avec connexion clé
- Chapitre 2 requête de base et tri
- 【 langage c】 devinez jeux numériques + applet d'arrêt
- Qu'est - ce que le codage par titre?
- Feignclient utilise un tutoriel détaillé (illustration)
- Kettle implémente une connexion de base de données partagée et insère une instance de composant de mise à jour
- Simulation de modulation et de démodulation du signal CBOC basée sur MATLAB, sortie de corrélation, spectre de puissance et suivi de décalage de fréquence
- Les raccourcis clavier liés à l'onglet ne peuvent pas être utilisés après la mise à jour du vscode
- Expression du suffixe (une question par jour pendant les vacances d'été 4)
- Idées de conception sur l'initialisation des paramètres d'entrée de page
- Éléments de base de la validation des haricots - 04
- Une solution complète au problème du sac à dos dans la programmation dynamique
- Récursion des bosses 1: formule récursive
- Explication détaillée de l'injection aveugle d'erreur SQL
- Données chronologiques dans l'Internet industriel des objets