Home › Forum › SCEPTRE (03-2010) › LPC2148 Module Board

Forum

Veuillez vous identifier avant de répondre ou pour vous abonner à cette discussion

1   2   3     suivant

Sujet: LPC2148 Module Board

Auteur Message

abiz

37 messages

De passage
De passage

Read post 05-09-2010 16:06

Si vous hésitez à incorporer le Sceptre dans votre application "modèliste"pour une question de place, vous trouverez sur EBAY ces petits modules (38x42 mm !)pour environ 30 USD.
nota:le quartz livré est bien 12MHz et non 14,7456MHz comme indiqué dans la doc... donc les modules sont parfaitement compatibles avec le sceptre !
A suivre
Alain

abiz

37 messages

De passage
De passage

Read post 24-09-2010 11:19

J'ai adapté le "Preload" du Sceptre pour tester la MB (suppression code SD, thermomètre et accéléro)...
OK message horloge UART0-> PC toutes les secondes, mais pas de clignottement de la LED connectée sur P1.30... j'ai découvert que la broche P1.26 était reliée au zéro à travers R=10k, ce qui correspond à un forçage DEBUG !!!
après connection au + 3,3v avec R=1k, tout est rentré dans l'ordre
Question : comment programmer avec JTAG avec la chaine de programmation du Sceptre. Existe-t'il des solutions alternatives "low cost?"

Autre : le projet Open Source Paparazzi comprend des sources pour le LPC2148 : UBLOX, Boaro etc que l'on peut certainement incorporer dans des projets Sceptre... Question quel serait l'intérét d'utiliser la chaine de programmation LINUX/Débian :
- facilité de prise en main
- intéret par rapport aux outils sous windows

Rédaction

116 messages

Visiteur régulier
Visiteur régulier

Read post 24-09-2010 12:28

Olimex vend plusieurs sondes JTAG bon marché (ARM-USB-OCD à 55 euros ou ARM-USB-TINY(-H) à 40 euros) qui peuvent fonctionner avec WinARM (ou Yagarto) + OCD. Je ne les ai pas encore essayés (manque de temps). Par contre, j’ai essayé la sonde uLink de Keil et ça fonctionne parfaitement (avec uVision). La carte d’extension InterSceptre offre le port JTAG compatible avec ce genre de sondes.

Je n’ai pas d’opinion sur la chaine de programmation LINUX/Débian pour le LPC2148.

Bon WE,
Clemens

abiz

37 messages

De passage
De passage

Read post 27-09-2010 19:00

Pour détecter d'éventuels problèmes de connectique sur deux "module board", j'ai modifié Préload comme suit :

/* Module board Test all Output
* Alain 27/09/2010 (after Sceptre Preload/Elektor)
* All Output (LED) blink + Time,P0,P1 on Terminal
*/

#include "sceptre.h"
#include // For CLOCKS_PER_SEC
#include
#include

rtc_time_t rtc; //A global RTC structure

void main_send_string(const char *p_str);
void main_10ms_timer(void);

// P0 PIN excluded: p0,p1 (UART0), P14 (ISP), p24,P26,p27
#define LED_PIN_P0 0xF2FFBFFC
#define LED_ON_P0 IOSET0 = LED_PIN_P0
#define LED_OFF_P0 IOCLR0 = LED_PIN_P0

// P1 PIN excluded: p26(debug)
#define LED_PIN_P1 0xFBFF0000
#define LED_ON_P1 IOSET1 = LED_PIN_P1
#define LED_OFF_P1 IOCLR1 = LED_PIN_P1

void led_init(void);
void led_tick(void);

void led_init(void)
{
IODIR0 |= LED_PIN_P0; // output.
LED_OFF_P0; // LED off.
IODIR1 |= LED_PIN_P1; // output.
LED_OFF_P1; // LED off.
}

void led_tick(void)
{
static int ms = 0; //1sec ON + 1sec OFF
ms += 10;
if (ms>=1000)
{
ms = 0;
if ((IOPIN0& LED_PIN_P0)==0) LED_ON_P0;
else LED_OFF_P0;
if ((IOPIN1& LED_PIN_P1)==0) LED_ON_P1;
else LED_OFF_P1;
}
}

void main_send_string(const char *p_str)
{
uart0_send((const uint8_t *)p_str,strlen(p_str),true);
}

void main_10ms_timer(void)
{
led_tick();
}

