TODOPIC

Otros Microcontroladores / Dispositivos programables => Microcontroladores ARM => Mensaje iniciado por: Darukur en 29 de Agosto de 2007, 10:04:51

Título: Modos de programacion JTAG
Publicado por: Darukur en 29 de Agosto de 2007, 10:04:51
Hola gente del foro.
Tengo un inconveniente que me esta dando vueltas y no lo puedo solucionar.
Hasta el momento ya tengo armadita la plataforma para trabajar con los AT91SAM7S (uso el de 256 K).
Uso el Keil 3.04 como IDE+compilador, con el HJTAG como server JTAG y el Wiggler como programador.
He probado el Rowley Crosswork tambien, esta muy bueno porque utiliza el Wiggler de manera directa sin necesidad de HJTAG.

He podido correr en el Keil codigo desde RAM, PEERO no puedo hacerlo desde flash, ni tampoco grabarlo para modo stand-alone (osea sin uso del JTAG, osea release).

Cuando quiero usar el HJATG-FLASHER para grabarlo no me deja porque me dice que esta fuera del rango, cuando lo hago desde el KEIL, me dice que el reset del sistema no es soportado (cosa que en modo debug en RAM no jode) y no lo graba.

En el Rowley, me encanta que detecta el Wiggler de manera nativa, pero tambien me corre desde modo DEBUG pero cuando lo quiero grabar para que corra solo no me anda.

Que me puede estar faltando?
Si el HJTAG me detecta el micro bien esta bien configurado?
En fin la ayuda que venga es bienvenida.
Título: Re: Modos de funcionamiento ARM
Publicado por: psykhon en 29 de Agosto de 2007, 11:31:34
hola master:
el titulo del hilo no esta del todo bien ya que por modo de funcionamiento nos referimos a modos de operacion como uuario, protegida, excepcion, interrupcion, etc.
En cuanto al modo de grabacion no te puedo ayudar demasiado porque no conosco a fondo los atmel, si te puedo aconsejar que pruebes con el bootloader serial que tienen embebido y si haces la prueba checkea bien que xtal estas usando ya que se que a esos micros no les funka bien el bootloader con ciertas feq., creo que la recomendada es 18.432 MHz pero se que con 12mhz andan algunos baudrates

en cuanto a la flash via jtag, estas seguro que estan bien asignadas las direcciones base? checkealo en la configuracion del proyecto, a mi me jodio eso alguna vez. Fijate que pasa y lo resolvemos entre todos
Título: Re: Modos de funcionamiento ARM
Publicado por: Darukur en 29 de Agosto de 2007, 11:48:42
Gracias psykhon!
Primero que nada tenes razon el titulo esta mal puesto seria mas "modos de programacion JTAG" pero como tiene que ver con los modos de uso del micro con el IDE (modo debug RAM, debug FLASH, release) le pifie en el nombre.
Estuve haciendo unos avances con respecto a esto.
En lo que respecta a configuracion electrica esta todo OK por suerte, el HJTAG lo detecta, lo borra pero no logro que me lo grabe no por errores sino por algun config.
Con el KEIL con el tema que funca en modo RDI no parece tener full soporte.
Con respecto al Rowley anda muy bien y usa el Wiggler como nativo sin intermediarios, debuguea y graba de mil maravillas.
PERO este programa no me graba en flash la pos de arranque del programa, osea me graba la flash en la pos 100000 pero cuando uno reconecta el ARM no comienza a funcionar.
Probe entonces grabado de un archivo hex de manera directa y voila! probe el ejemplo "blinky" de KEIL y anda joya.
Me gustaria resolver todo desde el KEIL, es muy buen IDE y hay muchos ejemplos de uso.

Si conseguis alguna info bienvenido.

Saludos y gracias.
Título: Re: Modos de funcionamiento ARM
Publicado por: Darukur en 29 de Agosto de 2007, 12:41:03
Un avance mas:
En el KEIL, en "option for target" se setean los rangos de memoria para FLASH ROM y RAM.
Tiene las "Read only memory areas" y "Read / write memory areas"
Tenia los rangos bien configurados pero arranca en 100000 (pos de inicio de FLASH) pero evidentemente generaba un hex con longitud como para empezar desde cero.
Cuando se lo pasaba al H-Flasher me decia que no entraba en su cap de mem.
Configure dos secciones de mem, una la de los vectores de arranque y otra de mem Flash y el H-Flasher funciono perfecto.
Ahora tengo debug en RAM y Flasheado en ROM desde el KEIL!!!
Seguiere investigando el Rowley, no me parece nada malo...
 :-)
Título: Re: Modos de programacion JTAG
Publicado por: psykhon en 29 de Agosto de 2007, 14:01:55
los at91 arranca la flash en 100000? en lpc arranca en 0x
probaste con el bootloader serial?
Título: Re: Modos de programacion JTAG
Publicado por: Darukur en 29 de Agosto de 2007, 17:45:25
los at91 arranca la flash en 100000? en lpc arranca en 0x
probaste con el bootloader serial?
Nop, creo que como otros ARM arranca en la posicion 0x0 pero de ahi el codigo lo lleba a la pos 0x100000 o la pos 0x200000 dependiendo si es ROM o RAM.
El asunto era que en el .hex apuntaba como posicion inicial de grabado la 100000 (y debia ser 0x0) con lo que con la longitud final de datos hacia que no entrase.

