TODOPIC
Otros Microcontroladores / Dispositivos programables => Microcontroladores ARM => Mensaje iniciado por: kaki en 08 de Abril de 2013, 15:04:50
-
Hola buen dias a todos.
Acabo de adquirir un STM32F4 - Discovery para iniciarme en el mundo ARM y la verdad que estoy un poco en dudas.
Me gustaria saber que sofware usar para programarlo. Por lo que investigue lei sobre el Keil que la verdad no se bien que es. Tambien encontra algo de IAR.
Si alquien me puede dar un pantallaso sobre este tema se lo agradeceria..
Saludos!!
-
Hola! Keil es una buena opción, cuando me toco utilizarlo resolvi rapido la parte de crear un proyecto, eso si la versión Lite te limita hasta 32 kbytes. Luego una opción free es combinar Eclipse + Yagarto.
Para comenzar tenes que bajarte la libreria CMSIS, para ese micro la encontras como STM32F4 DSP and standard peripherals library. Por aquí hay para buscar:
http://www.st.com/stonline/stappl/productcatalog/app?page=partNumberSearchPage&levelid=SS1577&parentid=1743&resourcetype=SW
STSW-STM32065 y STSW-STM32068
Aparte de la libreria para los perifericos tenes plantillas de proyectos para distintos IDEs.
Saludos!
-
Genial!!! que me recomiendas Keil o Eclipse??? Teniendo en cuneta que Eclipse ya lo manejo y Keil no parece dificil!!
No sabes donde hay algun manual algo con esplicacion de configuracion sobre el mircro.. Lo que se llaman Fuses en PIC y Puertos de salidas y demas cosas??
-
Genial!!! que me recomiendas Keil o Eclipse??? Teniendo en cuneta que Eclipse ya lo manejo y Keil no parece dificil!!
No sabes donde hay algun manual algo con esplicacion de configuracion sobre el mircro.. Lo que se llaman Fuses en PIC y Puertos de salidas y demas cosas??
Si usas Eclipse, encara el tema de usar Yagarto, no debería ser difícil. Hay que descargar Yagarto Tools, Yagarto GNU ARM Toolchain y creo que con eso ya estamos, más Eclipse C/C++...
En ARM no te queda otra que buscar el manual del microcontrolador y leer de allí.
Saludos!
-
LLevo horas sin entender nada de lo que hago!! Chino Básico todo esto...
-
Saltarse al Cortex M4 si saber casi nada. No era avanzar por pasos 8bit o 16bits a 32bits.
Yo comencé con cortex m3 desde el 2007 y era complicado porque a diferencia del pic que hay librerías compilador CSS que todo ya está listo para usar y el cortex tenias que hacerlo tu mismo hora ya no uso mucho micros de 32bits.
Ahora esta mas fácil el Iar y el kei son los mas fáciles de usar y hay el libre coocox que lo veo bastante completo.
-
Osea no es que no se... eh programado micros de 16 bits... lo que pasa que mudarte de la simplicidad de CCS o C18 a esto eso si es complicado... Es hasta que logre hacer andar algo.. después de ahí es todo mas facil... hace 12 horas que estoy mirando en la internet y no encuentro nada!!! jejeje
-
LINK 1 (http://ttde.uniandes.edu.co/ttdewikim1/index.php/STM32F4_Discovery)
LINK 2 (http://www.sectiongo.com/main/setup-eclipse-debug-environment-for-stm32f4-discovery-board/)
LINK 3 (http://www.chibios.org/dokuwiki/doku.php?id=chibios:community:guides:keil_uvision_chibios_rt_how-to)
LINK 4 (http://sunbizhosting.co.uk/~spiral/blog/?p=264)
LINK 5 (http://www.filecrop.com/search.php?w=stm32f4&size_i=0&size_f=100000000&engine_d=1&engine_h=1&engine_e=1&engine_m=1&engine_4=1)
LINK 6 (http://eliaselectronics.com/stm32f4-tutorials/stm32f4-gpio-tutorial/)
LINK 7 (http://jeremyherbert.net/get/stm32f4_getting_started)
Esto es lo que encontré, también me compré el modulo pero aun no le he podido meter el diente por falta de tiempo.
saludos.
-
Gracias... logre cargar un ejemplo y debugear!! es un gran paso!! jejeje vamos por mas...
-
No trae manual, ni links de descarga, nada ?? :mrgreen: :mrgreen:
-
En la WEB de ST hay un par de PDF y ejemplos.. pero me costo aprender a usar el uVision.. ahora no soy profecional pero se crear y abrir proyecto, debugear y configurarlo!! algo es algo ejjeeje
alguien me puede ayudar la configuracion de pines... no entiendo acsolutamente nada!! este es el codigo:
void LED_Init (void) {
RCC->AHB1ENR |= ((1UL << 3) ); /* Enable GPIOD clock */
GPIOD->MODER &= ~((3UL << 2*12) |
(3UL << 2*13) |
(3UL << 2*14) |
(3UL << 2*15) ); /* PD.12..15 is output */
GPIOD->MODER |= ((1UL << 2*12) |
(1UL << 2*13) |
(1UL << 2*14) |
(1UL << 2*15) );
GPIOD->OTYPER &= ~((1UL << 12) |
(1UL << 13) |
(1UL << 14) |
(1UL << 15) ); /* PD.12..15 is output Push-Pull */
GPIOD->OSPEEDR &= ~((3UL << 2*12) |
(3UL << 2*13) |
(3UL << 2*14) |
(3UL << 2*15) ); /* PD.12..15 is 50MHz Fast Speed */
GPIOD->OSPEEDR |= ((2UL << 2*12) |
(2UL << 2*13) |
(2UL << 2*14) |
(2UL << 2*15) );
GPIOD->PUPDR &= ~((3UL << 2*12) |
(3UL << 2*13) |
(3UL << 2*14) |
(3UL << 2*15) ); /* PD.12..15 is Pull up */
GPIOD->PUPDR |= ((1UL << 2*12) |
(1UL << 2*13) |
(1UL << 2*14) |
(1UL << 2*15) );
}
-
Mira el pdf del micro.
-
¿ Que programador estais usando con esta placa ?
Quiero comprarme un bicho de estos, y mi duda es que programador necesita.
En Amidata he localizado el ST-LINK/V2, que no se si servirá:
http://es.rs-online.com/web/p/kits-de-desarrollo-de-procesador-y-microcontrolador/7141701/
La placa supongo que es esta, para mi sorpresa, más barata que en los chinos, y eso que Amidata suele ser bastante cara:
http://es.rs-online.com/web/p/kits-de-desarrollo-de-procesador-y-microcontrolador/7458434/
-
La placa supongo que es esta, para mi sorpresa, más barata que en los chinos, y eso que Amidata suele ser bastante cara:
http://es.rs-online.com/web/p/kits-de-desarrollo-de-procesador-y-microcontrolador/7458434/
Este estoy usando!!
-
La placa supongo que es esta, para mi sorpresa, más barata que en los chinos, y eso que Amidata suele ser bastante cara:
http://es.rs-online.com/web/p/kits-de-desarrollo-de-procesador-y-microcontrolador/7458434/
Este estoy usando!!
¿ Pero el programador va integrado o hay que comprarlo aparte ?
Por lo que he leído, creo que va integrado, lo que no se es si permite también hacer Debug y para que sirve ese conector SWD.
-
La Discovery tiene programador/debugger integrado. Ademas permite programar/debuggear otros micros fuera de la placa ya que por medio de jumper se puede seleccionar.
Saludos!
-
La Discovery tiene programador/debugger integrado. Ademas permite programar/debuggear otros micros fuera de la placa ya que por medio de jumper se puede seleccionar.
Saludos!
Gracias Suky.
¿ para programar fuera de la placa, se hace por el conector SWD, tiene algo que ver con JTAG ?
Estos bichos, me parecen extremadamente potentes y baratisimos, tengo que probarlos.
-
Gente que el TIM el ARM?? es Timer?? el PWM?? no entiendo nadaaaa
-
El SWD es otro interface serial para la programación aparte del JTAG.
KAKI, hay que leer el manual de referencia, hay mucho para leer como para que te des cuenta de que se trata :roll: Es el Timer con muchas opciones de configuración.
Saludos!
-
¿ Que programador estais usando con esta placa ?
Quiero comprarme un bicho de estos, y mi duda es que programador necesita.
En Amidata he localizado el ST-LINK/V2, que no se si servirá:
http://es.rs-online.com/web/p/kits-de-desarrollo-de-procesador-y-microcontrolador/7141701/
La placa supongo que es esta, para mi sorpresa, más barata que en los chinos, y eso que Amidata suele ser bastante cara:
http://es.rs-online.com/web/p/kits-de-desarrollo-de-procesador-y-microcontrolador/7458434/
Pues si que es barato, la Rasp Berry Pi tambien la tienen mas barata que en otros sitios. A mi me salio por 27,60 €, ya que la pedi por mi empresa junto a otros productos para el trabajo y me ahorre los portes y el IVA que lo recupera la empresa.
Saludos.
-
Es que no se que leer.. agarro los ejemplos y trato de entenderlos... pero se complica...
-
Buenas... TEngo un pequeño problema con la libreria stm32f4_gpio.c
me da este error!! y todabia no codifique nada.. asi que supongo que es poblemas de include!!
Proyecto.axf: Error: L6218E: Undefined symbol assert_param (referred from stm32f4xx_gpio.o).
Codigo:
#include "stm32f4xx.h"
#include "stm32f4xx_rcc.h"
#include "stm32f4xx_gpio.h"
#include <stdint.h> // definiciones estándar para los números enteros
int main (void) {
while(1) {
}
}
Demas esta decir que agregue a mi proyecto los archivos stm32f4xx_rcc.c stm32f4xx_gpio.c ...
NO se cual es el problema ya no le encuentro la solucion ... Saludos
-
Debe faltar incluir un par de *.h :? Si te bajas por ejemplo STM32F4xx_DSP_StdPeriph_Lib_V1.0.1, vas a \Project\STM32F4xx_StdPeriph_Templates\MDK-ARM tenes un ejemplo para Keil donde muestra la estructura del proyecto, como para utilizar de base.
Saludos!
-
Osea como se cuales son los .h que usa.. yo puse los stm32f4_gpio.h, stm32f4_rcc.h y stm32f4xx.h ...
Ya con eso tendria que andar... las libreria stm32f4_gpio.c, stm32f4_rcc.c y los stm32f4_gpio.h, stm32f4_rcc.h los puse en el mismo directorio que mi proyecto... donde esta el main.c
-
Pero te bajaste el paquete que te comenté? Hay muchos mas *.h que agregar, si ves un proyecto template podes darte cuenta ;-)
Saludos!
-
Suky ya lo vi lo que tu me dices y esta muy piola... El problema es que tengo 500 librerias que no voy a usar.. para que las quiero compilar...
-
Si eso si, pero fíjate que hay otras básicas... core..., startup..., system..., y alguna otra que no recuerdo. Podes tomar el template, comenzar a sacar lo que piensas que no necesitas y ver si compila.
Saludos!
-
I Love Suky!! hice eso antes que me contestaste!! tenemos Telepatía!! Volver con mas dudas a la brevedad!!
-
Buena los molesto por que estoy con el conversor y noto parametro de configuracion que no entiendo que hacen.. Necesitaria si alguien sabe q me una explicacion de ellos y sus distintas opciones:
ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
ADC_InitStructure.ADC_NbrOfConversion = 1;
ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent; //Configura el Modo Independiente o Multiple
ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled;//Configura Acceso directo a memoria
ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles; //Configura retarde de muestreo
Lo mismo me pasa con estos 3 metodos de Configuracion del canal.
ADC_InjectedSequencerLengthConfig(ADC1, 1); //Configura la longitud del secuenciador para los canales de inyección
ADC_SetInjectedOffset(ADC1, ADC_InjectedChannel_1, 0); //Ajuste el valor de los canales de inyección de conversión de desplazamiento
ADC_InjectedChannelConfig(ADC1, ADC_Channel_TempSensor, 1, ADC_SampleTime_480Cycles);//Configura el canal seleccionado para el ADC inyectado
El comentario al lado de cada linea lo puse yo.. Saludos!!!
-
Hola! Por aquí encontré material para iniciarse mas que interesante ;) Espero les sirva.
http://armcortexm.blogs.upv.es/material-del-curso/
Saludos!
-
¿ Sabeis si hay algún entorno de desarrollo con Compilador C, gratuito, para Windows ?
Todo lo que encuentro parece que es de pago, o son versiones Lite muy limitadas (32K ó 1 breakpoint para el Debug).
De pago he localizado el MDK-ARM de Keil, lo que no se es el precio, he enviado un email al distribuidor español a ver que me cuenta.
Voy a comprar la Discovery, y también la BeagleBone Black, a ver si me meto de lleno con los ARM, aunque veo que Microchip está apunto de sacar la serie PIC32MZ a 200Mhz, 2Mb de flash y 512K de Ram, de ser así superaría con creces al STM32F4. :-) :-) :-)
PD: el único compilador C de pago, a un precio decente y asequible que he localizado es el mikroC PRO for ARM de mikroelektronica, por 299 dólares. Los entornos de Keil en Farnell, cuestan barbaridades (de 2500 euros para arriba).
-
Para ARM tenes que combinar Eclipse mas algún toolchain, por ejemplo yagarto.
Saludos!
-
Para ARM tenes que combinar Eclipse mas algún toolchain, por ejemplo yagarto.
Saludos!
Si, gracias, ya descargué el Yagarto, y creo que hay otro entorno gratuito que se llama Coocox.
El Eclipse ya lo tenía instalado, creo que para algo de programación de CPLD o FPGA, no recuerdo exactamente.
Me falta ver como enlazo el Yagarto con el Eclipse.
Lo que me ha parecido entender es que el GDB serviría para hacer Debug, lo que no se es si necesita algún hardware adicional.
También me he instalado una versión limitada del Keil uVision4.
De momento he localizado estas páginas con información y descargas:
http://www.yagarto.de/
http://www.coocox.org/CooCox_CoIDE.htm
http://www.emb4fun.de/arm/gdbserver/index.html
http://armcortexm.micsoftware.es/viewtopic.php?f=13&t=26&sid=f281fe291688c26152c98e3d60fc3c87
PD: corrijo, el Eclipse creo que lo instalé para algo relacionado con Android y Java.
Salu2
-
chicos en Firtec están dictando un curso de ARM Cortex M4 con este micro, y para las practicas se usa esa placa Discovery. Es un curso totalmente practico donde en cada clase se pone pone en practica algo del hardware. Se utiliza Keil como herramienta mas las librerías CMSIS que le da compatibildad con cualquier fabricante de ARM Cortex M4, como los LPCXpreso de NXP; los Stellaris de TEXAS, etc. La verdad que la arquitectura de ARM es muy diferente a la presente en los pics. Les dejo el enlace para que pueden mirar, se que estos cursos los van a dictar a distancia también y no son caros. www.firtec.com.ar
-
Vi en un video de youtube esta placa pero con el reloj subido a 250Mhz. Me puse averiguar en otro sitios, y si llega a 250MHz y sin calentarce mucho y estable sera probarlo.
-
El de un reproductor de archivos AAC(MP4, M4A, M4P), MP3, WAV, JPG, MOV(Motion JPEG) de una china, si está muy bueno.
-
Aqui la nueva discovery !!
Recien salida del horno !!
http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF258515?ecmp=pf258515_enews_mcunl_jul2013 (http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF258515?ecmp=pf258515_enews_mcunl_jul2013)
-
Yo recién compre el stm32f4 discovery y una pregunta con es stlink de esta placa cuales son los pines necesarios para programar a otros micros con SWD aparte de GND y Vdd.
Hay tengo stm32f100 quiero armar una placa de prueba.
Con puerto JTAG con Luminarymicro no tuve problemas.
-
Yo recién compre el stm32f4 discovery y una pregunta con es stlink de esta placa cuales son los pines necesarios para programar a otros micros con SWD aparte de GND y Vdd.
Hay tengo stm32f100 quiero armar una placa de prueba.
Con puerto JTAG con Luminarymicro no tuve problemas.
Usar signos de puntuación por favor!!
Solo se necesita SWCLK y SWDIO, más info: http://www.arm.com/products/system-ip/debug-trace/coresight-soc-components/serial-wire-debug.php
Saludos!
-
Me parece que me salieron malos los micros porque probé el stlink en antigua placa luminarymicro (lm3s818) y si comunica claro no lo graba.
El stlink identifica al stm32f100r6t6 pero no se comunica completamente sale "error en comando" eso no pasa con el luminarymicro.
Si alguien en Perú en lima ya sabe como programar esos micros y hace funcionar los míos le doy 5 chips y un extra por su ayuda.