LusoRobótica - Robótica em Português
Robótica => Tutoriais => Tópico iniciado por: LuísR.A. em 21 de Setembro de 2014, 13:11
-
Boas tardes a todos!
Então eu ando aqui em volta do meu Tiva ja à algum tempo. Começa a aparecer pessoal que quer que lhe ensine por isso criei um blog.
O blog primeiro de tudo ta em inglês. No blog vou pondo umas explicações sobre os perifericos do Tiva. Algo basico sem ir muito aos registos a não ser quando é necessário. Depois mais tarde penso meter algo mais complexo mas por agora é so assim.
Tambem estou a meter codigos exemplos para cada periferico tentado explicar como funcionam. É tudo feito usando TivaWare, uma API da Texas Instruments para evitar andar a mexer muito em registos.
É uma forma de eu tambem ir apontando coisas para mais tarde ir ver mas achei que devia fazer assim para partilhar tanto com o pessoal que ando a ensinar, tanto para qualquer pessoa que precise.
Espero que ajude alguem e qualquer feedback ficava agradecido, nunca fiz algo do género.
Blog:
https://sites.google.com/site/luiselectronicprojects/tutorials
-
Boas tardes a todos!
Então eu ando aqui em volta do meu Tiva ja à algum tempo. Começa a aparecer pessoal que quer que lhe ensine por isso criei um blog.
O blog primeiro de tudo ta em inglês. No blog vou pondo umas explicações sobre os perifericos do Tiva. Algo basico sem ir muito aos registos a não ser quando é necessário. Depois mais tarde penso meter algo mais complexo mas por agora é so assim.
Tambem estou a meter codigos exemplos para cada periferico tentado explicar como funcionam. É tudo feito usando TivaWare, uma API da Texas Instruments para evitar andar a mexer muito em registos.
É uma forma de eu tambem ir apontando coisas para mais tarde ir ver mas achei que devia fazer assim para partilhar tanto com o pessoal que ando a ensinar, tanto para qualquer pessoa que precise.
Espero que ajude alguem e qualquer feedback ficava agradecido, nunca fiz algo do género.
Blog:
https://sites.google.com/site/luiselectronicprojects/tutorials
Boas
A TI ainda não conseguiu recuperar do fiasco dos Stellaris, os Tiva vieram substituir os Stellaris e apesar de
no papel terem umas boas características (nomeadamente timers de 64 bits) o pessoal ainda está queimado
com o tempo que perdeu com os Stellaris, eu fui um deles, varias meses de trabalho para o lixo ... literalmente.
De qualquer forma os parabéns pela iniciativa, vamos ver é desta que a TI consegue alguma quota de mercado.
Penso que ainda tenho para aqui algumas Tiva LaunchPads que usei na altura, se estiveres interessado apita.
Abraços,
PA
-
É assim, está melhor isso de certeza.
Tudo o que sei de programar o Tiva aprendi em 2meses nas ferias. E com isso ja fiz um controlo de fitas ws2812b por DMA com 32 outputs (na nova launchpad tm4c1294).
Por isso sim, definitivamente melhor.
A comunidade do E2E ajudou muito, incluindo empregados ta TI.
Mesmo assim, usar o CCS com o compilador C antigo é um pesadelo. Mas agora tem o GCC e inclui uma forma de importar sketches de Energia, um IDE tipo Arduino. Algumas bugs aqui e ali, mas tens direito a um compilador gratis sem limite de codigo.
Eu uso o IAR Workbench e acho muito facil criar um projecto para o Tiva. Comecei a usar para tambem poder usar com os STM32 mas isso ai ainda nao consegui bem :/
Olha sabes que eles agora tem um ARM-M4 com wifi integrado tudo no mesmo chip?
Se quiseres doar uns Tivas ou vender mais barato para o clube de robotica em que estou pode ser (são stellaris nao?) :p
-
ps: para interessados, a nova linha tm4c1294 ja ta melhor, mas ainda é duvidosa, problema da TI de apressar as coisas.
Para a launchpad serve e eu uso sem grandes problemas, mas ainda nem está a ser produzida em larga escala os MCU por alguma razão, so agora à um mes é que começou a aparecerem à venda, e a launchpad saiu em Março se nao me engano.
Isto da ethernet (esta nao é wifi) integrada tem trazido problemas e tambem tem outras coisas novas como Quad SSI e o modulo I2C tb é diferente. Logo cuidado :P
Ha um bug giro que é por o novo MCU ser tao rapido, o software tem de esperar que as flags do I2C busy levem o update.
A antiga linha TM4C123 (a antiga launchpad) nao tem trazido problemas.
e é sempre fixe quando a luz falta enquanto se está a escrever algo >:(
-
Ja está praticamente acabado a a parte dos timers, https://sites.google.com/site/luiselectronicprojects/tutorials/tiva-general-purpose-timers
e já está ser preparado a proxima parte
Ja está tudo pronto para começar mais a sério ja que temos o material
(https://scontent-b-mad.xx.fbcdn.net/hphotos-xap1/v/t1.0-9/1620544_737317619639219_1827668541745657140_n.jpg?oh=0a4821570e2cf2284ea0d988f5e6bb1b&oe=54B11321)
É para ver se é evitado isto de ter tudo à volta de um computador, ainda por cima que agora somos mais, incluindo um caloiro.
(https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-xaf1/v/t1.0-9/10156113_696648740418311_7505494969513989599_n.jpg?oh=b635fd00ff9fc5709e1c69506e0bdcaa&oe=54C6B93E&__gda__=1422469007_28aa6863de0878c81b2866b01b557d05)
-
Olha sabes que eles agora tem um ARM-M4 com wifi integrado tudo no mesmo chip?
Estás a falar deste: http://pt.mouser.com/Search/ProductDetail.aspx?R=CC3200-LAUNCHXLvirtualkey59500000virtualkey595-CC3200-LAUNCHXL (http://pt.mouser.com/Search/ProductDetail.aspx?R=CC3200-LAUNCHXLvirtualkey59500000virtualkey595-CC3200-LAUNCHXL) ?
Mandei vir 1 agora. Pelo que me disseram é bastante engraçado e o preço é apelativo.
-
Eu tenho este launchpad aqui, comprei para seguir um curso no edx, e gostei bastante, mas gostava de usar IDE opensource, será que alguem conhece alguma coisa para este launchpad ?
Que IDE e compiler usam para isto ?
-
Olha sabes que eles agora tem um ARM-M4 com wifi integrado tudo no mesmo chip?
Estás a falar deste: http://pt.mouser.com/Search/ProductDetail.aspx?R=CC3200-LAUNCHXLvirtualkey59500000virtualkey595-CC3200-LAUNCHXL (http://pt.mouser.com/Search/ProductDetail.aspx?R=CC3200-LAUNCHXLvirtualkey59500000virtualkey595-CC3200-LAUNCHXL) ?
Mandei vir 1 agora. Pelo que me disseram é bastante engraçado e o preço é apelativo.
Ja vi usarem com uma camara e fazer stream pela net.
Eu cravei uma à texas mas só la para fim de outubro é que me a dão
-
Eu tenho este launchpad aqui, comprei para seguir um curso no edx, e gostei bastante, mas gostava de usar IDE opensource, será que alguem conhece alguma coisa para este launchpad ?
Que IDE e compiler usam para isto ?
Eu uso o CCS da texas instruments agora. É baseado em Eclipse.
Podes sempre usar o Eclipse + GNU. o CSS tem a opção de usar o GNU por isso é quase igual.
Ha tambem o Energia. Usa o GNU como compilador. O Energia é feito para programar tipo Arduino mas podes usar para programar com registos ou TivaWare. Claro que assim é menos eficiente o codigo
-
E qual é o GNU ?
Estás-te a referir a este, gcc-arm-none-eabi ?
-
E qual é o GNU ?
Estás-te a referir a este, gcc-arm-none-eabi ?
Sim é o GCC. Já não me lembro o pq de tb se chamar GNU:p
-
E tens libs para delays, serial e coisas assim mais básicas ? para o GCC.
-
Quais libs? :p
Andaste a fazer um curso so a programar em registos e queres libs?
Ha o TivaWare que so ajuda a tornar mais facil programar em registos, podes ver no site como é. Tem Delays que sao apenas 3 instruções NOP.
É assim que se faz um delay mesmo: https://sites.google.com/site/luiselectronicprojects/tutorials/tiva-general-purpose-timers/timer-delay
Para serial tens sorte isso sim. No TivaWare ha o API para UART (serial), mas ainda ha o UARTStudio que torna muito parecido ao imprimir na consola em C. Isso ainda nao dei aula disso por isso nao ta no site, mas é a proxima parte. Tanto com o API de UART como o UARTStudio
O TivaWare dá para usar com o GCC. Funciona como uma lib, mas ha coisas que nao estão num ficheiro que é identificado como biblioteca, em vez disso são simplesmente includes de macros
No Energia programas como Arduino e ai sim ha bibliotecas aos montes
-
Sim libs se não as há terei de as fazer mais tarde ou mais cedo, e registos usas sempre, se quiseres fazer a coisa como deve de ser claro.
É sempre prático ter já feito algo como, delay_ms(time), para não perder tempo.
Mas estás a dar um curso com este lauchpad ?
-
Sim libs se não as há terei de as fazer mais tarde ou mais cedo, e registos usas sempre, se quiseres fazer a coisa como deve de ser claro.
É sempre prático ter já feito algo como, delay_ms(time), para não perder tempo.
Mas estás a dar um curso com este lauchpad ?
Olha que raramente tive de usar registos tendo o TivaWare, é praticamente so uma forma de controlar se fazes asneira e de nao teres de decorar todos os registos. Só quando nao ha uma função para isso ou quero o codigo mesmo rapido.
Tou a ensinar aos meus colegas a trabalhar com. Não é bem um curso. Eu mesmo ainda tou a aprender, um ARM-M4 tem tanta coisa.
E coisas como dos compiladores e isso sou mesmo noob ainda.
O site é para os ajudar e ter um sitio com tudo guardado com codigos e tal, e assim pus em ingles para quem precisar.
-
Sim libs se não as há terei de as fazer mais tarde ou mais cedo, e registos usas sempre, se quiseres fazer a coisa como deve de ser claro.
É sempre prático ter já feito algo como, delay_ms(time), para não perder tempo.
Mas estás a dar um curso com este lauchpad ?
Ah ja agora, aquilo permite fazer um delay com os timers, que era para mostrar funções dos timers.
Mas o Tiva tem um timer dedicado, o System Tick que é melhor para isso.
Ainda nao meti nada sobre disso porque nao falei sobre o system tick. Tenho ver se até ao proximo fim de semana trato disso. Esta semana vai ser muito complicado por isso nao sei
-
Gostei, muita informação util, conhesso o system tick, mas o que usei foi o Keil, com a papinha toda já feita.
Por isso queria um compilador GNU, mas as rotinas de delay em qualquer micro são sempre delicadas a precisam ser super precisas. A partir dai desenrasco-me.
-
A ideia é aprenderem pelo menos o suficiente para participarem no concurso robo bombeiro e depois micro-mouse.
Logo vou adicionando ao longo do semestre mais info e codigos.
Olha se reparares no tutorial de como criar um projecto, eu mostro como ter um projecto de começo e é so ir importando.
Começa ja com os paths, includes e o system tick configurado
-
Vá agora até tem comentarios (raio do google sites tem um sistema estupido) para qualquer pergunta que possa surgir.
https://sites.google.com/site/luiselectronicprojects/discussion-questions
(eu ando aqui a meter actualizações mas aqui ninguem se interessa pelo tiva neh? :P)
-
Eu gosto do tiva e tenho aqui um, mas não tenho tido muito tempo para mexer nele, nem tenho nenhum projecto de momento para utilizá-lo.
-
Peço desculpas se escolho o local errado para postar minha dúvida mas me pareceu o mais apropriado em função do assunto (TIVA).
Estou tentando fazer a comunicação via SPI de um SD card com uma placa com o TM4C1294 usando uDMA. Conforme meu entendimento eu necessito sempre gerar clock através de escrita via MOSI, de sorte a receber dados no pino de leitura da SPI (MISO), isto é básico nas transferências via SPI, o master tem que gerar o clock para escrita e leitura.
Minha dúvida reside na necessidade ou não de disparar um uDMA de escrita afim de que estes dados (dummies), gerem o clock necessário para leitura dos 512 bytes de um setor do SD card.