Pregunta aparte, a cuanto conseguis los LPC? aca los AT91SAM7S nos lo cobran como 25 dolares (electrocomponentes).

Salutes
Título: Re: Modos de programacion JTAG
Publicado por: psykhon en 29 de Agosto de 2007, 19:31:22
elko, lpc2114 y alguno mas (no te los compres todos o te mato  :D)
Título: Re: Modos de programacion JTAG
Publicado por: Darukur en 30 de Agosto de 2007, 09:41:45
elko, lpc2114 y alguno mas (no te los compres todos o te mato  :D)
No te preocupes, ayer pedi en la empresa 6 AT91SAM7 como para tener para I+D, y me dijeron "pidamos 10 total...".
Cuando consulto el precio "che pero valen 25 dolares c/u!! pido nomas los 6..."
No creo que para esto te deje sin...
Lo que si compramos mucho son de Microchip, compramos de a tandas de 2000 micros...

Otra pregunta, cuanto lo pagas al lpc2114?

Salutes
Título: Re: Modos de programacion JTAG
Publicado por: psykhon en 30 de Agosto de 2007, 09:51:13
algo de 48 pesos mas iva, 128kb flash, 16kb ram
Título: Re: Modos de programacion JTAG
Publicado por: stk500 en 24 de Noviembre de 2007, 07:21:48
Hola gente del foro.
Tengo un inconveniente que me esta dando vueltas y no lo puedo solucionar.
Hasta el momento ya tengo armadita la plataforma para trabajar con los AT91SAM7S (uso el de 256 K).
Uso el Keil 3.04 como IDE+compilador, con el HJTAG como server JTAG y el Wiggler como programador.
He probado el Rowley Crosswork tambien, esta muy bueno porque utiliza el Wiggler de manera directa sin necesidad de HJTAG.

He podido correr en el Keil codigo desde RAM, PEERO no puedo hacerlo desde flash, ni tampoco grabarlo para modo stand-alone (osea sin uso del JTAG, osea release).

Cuando quiero usar el HJATG-FLASHER para grabarlo no me deja porque me dice que esta fuera del rango, cuando lo hago desde el KEIL, me dice que el reset del sistema no es soportado (cosa que en modo debug en RAM no jode) y no lo graba.

En el Rowley, me encanta que detecta el Wiggler de manera nativa, pero tambien me corre desde modo DEBUG pero cuando lo quiero grabar para que corra solo no me anda.

Que me puede estar faltando?
Si el HJTAG me detecta el micro bien esta bien configurado?
En fin la ayuda que venga es bienvenida.


Hola Darukur!
No sera que tu tiene el codigo en diferente archivos?
se me pasa el code completo quizas te ayude, estoy intentando encontrar la pagina de Keil, dame pista y asi poder ayudarte unque yo uso AVR GCC con el Studio4 y Bascom tambien :mrgreen:
Ok ya lo encontre http://www.keil.com/
pero eso es demasiado caro amigo!
osea que no es tampoco openSource :x
para mi lo que no sea opensource no me sirve :D :D
Título: Re: Modos de programacion JTAG
Publicado por: Darukur en 14 de Marzo de 2008, 16:58:47
Si, es una gran herramienta pero es cara.
El asunto de las herramientas opensource para ARM no es solo la complejidad para sacarlo andando (cosa que renegaras pero cuando anda ya esta) sino que no es tan eficiente su compilador como en los productos de pago...

Saludos.
Título: Re: Modos de programacion JTAG
Publicado por: maunix en 18 de Marzo de 2008, 17:16:08
Si, es una gran herramienta pero es cara.
Coincido con ambas calificaciones... solo puedo agregar que "por suerte" es cara pero buena.  No todo lo que es caro termina siendo bueno.


El asunto de las herramientas opensource para ARM no es solo la complejidad para sacarlo andando (cosa que renegaras pero cuando anda ya esta) sino que no es tan eficiente su compilador como en los productos de pago...
Si, pero hay que ver que tanto uno pondera esa 'eficiencia'.  Depende mucho de la aplicación que uno haga.  He visto comparativas por ejemplo en un switch entre el SDCC, Hitech y C18 para un pic18f.

El ganador en eficiencia era el Hitech, le seguía el c18 y luego el sdcc.  El tema es que el hitech sale u$s 1000, el c18 u$s 500 y el otro es gratis.

Si trasladamos la ineficiencia a que tenemos que comprar un micro más caro (ya sea porque necesitemos más memoria de programa, más ram o más velocidad en MHz), entonces cuanto más caro saldrá el micro vs cuanto más caro el compilador? cuantos equipos armaremos iguales?

Por eso la ecuación al mezclar $ con eficiencia... ya entramos en ecuaciones económicas que no son tan lineales como la comparación entre 2 compiladores  para una misma rutina :mrgreen: :mrgreen: