enable desable IT sur Kinetis [Forums - Kinetis]
enable desable IT sur Kinetis [Forums - Kinetis]
Pseudo Pass se souvenir de moi     Créer un compte
ARTICLES et TELECHARGEMENTS ~ FORUMS ~ LIENS  
 
             
 
Recherche
 
   
 

Parcourir ce sujet :   1 Utilisateur(s) anonymes





enable desable IT sur Kinetis
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1943
Hors Ligne
Salut

Je ne comprends rien aux IT sur le kinetis avec le "NVIC". Ce n'est pas documenté dans les docs Freescale (ca renvoi vers le reference manual de ARM) et je n'arrive même pas à trouver la doc sur le site d'ARM, je ne trouve qu'une doc en ligne de 50 malheureuses pages où rien est décrit, comme si ce n’était qu'un sommaire.

Bref, j'arrive à activer les IT que je veux mais je recherche désespérément, sans trouver, les équivalent des deux macros fort pratiques qui étaient dispo sur le S08 :

enableinterrupt et desableinterrupt

Merci par avance si quelqu'un sait comment mettre en suspend puis reactiver les IT sur le kinetis.



Posté le : 08/11/2013 23:10
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: enable desable IT sur Kinetis
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1943
Hors Ligne
Bonjour, bonne nuit je ne sais plus...

C'est finalement Maverick, grâce aux docs de chez NXP qui m'a trouvé la solution...
Chez arm, une fois rentré 10x son mot de passe et lu X doc, certaines en ligne, d'autre en pdf qui se renvoient les une aux autres on n'arrive pas à l'info. Même une fois qu'on a la solution je ne retrouve pas l'explication ! bref

la solution c'est
__asm ("CPSID i"); //Disable all IT
__asm ("CPSIE i"); //Enable all IT

Ça agit sur le PRIMASK.PM. Si quelqu'un peut m'expliquer mieux que ARM ce que c'est je suis preneur.


Posté le : 09/11/2013 10:44
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: enable desable IT sur Kinetis
Pilier de la communauté
Inscrit:
27/09/2005 18:26
Messages: 794
Hors Ligne
Salut Charly,

C'est vrai les IT c'est bien plus étoffé que sur les S08, et tant mieux ! Tu peux choisir d'activer IT par IT, et même donner des priorités aux IT. Tout est expliqué dans les datasheet (§ Chip COnfiguration, le 3 dans les datasheets que j'ai utilisé jusqu'ici), mais attention, il faudra travailler chip par chip car ça change d'un Kinetis à un autre.

Un exemple ci-dessous pour initialiser le module I2C d'un KL05 en esclave avec gestion entièrement sur IT.

/**
 * This function initializes the I2C interface (slave mode, interrupts enabled)
 */
void I2C_Init(void)
{
    
SIM_SCGC5 |= SIM_SCGC5_PORTB_MASK;                /* GPIO Clock */
    
SIM_SCGC4 |= SIM_SCGC4_I2C0_MASK;                /* I2C Clock */
    
    
PORTB_PCR3 PORT_PCR_MUX(2);                    /* SCL */
    
PORTB_PCR4 PORT_PCR_MUX(2);                    /* SDA */
    
    
I2C0_A1 0x50 << 1;                            /* Slave address */
    
I2C0_C1 |= I2C_C1_IICIE_MASK;                    /* Enable I2C interrupts */
    
I2C0_C1 |= I2C_C1_IICEN_MASK;                    /* Enable I2C module */
    
    
NVIC_IPR2 |= << 8;                            /* Set NVIC registers to generate interrupt on I2C channel 0 */ 
    
NVIC_ISER |= << 8;
}


En comparant avec les données du datasheet tu devrai comprendre assez vite le coup des NVIC.

Allez je met aussi le fichier entier en PJ. Il s'agit d'un bout de code pour une interface graphique sur I2C dans le cadre d'un projet de domotique que je développe en ce moment.

A+
Joël

PS : je n'ai pas fait de masquage globale des IT, mais visiblement tu as la solution par Maverick.

Attacher un fichier:


zip i2c.zip Taille: 3.82 KB; Hits: 209

Posté le : 09/11/2013 11:16
En Savoie, on a pas de pétrole, mais on a des Diots !
Transférer la contribution vers d'autres applications Transférer


Re: enable desable IT sur Kinetis
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1943
Hors Ligne
Salut

J'ai bien compris ce que tu dis là mais le choix des valeurs dans les registre c'est pas clair
Perso c'est processor expert qui me dit quoi mettre...
Dans ma datasheet ca renvoi à ARM Cortex-M0+ Technical Reference Manual
doc en ligne imbuvable chez ARM, qui renvoi vers un manuel de référence coeur M, en pdf ou il y a les registres décrits mais pas expliqués.