int main(void)
{
// System initialization.
target_init();
irq_vic_init();

// Install a system timer running at 1 kHz.
timer_init(SYSTEM_TIMER,Fpclk/1000 - 1);
timer_enable(SYSTEM_TIMER);

// Start the real time clock (at 1/1/2010).
rtc.seconds = 0;
rtc.minutes = 0;
rtc.hours = 15;
rtc.day_of_month = 27;
rtc.day_of_week = 4;
rtc.day_of_year = 1;
rtc.month = 9;
rtc.year = 2010;
rtc_init();
rtc_set_time(&rtc);
rtc_start();

// Start blinking an LED.
led_init();
timer_set_10ms_hook(main_10ms_timer);

// Setup UART0 for 115200n81.
uart0_init(115200,8,'n',1);

// Initialize device driver system used for printf
device_init();

// Print instructions.
printf("==== Alain sept 27 2010 ==============\n");
printf(" Module board Output test\n");
printf("All Output (LED) blink + Time,P0,P1 on Terminal\n");
printf("\n");
timer_wait_ms(3500); // Give the user some time to read the text.
uint32_t last_count = 0;

while (1)
{
if (timer_get_10ms_counter()>=last_count+100)
{
last_count = timer_get_10ms_counter();
rtc_get_time(&rtc);
printf("%02d:%02d:%02d P0 = %x P1 = %x\n",
(int)rtc.hours,(int)rtc.minutes,(int)rtc.seconds,(int)IOPIN0,(int)IOPIN1);
}
}
return 0;
}

Ce programme tourne parfaitement, mais il faut tenir compte des broches réservées (voir commentaires) ainsi que des broches certainement gérées par ailleurs P0.2et3 : IIC0 ainsi que P0.30 et 31 ???
Attention avec la carte Spectre, il faut exclure les broches déjà connectées à des périphériques (accéléro, thermomètre etc...)
A+
Alain

abiz

37 messages

De passage
De passage

Read post 27-09-2010 19:18

!!!!
Je viens de constater que tous les caractères ne sont pas acceptés dans les textes des messages : les crochets des INCLUDE ainsi que le texte inséré ont disparu du listing...
Doit-on diffuser les listings uniquement en PJ ?

YMasquel

2504 messages

Expert
Expert

Read post 27-09-2010 20:01

Bonjour abiz,

Je ne suis pas certain du résultat car cela peut changer en fonction des logiciels utilisés pour les fora mais voici un essai de crochets dans un texte que j'intègre en sélectionnant le texte (crochets compris) puis en cliquant sur le bouton "Code" qui apparait au-dessus de la fenêtre d'édition.

[essai de crochets]


Je vérifierai le résultat => Cela semble très correct.

Il faut savoir que les crochets sont les "emballages" des TAGS HTML et qu'ils sont donc d'un emploi un peu délicat.

Si tu as du texte que tu veux faire apparaître dans son intégrité (et son intégralité) une bonne solution est donc de l'emballer par les TAGS délimitant du code.

Amicalement, Yves.

Modifié par YMasquel le 27-09-2010 20:05

abiz

37 messages

De passage
De passage

Read post 27-09-2010 21:21

essai
 

ce que j'appelais des crochets, c'était les "plus petit ou grand que" dont je ne me rappelle pas le nom en Français...
A+
Alain

abiz

37 messages

De passage
De passage

Read post 27-09-2010 21:27

Raté... j'avais pourtant entré Code devant et Code derrière...
Dommage qu'il n'existe pas de "preview" disponible avant l'envoi du message !
Je n'insisterai pas ... je vais utiliser les documents attachés, c'est plus sûr et plus simple
Alain

YMasquel

2504 messages

Expert
Expert

Read post 27-09-2010 22:39

Bonjour Alain,

Ce qui est étrange c'est que dans le listing la ligne "if (ms>=1000) " semble parfaitement transcrite. Il s'agirait peut-être du couple \lt inférieur et \gt supérieur encadrant une phrase.

Mais tu as raison, un document joint est plus sûr et plus simple.

Amicalement, Yves.

abiz

37 messages

De passage
De passage

Read post 28-09-2010 11:36

Re: JTAG
Il serait intéressant d'avoir un retour d'expérience d'un utilisateur du Dongle ARM-USB-OCD d'Olimex.
Ce Dongle est disponible chez Lextronic (70,27 EUR TTC) avec un CD d'accompagnement contenant, paraît-il, tous les logciels nécessaires... J'aimerai savoir si il contient en particulier GCCFD
,OpenOCD et Eclipse étant par ailleurs téléchargeables
La prise en main est-elle aisée ?
Cordialement
Alain

Veuillez vous identifier avant de répondre ou pour vous abonner à cette discussion

1   2   3     suivant

Elektor 6/2012 en kiosque

Elektor-Hebdo gratuit !

Mon adresse électronique :

Unités de crédit Elektor

Nos blogs-ateliers