LPC2148 Module Board

Postby abiz » Sun Sep 05, 2010 12:00 am

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
Attachments
IMG-0398--Large-.jpg
IMG-0399--Large-.jpg
IMG-0400--Large-.jpg
abiz
 
Posts: 44
Joined: Fri Jan 17, 2014 4:41 pm

Postby abiz » Fri Sep 24, 2010 12:00 am

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
abiz
 
Posts: 44
Joined: Fri Jan 17, 2014 4:41 pm

Postby rédaction » Fri Sep 24, 2010 12:00 am

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
rédaction
 
Posts: 118
Joined: Thu Jan 02, 2014 10:37 am

Postby abiz » Mon Sep 27, 2010 12:00 am

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_P00xF2FFBFFC
#define LED_ON_P0 IOSET0 = LED_PIN_P0
#define LED_OFF_P0 IOCLR0 = LED_PIN_P0

// P1 PIN excluded: p26(debug)
#define LED_PIN_P10xFBFF0000
#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
 
Posts: 44
Joined: Fri Jan 17, 2014 4:41 pm

Postby abiz » Mon Sep 27, 2010 12:00 am

!!!!
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 ?
abiz
 
Posts: 44
Joined: Fri Jan 17, 2014 4:41 pm

Postby ymasquel » Mon Sep 27, 2010 12:00 am

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.
Amicalement,
Yves.
ymasquel
Site Admin
 
Posts: 3364
Joined: Thu Jan 02, 2014 10:44 am
Location: Oise (60)

Postby abiz » Mon Sep 27, 2010 12:00 am

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
 
Posts: 44
Joined: Fri Jan 17, 2014 4:41 pm

Postby abiz » Mon Sep 27, 2010 12:00 am

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
abiz
 
Posts: 44
Joined: Fri Jan 17, 2014 4:41 pm

Postby ymasquel » Mon Sep 27, 2010 12:00 am

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.
Amicalement,
Yves.
ymasquel
Site Admin
 
Posts: 3364
Joined: Thu Jan 02, 2014 10:44 am
Location: Oise (60)

Postby abiz » Tue Sep 28, 2010 12:00 am

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
abiz
 
Posts: 44
Joined: Fri Jan 17, 2014 4:41 pm

Next

Return to SCEPTRE (03-2010)

Who is online

Users browsing this forum: No registered users and 1 guest