Je suis bien d'accord que c'est super flexible et puissant (comme les MUX et pleins d'autres trucs) mais vu le peu de choses qu'il y a dans le manuel ARM au sujet du NVIC, Freescale aurait pu le reprendre dans sa datasheet en nous faisant bénéficier de leur propre explication qui n'aurait pas manqué d'être bien meilleur, en plus d'être appliquée au composant en question.

J'ai pensé un moment que le KL pouvait être un super support pour les débutants mais je me rends compte que c'est faux.
Les KL est formidable, j'adore, mais il est très nettement plus difficile à appréhender qu'un S08, autant par la complexité du composant lui même que par l'intégration dans CW et la doc.

Posté le : 09/11/2013 11:45
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: enable desable IT sur Kinetis
Pilier de la communauté
Inscrit:
27/09/2005 18:26
Messages: 794
Hors Ligne
Salut Charly,

Ben c'est pas évident mais perso je me débrouille avec le datasheet. Un exemple, le datasheet, compare, et tu devrais t'y retrouver et pouvoir l’appliquer à d'autre périphérique. En tout cas c'est comme cela que j'ai appréhender le truc car effectivement la doc seule ne suffit pas, à moins d'être un mordu de composants ARM je pense (car beaucoup de chose dans le composants découle de l'architecture ARM bien entendu, les NVIC en font partis). Je n'utilise pas du tout Processor Expert perso.

Ah concernant le support pour débuter, pour moi il est clair que non les Kinetis ne sont pas adaptés aux novices. Il ne faut pas griller les étapes je pense. Les Kinetis sont très costaux et bien adapté à des applications complexes, ce sont donc des gens expérimentés qui les utiliseront. Je pense comme toi que les S08 sont bien plus adaptés pour les débutants. Ma petite plateforme Aruduino like (TheUno sur base de S08DZ60, cf mon site) à pas mal de succès, je n'ai plus qu'une board en stock, tout le reste est parti, soit sous forme de board assemblée soit PCB nu. Pendant un temps j'ai été jaloux des cartes Freedom que Freescale à sorti, mais ce sentiment s'est vite dissipé après mes premiers pas sur Kinetis vu la complexité de la bête La taille et la finesse des composants n'aide pas non plus à faire une appli finale si on est débutant. Il vaut mieux un bon soic voire même un DIP qui se soudent sans difficulté.

Joël

Posté le : 09/11/2013 13:08
En Savoie, on a pas de pétrole, mais on a des Diots !
Transférer la contribution vers d'autres applications Transférer


Re: enable desable IT sur Kinetis
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1943
Hors Ligne
J'ai lu à différentes reprises des choses sur les kinetis (KL, je n'ai regardé qu'eux) qui laissaient croire qu'ils visaient à prendre la place des 08 à terme. J'y crois de moins en moins, j'espère même que ce ne sera pas le cas et je me demande bien comment vont évoluer les S08, qui commencent à avoir quelques années maintenant...

Posté le : 09/11/2013 13:39
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: enable desable IT sur Kinetis
Pilier de la communauté
Inscrit:
27/09/2005 18:26
Messages: 794
Hors Ligne
C'est vrai, dans les années à venir, je ne sais pas trop ce qui va se passer.... les Kinetis sont redoutables en terme de prix en plus, et s'imposeront donc chez les pro. D'autre microcontrôleurs 8 bits viendront peut être... encore moins cher et dans la lignée des S08... qui sait ?

Posté le : 09/11/2013 15:28
En Savoie, on a pas de pétrole, mais on a des Diots !
Transférer la contribution vers d'autres applications Transférer


Re: enable desable IT sur Kinetis
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1943
Hors Ligne
J'aime bien les surprises

Je ne lui ai trouvé qu'une faiblesse technique au KL (par rapport aux S08) : Les IT timer. Il y en a qu'une seule, pour tout (overflow et tous les cannaux) ca complique un peu le boulot dans l'it.

Posté le : 09/11/2013 15:37
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer


Re: enable desable IT sur Kinetis
Pilier de la communauté
Inscrit:
27/09/2005 18:26
Messages: 794
Hors Ligne
Ah c'est marrant ça, moi je préfère. Pratique pour faire évoluer une machine d'état selon l'IT reçu, etc. Cela centralise un peu les traitements lié à un périph donné.

Posté le : 09/11/2013 15:56
En Savoie, on a pas de pétrole, mais on a des Diots !
Transférer la contribution vers d'autres applications Transférer


Re: enable desable IT sur Kinetis
Pilier de la communauté
Inscrit:
23/10/2005 11:40
De Aix les Bains (73)
Messages: 1943
Hors Ligne
ah, je vais revoir ma vision du schmilblik alors

Posté le : 09/11/2013 16:22
Mieux vaut marcher dans la bonne direction que courir dans la mauvaise
Transférer la contribution vers d'autres applications Transférer



 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Powered by XOOPS© The XOOPS Project
Contacter les administrateurs

enable desable IT sur Kinetis [Forums - Kinetis]