Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriel:freescale_coldfire [Le 31/05/2009, 13:09]
_Val_
— (Version actuelle)
Ligne 1: Ligne 1:
-====== Installation d'​uClinux via LTIB sur le module Freescale MCF5329 Fire Engine ====== 
- 
-<note help> 
-Document en cours d'​écriture (31 mai 2009) 
-</​note>​ 
- 
-===== Prélude ===== 
-Ce document s'​adresse aux personnes intéressées par la mise en œuvre, sous Ubuntu, du System-On-Module [[http://​www.logicpd.com/​products/​system-modules/​freescale-mcf5329-fire-engine|MCF5329 Fire Engine]] de chez Freescale/​Logicpd. Sur cette carte (disponible chez [[http://​fr.farnell.com/​freescale-semiconductor/​m5329evbe/​kit-mcf532x-evaluation-board/​dp/​1579763|Farnell]]),​ nous installerons [[http://​www.uclinux.org|uClinux]] via le générateur d'​image fourni par Freescale : LTIB. 
- 
-Les commandes et notions présentes dans ce tutoriel sont souvent "​simples",​ mais on peux perdre énormément de temps à les retrouver et à les utiliser correctement (surtout avec de petits Linux embarqués). La philosophie retenue, est donc ici, de les toutes les retranscrire (y compris celles pour le [[http://​doc.ubuntu-fr.org/​tftpd|TFTP]],​ [[http://​doc.ubuntu-fr.org/​nfs|NFS]],​ ... qui disposent déjà de tutoriel respectifs). 
- 
-<note tip> 
-Beaucoup des commandes présentes dans ce tutoriel sont, vraisemblablement,​ exportables pour d'​autres cartes de développement. 
-</​note>​ 
- 
-<note warning>​Note de l'​auteur (_Val_) : 
- 
-Ce document est une synthèse d'une nombre important d'​informations,​ trucs et astuces, tutoriel, etc. trouvés sur le web. N'​étant pas un expert Linux/​Ubuntu,​ mais plutôt un "​google boy", certaines de ces commandes ne seront sans doutes pas optimales et/ou "​propres"</​note>​ 
- 
-===== Pré-requis ===== 
-Pour mener à bien ce tutoriel, nous avons besoin de : 
-  - Une machine de développement fonctionnant sous [[http://​www.ubuntu.com/​getubuntu/​download|Ubuntu 9.04 "​Jaunty Jackalope"​]] 32 bits (100% à jour – 22 mai 2009). 
-  - Le [[http://​fr.farnell.com/​freescale-semiconductor/​m5329evbe/​kit-mcf532x-evaluation-board/​dp/​1579763|bundle]] de développement pour le System-On-Module Freescale MCF5329 Fire Engine. 
-  - Le bootloader présent sur la carte est [[http://​www.denx.de/​wiki/​U-Boot/​WebHome|U-Boot]] 2008.10 (Dec 15 2008 – 11:03:39). Son installation est décrites dans la suite du document (Il n'est pas toujours présent d'​origine sur la carte). 
-  - Une connexion internet. 
- 
-===== Conventions pour ce tutoriel ===== 
-  * IP machine développement : 192.168.0.2 
-  * OS : Ubuntu Desktop 9.04 (100% à jour – 22 mai 2009) 
-  * User : as 
-  * Pass : azerty 
-  * Pass root : azerty 
-  * IP carte Freescale : 192.168.0.254 
-  * Passerelle : 192.168.0.1 
-  * Masque : 255.255.255.0 
-  * Bootloader présent sur le System-On-Module : U-Boot 2008.10 (Dec 15 2008 – 11:03:39) 
-  * Ce document, ainsi que __l'​ensemble des fichiers téléchargés__,​ se situent dans ''/​home/​as/​tuto''​ 
- 
-===== Documents de références ===== 
-  * « BSP Targeting the Freescale Coldfire M5239EVB User's Guide » (User_Manual_MCF5329.pdf) 
-  * « Using MCF5329EVB NAND Flash to Host μClinux Root File System » (AN3757.pdf) 
-  * « Building a Sample CGI Application ​ » (AN3408.pdf) 
- 
-===== Installation LTIB ===== 
-LTIB est notre générateur d'​image uClinux pour la carte freescale. 
-  - On extrait m53xxevb-20081215-ltib.iso (source : [[http://​www.freescale.com/​webapp/​sps/​site/​prod_summary.jsp?​code=MCF532X&​nodeId=0162468rH3YTLC00M92076&​fpsp=1&​tab=Design_Tools_Tab#​|Linux BSP for Freescale M5329EVB]] ) 
-     - Clique-droit sur le fichier -> Extraire ici 
-     - __Nous avons maintenant accès à la (très bonne !) documentation__ : ''/​home/​as/​tuto/​m53xxevb-20081215-ltib/​START_HERE.htm''​ 
-     - (Dans cette documentation,​ se trouve le tutoriel pour installer U-Boot - nécessite une machine windows :-/) 
-  - Installation de LTIB 
-     - On se place avec un terminal dans le répertoire : ''/​home/​as/​tuto/​m53xxevb-20081215-ltib''​ 
-     - On lance la commande : ''​sh ./install ''​ 
-     - On répond yes partout 
-     - On installe les fichiers dans : ''/​home/​as/​ltib ''​ 
-  - Installation des paquets nécessaires à LTIB 
-     - Lancer dans un terminal : ''​sudo apt-get install bison libncurses5-dev build-essential rpm tcl8.5 libghc6-zlib-dev''​ 
-  - Mise en place des autorisations pour LTIB 
-     - On modifie le fichier visudo via la commande : ''​sudo /​usr/​sbin/​visudo''​ 
-     - On y ajoute la ligne : ''​as ALL = NOPASSWD: /​usr/​bin/​rpm,​ /​opt/​freescale/​ltib/​usr/​bin/​rpm''​ 
-     - On sauvegarde via [ctrl+o], puis [enter] 
-     - Exit via [ctrl+x] 
-  - Premier lancement de LTIB (il décompresse ses packages -> long) 
-     - On se place avec un terminal dans le répertoire : ''/​home/​as/​ltib/​ltib-cf_nommu-20081215''​ 
-     - On lance la commande : ''​./​ltib''​ 
-     - Nous avons un bug (normal) //(Exiting on error or interrupt)//​ 
-     - Pour le résoudre, on modifie les lignes 46, 47 et 48 du fichier ''/​opt/​freescale/​pkgs/​mtd-utils-20060302-cf-byteswap_h-1.patch''​ 
-     <​code>​ 
-+#if !defined _BYTESWAP_H && !defined _NETINET_IN_H 
-+# error "Never use <​bits/​byteswap.h>​ directly; include <​byteswap.h>​ instead." ​ 
-+#endif 
-</​code>​ 
-qui deviennent 
-<​code>​ 
-+//#if !defined _BYTESWAP_H && !defined _NETINET_IN_H 
-+//# error "Never use <​bits/​byteswap.h>​ directly; include <​byteswap.h>​ instead."​ 
-+//#endif 
-</​code>​ 
- 6. Et on supprime le répertoire (et son contenu) : ''/​opt/​freescale/​ltib/​usr/​src/​rpm/​BUILD/​mtd''​ 
- 
- 7. On re-lance la commande : ''​./​ltib''​ 
- 
- 8. Après ça, LTIB est installé ! (ouf ^_^) 
- 
-===== Installation de Minicom ===== 
-  - On installe minicom. Pour ça on lance dans une console : ''​sudo apt-get install minicom''​ 
-  - Pour le configurer, on lance dans un terminal : ''​minicom -s''​ 
-  - Dans « configuration du port série », on veillera à avoir les valeurs suivantes 
-<​code>​ 
-+--------------------------------------------------------------------------------+ 
-| A - Port série : /​dev/​ttyUSB0 ​                                                 | 
-| B - Emplacement du fichier de verrouillage : /​var/​lock ​                        | 
-| C - Programme d'​appel intérieur :                                              | 
-| D - Programme d'​appel extérieur :                                              | 
-| E - Débit/​Parité/​Bits : 115200 8N1                                             | 
-| F - Contrôle de flux matériel : Non                                            | 
-| G - Contrôle de flux logiciel : Non                                            | 
-|                                                                                | 
-| Changer quel réglage ?                                                         | 
-+--------------------------------------------------------------------------------+ ​ 
-</​code>​ 
- 4. Le lancement de minicom se fera par la commande suivante dans le terminal : ''​minicom''​ 
- 
-===== Installation du serveur TFTP ===== 
-On crée un répertoire tftpboot (via la console) 
-<​code>​ 
-sudo mkdir /tftpboot 
-sudo chmod -R 777 /tftpboot 
-sudo chown -R nobody /tftpboot 
-</​code>​ 
-On installe les paquets suivants 
-<​code>​ 
-sudo apt-get install xinetd tftpd tftp 
-</​code>​ 
-On ouvre un éditeur de texte en mode « root » 
-<​code>​ 
-sudo gedit 
-</​code>​ 
-Dans cet éditeur, on insert le texte suivant 
-<​code>​ 
-service tftp 
-{ 
-protocol = udp 
-port = 69 
-socket_type = dgram 
-wait = yes 
-user = nobody 
-server = /​usr/​sbin/​in.tftpd 
-server_args = /tftpboot 
-disable = no 
-} 
- 
-</​code>​ 
-//​(attention,​ il faut un [enter] après la dernière accolade !!)// 
- 
-Et on sauvegarde dans le répertoire __/​etc/​xinet.d/​__ avec comme nom de fichier ''​tftp''​ 
- 
-Toujours avec gedit en root, on ajoute les autorisations suivantes dans le fichier ''/​etc/​hosts.allow''​ 
-<​code>​ 
-portmap:​192.168.0.254 
-nfsd:​192.168.0.254 
-mountd:​192.168.0.254 
-</​code>​ 
- 
-Et les lignes suivantes dans /​etc/​hosts.deny 
-<​code>​ 
-portmap:ALL 
-nfsd:ALL 
-mountd:ALL 
-</​code>​ 
- 
-On recharge la configuration 
-<​code>​ 
-sudo /​etc/​init.d/​xinetd reload 
-</​code>​ 
- 
-On peut maintenant relancer le serveur tftp via la commande ​ 
-<​code>​ 
-sudo /​etc/​init.d/​xinetd restart 
-</​code>​ 
- 
-On vérifie la configuration du service tftp via la commande ''​cat /​etc/​xinetd.d/​tftp''​ qui doit retourner 
-<​code>​ 
-as@as-desktop:​~$ cat /​etc/​xinetd.d/​tftp 
-service tftp 
-{ 
-protocol = udp 
-port = 69 
-socket_type = dgram 
-wait = yes 
-user = nobody 
-server = /​usr/​sbin/​in.tftpd 
-server_args = /tftpboot 
-disable = no 
-} 
-</​code>​ 
- 
-===== Installation du serveur NFS ===== 
-On crée un lien vers le répertoire rootfs de ltib (commande à lancer dans la console) 
-<​code>​ 
-ln -s /​home/​as/​ltib/​ltib-cf_nommu-20081215/​rootfs /​tftpboot/​ltib 
-</​code>​ 
- 
-On installe le paquets pour un serveur NFS  
-<​code>​ 
-sudo apt-get install nfs-kernel-server 
-</​code>​ 
- 
-On ajoute la ligne suivante dans le fichier ''/​etc/​exports''​ (avec un gedit en mode root) et on sauvegarde 
-<​code>​ 
-/​tftpboot/​ltib 192.168.0.254/​255.255.255.0(rw,​no_root_squash,​async) 
-</​code>​ 
- 
-On recharge le fichier de configuration via la commande (terminal) 
-<​code>​ 
-sudo /​etc/​init.d/​nfs-kernel-server reload 
-</​code>​ 
- 
-Et on relance le serveur via la commande 
-<​code>​ 
-sudo /​etc/​init.d/​nfs-kernel-server restart 
-</​code>​ 
- 
-===== Installation du compilateur C/C++ ===== 
-On télécharge Sourcery G++ Lite Edition for ColdFire (uClinux) à l'​adresse [[http://​www.codesourcery.com/​sgpp/​lite/​coldfire/​portal/​package3499/​public/​m68k-uclinux/​freescale-coldfire-4.3-45-m68k-uclinux.bin|suivante]]. 
- 
-On lance l'​installation via la commande (exécutée dans le répertoire ou se trouve le fichier téléchargé) 
-<​code>​ 
-sh ./​freescale-coldfire-4.3-45-m68k-uclinux.bin -i console 
-</​code>​ 
- 
-On laisse l'​ensemble des options par défaut. 
- 
-On ajoute les entrées suivantes dans le fichier ''​.bashrc'' ​ (''/​home/​as/​.bashrc''​) et on sauve 
-<​code>​ 
-PATH=$HOME/​CodeSourcery/​Sourcery_G++_Lite/​bin:​$PATH 
-export PATH 
-</​code>​ 
- 
-On peut tester le compilateur via la commande ​ 
-<​code>​ 
-m68k-uclinux-g++ 
-</​code>​ 
- 
-Qui doit retourner 
-<​code>​ 
-m68k-uclinux-g++:​ no input files 
-</​code>​ 
- 
-La compilation d'un fichier se fera maintenant via les commandes 
-<​code>​ 
-m68k-uclinux-g++ -o hello helloworld.c 
-</​code>​ 
-//Fichier source en C++ - entrée : helloworld.c - sortie : hello// 
- 
-Et, 
-<​code>​ 
-m68k-uclinux-gcc -o hello helloworld.c 
-</​code>​ 
-//Fichier source en C - entrée : helloworld.c - sortie : hello// 
- 
-''​Génération de l'​image noyau''​ 
- 
- 
- 
  
  • tutoriel/freescale_coldfire.1243768191.txt.gz
  • Dernière modification: Le 18/04/2011, 14:50
  • (modification externe)