l'un d'entre vous utilise t'il openocd? [Forums - LINUX pour Freescale]
l'un d'entre vous utilise t'il openocd? [Forums - LINUX pour Freescale]
Pseudo Pass se souvenir de moi     Créer un compte
ARTICLES et TELECHARGEMENTS ~ FORUMS ~ LIENS  
 
             
 
Recherche
 
   
 

Parcourir ce sujet :   1 Utilisateur(s) anonymes





l'un d'entre vous utilise t'il openocd?
Nouveau
Inscrit:
09/05/2011 23:32
Messages: 4
Hors Ligne
Comme expliqué dans mon premier post je suis sous linux(gentoo) et j'ai un TWR-K40x256-KIT

A l'inverse de l'année derniere, je me suis dis: j'achète un truc qui semble me convenir et après je regarde ce que je peux faire avec. J'avais passé trop de temps à chercher un projet et les composants necessaires, pour finalement tout abandonner avant de commencer.

Donc maintenant, j'ai changé de méthode. J'ai le matériel qui est censé fonctionner, et il n'y a plus qu'a....
Le projet intelligent et utile viendra ensuite.

Mes contraintes/souhait:
- faire que ca fonctionne a partir de linux et plus specialement de gentoo.( si ca fonctionne sous gentoo ca fonctionnera partout de toute facon).
- ne pas utiliser de logiciel non open-source, ou qui se vend trop cher ( 200 € c'est deja trop pour un logiciel). Codewarrior ne s'installe pas sous gentoo, donc c'est pas la peine de m'en parler.
- rester dans la serie des cortex M0 a M4.
- utiliser osjtag si possible, sinon passer à du jtag externe.
objectif:
- arriver a faire clignoter au moins 1 led de la carte d'ici 2 mois. Cet objectif peut paraitre vraiment disproportionné, mais a ce que je vois rien n'est simple et déja fait chez freescale, et de toute facon les principes restent les meme avec un cortex M0. Faut juste rester motivé, et que j'avance un peu toute les semaines.

Premier etape: installer openocd qui sera chargé avec gdb de faire le lien entre le pc et la carte ( je n'ai pas encore tout compris sur le fonctionnement exact mais ca viendra).
premier constat: je n'ai rien vu concernant freescale dans ce qui est supporté par defaut par openocd pour les cartes et les sondes osjtag.
# ls /usr/share/openocd/scripts/board/
actux3.cfg                csb732.cfg                       hilscher_nxhx500.cfg              microchip_explorer16.cfg  spear310evb20.cfg
am3517evm
.cfg             da850evm.cfg                     hilscher_nxhx50.cfg               mini2440.cfg              spear310evb20_mod.cfg
arm_evaluator7t
.cfg       digi_connectcore_wi-9c.cfg       hilscher_nxsb100.cfg              olimex_LPC2378STK.cfg     stm32100b_eval.cfg
at91cap7a
-stk-sdram.cfg   dm355evm.cfg                     hitex_lpc2929.cfg                 olimex_lpc_h2148.cfg      stm3210b_eval.cfg
at91eb40a
.cfg             dm365evm.cfg                     hitex_stm32-performancestick.cfg  olimex_sam7_ex256.cfg     stm3210c_eval.cfg
at91rm9200
-dk.cfg         dm6446evm.cfg                    hitex_str9-comstick.cfg           olimex_sam9_l9260.cfg     stm3210e_eval.cfg
at91rm9200
-ek.cfg         efikamx.cfg                      iar_lpc1768.cfg                   olimex_stm32_h103.cfg     str910-eval.cfg
at91sam9261
-ek.cfg        eir.cfg                          iar_str912_sk.cfg                 omap2420_h4.cfg           telo.cfg
at91sam9263
-ek.cfg        ek-lm3s1968.cfg                  imx27ads.cfg                      open-bldc.cfg             ti_beagleboard.cfg
at91sam9g20
-ek.cfg        ek-lm3s3748.cfg                  imx27lnst.cfg                     openrd.cfg                ti_beagleboard_xm.cfg
atmel_at91sam7s
-ek.cfg    ek-lm3s6965.cfg                  imx31pdk.cfg                      osk5912.cfg               ti_blaze.cfg
atmel_at91sam9260
-ek.cfg  ek-lm3s811.cfg                   imx35pdk.cfg                      phytec_lpc3250.cfg        ti_pandaboard.cfg
atmel_at91sam9rl
-ek.cfg   ek-lm3s9b9x.cfg                  keil_mcb1700.cfg                  #.IC#-p32mx.cfg             topas910.cfg
atmel_sam3s_ek.cfg        embedded-artists_lpc2478-32.cfg  keil_mcb2140.cfg                  propox_mmnet1001.cfg      topasa900.cfg
atmel_sam3u_ek
.cfg        ethernut3.cfg                    linksys_nslu2.cfg                 pxa255_sst.cfg            unknown_at91sam9260.cfg
balloon3
-cpu.cfg          hammer.cfg                       lisa-l.cfg                        redbee-econotag.cfg       voipac.cfg
colibri
.cfg               hilscher_nxdb500sys.cfg          logicpd_imx27.cfg                 redbee-usb.cfg            x300t.cfg
crossbow_tech_imote2
.cfg  hilscher_nxeb500hmi.cfg          lubbock.cfg                       rsc-w910.cfg              zy1000.cfg
csb337
.cfg                hilscher_nxhx10.cfg              mcb1700.cfg                       sheevaplug.cfg


# ls /usr/share/openocd/scripts/interface/
altera-usb-blaster.cfg   cortino.cfg               hilscher_nxhx50_re.cfg   luminary.cfg               openocd-usb.cfg      stm32-stick.cfg
arm
-jtag-ew.cfg          dummy.cfg                 hitex_str9-comstick.cfg  luminary-icdi.cfg          openrd.cfg           turtelizer2.cfg
arm
-usb-ocd.cfg          flashlink.cfg             icebear.cfg              luminary-lm3s811.cfg       parport.cfg          usb-jtag.cfg
at91rm9200
.cfg           flossjtag.cfg             jlink.cfg                neodb.cfg                  parport_dlc5.cfg     usbprog.cfg
axm0432
.cfg              flossjtag-noeeprom.cfg    jtagkey2.cfg             ngxtech.cfg                rlink.cfg            vpaclink.cfg
buspirate
.cfg            flyswatter.cfg            jtagkey2p.cfg            olimex-arm-usb-ocd.cfg     sheevaplug.cfg       vsllink.cfg
calao
-usb-a9260-c01.cfg  hilscher_nxhx10_etm.cfg   jtagkey.cfg              olimex-arm-usb-ocd-h.cfg   signalyzer.cfg       xds100v2.cfg
calao
-usb-a9260-c02.cfg  hilscher_nxhx500_etm.cfg  jtagkey-tiny.cfg         olimex-arm-usb-tiny-h.cfg  signalyzer-h2.cfg
calao
-usb-a9260.cfg      hilscher_nxhx500_re.cfg   kt-link.cfg              olimex-jtag-tiny.cfg       signalyzer-h4.cfg
chameleon
.cfg            hilscher_nxhx50_etm.cfg   lisa-l.cfg               oocdlink.cfg               signalyzer-lite.cfg


deuxieme étape. brancher le tout et voir si quelque chose est detecté...
L'interface graphique affiche bien quelque chose, mais c'est plus simple de vous montrer le resultat en ligne de commande (quitte a passer pour un geek retrograde) .

# lsusb -v -s 4
Bus 003 Device 004ID 15a2:0042 Freescale SemiconductorInc
Device Descriptor:
  
bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 
(Defined at Interface level)
  
bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x15a2 Freescale Semiconductor
Inc.
  
idProduct          0x0042 
  bcdDevice            1.00
  iManufacturer           1 Freescale Semiconductor Inc
  iProduct                2 OSBDM 
Debug Port
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor
:
    
bLength                 9
    bDescriptorType         2
    wTotalLength           55
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      
(Bus Powered)
      
Remote Wakeup
    MaxPower              440mA
    
Interface Descriptor:
      
bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific 
Class
      
bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 OSBDM 
Debug Port
      Endpoint Descriptor
:
        
bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor
:
        
bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
    
Interface Descriptor:
      
bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific 
Class
      
bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              3 OSBDM 
Virtual Serial Port
      Endpoint Descriptor
:
        
bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               0
      Endpoint Descriptor
:
        
bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0020  1x 32 bytes
        bInterval               0
Device Status
:     0x0000
  
(Bus Powered)


C'est pas magnifique ca? ca indique bien Freescale et OSBDM... Et oui sous linux ( comme en électronique) il faut avoir des joies simples pour etre souvent heureux...

3eme etape: lancer openocd
Mais la comme prevu ca n'a pas fonctionné....

Bon maintenant il n'y a plus qu'a se plonger dans les diverses doc, pour conprendre ce qu'il faut faire.


Si vous avez des idées ou des liens interessant , n'hesitez pas...

Posté le : 10/05/2011 23:24
Transférer la contribution vers d'autres applications Transférer


Re: l'un d'entre vous utilise t'il openocd?
Guest_
Bonjour

OpenOcd supporte certains coeurs ARM et certaines sondes Jtag. Les fichiers .cfg sont des fichiers scripts adaptés à certains µC (mapping mémoire, essentiellement). Je te conseille très vivement, dans une première étape, de regarder un de ces fichier de script et d’essayer de comprendre son contenu avec le mode d'emploi d'Ope OCD. Tu pourras alors, créer le script approprié pour ton µC .
La première question qui se pose(ra) est : Open Ocd supporte il les coeurs cortex M4 ?
http://lists.berlios.de/pipermail/ope ... nt/2011-March/018303.html
Je n'en sait rien mais une petite recherche GooGle répondra vite à cette question et OpenOcd évolue très vite (large communauté)

Deuxième souci : OpenOcd supporte une large gamme de sondes Jtag, mais l'OSJTAG de freescale est il compris ? - à vérifier (à mon avis, ce point sera plus bloquant). Sinon, modification nécessaire du code source d'OpenOcd (là, je n'ai aucune idée de comment cela se passe)

Bref, pour ces deux questions, tu aurais plus de chance de regarder/demander directement sur le forum OpenOcd ou Freescale.
Finalement, si les deux conditions ci dessus sont réunies, on peut comme premier essai, lancer OpenOcd en interactif dans une fenêtre terminal, pour "chatter" avec le µC (c'est très amusant) : voir le wiki de www.jelectronique.com

Thierry

Posté le : 11/05/2011 07:33
Transférer la contribution vers d'autres applications Transférer


Re: l'un d'entre vous utilise t'il openocd?
Pilier de la communauté
Inscrit:
27/09/2005 18:26
Messages: 794
Hors Ligne
Ouarggg

Ça me dépasse tout ça....

Reste que en partant de rien, avec CodeWarrior V10 (gratuit) sous Windows ou Linux, on peut faire clignoter une LED simplement en à peut près 1 minute... (création d'un projet, choix du chip, écriture des quelques lignes de code qu'il faut, branchement de la carte, téléchargement du programme).
A mettre en rapport avec ton objectif de 2 mois .... Perso je préfère coder et programmer une carte plutôt que de faire joujou avec des lignes de commande pour réinventer la roue...

OK, avec un Kinetis, CodeWarrior limitera la taille de code à 128kB. C'est suffisant pour faire clignoter une LED et même un peu plus, je te rassure

A+
Joël

Posté le : 15/05/2011 14:31
En Savoie, on a pas de pétrole, mais on a des Diots !
Transférer la contribution vers d'autres applications Transférer


Re: l'un d'entre vous utilise t'il openocd?
Guest_
Salut, Joel!

Webmaster, profite-en pour le mettre à contribution pour le nouveau site (il a par exemple un très bon tutoriel CW10)

Thierry

Posté le : 15/05/2011 16:15
Transférer la contribution vers d'autres applications Transférer


Re: l'un d'entre vous utilise t'il openocd?
Pilier de la communauté
Inscrit:
27/09/2005 18:26
Messages: 794
Hors Ligne
lol

Merci pour ce clin d’œil Thierry, mais je vais rester modeste, d'ailleurs, je ne fais aucune pub jusqu'à présent

Le tuto en question est encore plus modeste, je l'ai fais le jour ou j'ai installé CWV10.

A+
Joël

Posté le : 15/05/2011 17:20
En Savoie, on a pas de pétrole, mais on a des Diots !
Transférer la contribution vers d'autres applications Transférer


Re: l'un d'entre vous utilise t'il openocd?
Guest_
Voilà un "dessin" du nouvel USBDM en développement.
- le plus simple possible
- 4cm x 5cm
- JS16 en sample gratuit
- Programmation bootloader USB
- PCB aéré simple face (1 strap)
- CMS 805 ou 1206

J'espère faire les essais le WE prochain.

Thierry

Attacher un fichier:



jpg  usdbm1.JPG (45.78 KB)
3_4dd02729e6d73.jpg 653X528 px

Posté le : 15/05/2011 21:03

Edité par Thierry sur 15/05/2011 21:19:28
Edité par Thierry sur 15/05/2011 21:33:53
Transférer la contribution vers d'autres applications Transférer


Re: l'un d'entre vous utilise t'il openocd?
Administrateur
Inscrit:
24/09/2005 12:24
Messages: 290
Hors Ligne
Merci Thierry

Je suis en pleine chauffe de mon coté aussi !
Le site a bien avancé ce we, mise en ligne d'ici 1 à 2 semaines je pense.

Posté le : 15/05/2011 21:59
Petitours ne deviendra jamais grand... il est au service de la communauté mais il n'y participera jamais.
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

l'un d'entre vous utilise t'il openocd? [Forums - LINUX pour Freescale]