LusoRobótica - Robótica em Português

Discussão Geral => Off-topic => Tópico iniciado por: Kristey em 19 de Junho de 2014, 03:01

Título: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: Kristey em 19 de Junho de 2014, 03:01
Existe algum editor de texto que me permita uma integração facil e produtiva com as diferentes plataformas que referi em cima?
Estou farto do "IDE do processing", tudo igual e identação fora das normas.

Gostava de integrar no xCode, mas ja vi que é bastante dificil depois para programar.
Estive a pensar tambem no Sublime mas nao consegui por a funcionar
Outro que pensei foi o TextWranger, mas tambem não consegui instalar a linguagem.
Estou a tentar primeiro para o Arduino.
E como ja sabem para o meu MAC, não para windows.
Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: senso em 19 de Junho de 2014, 03:28
Queres o quê?
Um IDE?
Um editor de texto?
Um editor de texto com um botão mágico que trata de gerar makefiles, compilar código e fazer upload do mesmo?

Bem vindo ao maravilhoso mundo do unix, em que existem mil sabores, todos diferentes, e raramente dois combinam.

Se queres editar texto, podemos já começar pela guerra religiosa eMacs(OS) vs (g)vi(m).
Já usei gvim durante algum tempo, depois de se conhecer meia duzia de atalhos e funções é usável, desde que tenho Visual Studio para os Atmegas, não quero mais nada, peço desculpa a todos os crentes nos editores do século passado com contexto modal(texto e comandos), mas acho o VS anos luz á frente, e muito mais prático.

Depois tens coisas como Code Blocks, EM Blocks, Eclipse(e os seus plugins que podem ou não funcionar out of the box), Geany, bla bla bla, podemos estar aqui semanas a listar IDE's e pseudo-IDE's.

Se queres uma coisa que seja estilo IDE processing mais melhor, não me parece que haja algum que seja sacar e funcionar nas plataformas que referes.

Aprende a usar makefiles, ou muda para os IDE's oficiais de cada fabricante(podem ter limites de código), se for esse o caso, makefiles e o editor de texto que preferires.
Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: Kristey em 19 de Junho de 2014, 12:27
Obrigado pela ajuda drops
O meu objectivo como te disse à uns tempos é aprender a trabalhar com ATMEGAS e não com ARDUINO como faço agora para ir aprendendo.
Contudo neste momento nao tenho o minimo de tempo para isso e com os exames ainda pior. (a seu tempo faço aquele post de duvidas para me ajudares com a programação mais baixo nivel dos "bichos"

Neste momento eu queria mudar de editor, visto que o IDE do arduino é snob. (não faz uma boa identação, a distinção das diferentes estruturas/operadores/condições, é pouco poderosa.

Pelo que estou a ver nao existe algo que possa editar o codigo e fazer o upload.
Sendo assim terei de o desenvolver, e depois copiar para o ide do Arduino certo?
O "engine" do sublime agrada-me, eu pensei que os plugins era para criar uma interação com o IDE Arduino(visto que o mesmo tambem tem la uma opção que é, "usar editor externo"
Não sei é por isso a trabalhar decentemente!
Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: msr em 19 de Junho de 2014, 12:58
Bem, não querendo estar constantemente a "puxar a brasa à minha sardinha", mas fazendo-o na mesma poque acho sinceramente vai ter interesse para o caso: fica atento à qkthings.com (http://qkthings.com).

Neste caso, a qkthings vai ter um IDE, parecido ao do Arduino mas melhor:
- code completion, syntax highlighting mais "customizável", auto-identação
- é um editor de texto "normal", isto é, não tem a manhosice "à lá" Arduino de tabs com código que depois são convertidas num só ficheiro que já inclui a função main, etc. Desse modo, podes usa-lo como bem entenderes, usando bibliotecas especificas da qkthings ou programando os micros "bare bones".
- possibilidade de compilar o mesmo código para diferentes microcontroladores (suporte inicial para atmegas/arduinos e um ARM Cortex que por agora é surpresa). Basta seleccionar numa combobox qual o micro e a board para a qual se pretende compilar/fazer upload.

De resto, é como o senso diz. Se o quiseres fazer por ti (e que é de forma geral o que tenho feito na qkthings) tens de arranjar uma toolchain (compilador, codigo base - linkers e startup code, makefiles) para cada micro que pretendes utilizar. Com isso, linha de comandos e editor de texto da tua preferência, podes fazer tudo. Um exemplo: podes utilizar o Eclipse IDE para editar apenas o código e o resto fazeres pela linha de comandos, ou podes ter tudo integrado no IDE através de plugins (ver o AVR plugin, por exemplo).

Ainda sobre a qkthings: vai ser cross-platform e completamente open-source pelo que, embora te dê a possibilidade de não te teres de preocupar com diferentes toolchains, permite-te aprender como as coisas são feitas "por baixo".

Enquanto isso, e como deves estar interessado em aprender coisas já agora, a minha sugestão é: usa um editor de texto que te agrade (eclipse, sublime) e faz o resto pela linha de comandos.
Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: Njay em 19 de Junho de 2014, 12:59
Eu uso o "programmer's notepad 2" (PN2), vem com o winavr (e com o arduino, o arduino trás o winavr). Uso makefiles e no PN2 tenho teclas associadas à compilação, fuses e upload; mas em geral qq editor de código permite associar teclas a comandos externos, pelo que podes integrar a makefile com qq um.
Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: dio123 em 19 de Junho de 2014, 13:29
Ainda nao tive oportunidade de explorar bem as coisas, mas programar, compilar e enviar para o AVR no mac osx .

Eclipse consegui fazer os 3 usando o exemplo básico blink, depois tentei juntar a minha LIB do lcd e dá erro.
Xcode só consegui compilar o blink tudo o resto dá erro.

A minha solução neste momento é usar Crossover com o AVR Studio 4, e depois para enviar os ficheiros uso  o AVR FUSES.

Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: jmiguelff em 19 de Junho de 2014, 15:07
http://www.ladyada.net/learn/avr/setup-mac.html (http://www.ladyada.net/learn/avr/setup-mac.html)

Isto é só para AVR. Mas depois o principio é o mesmo alteram os compiladores.

PS: Não vais ter as bibliotecas do Arduino... a ideia é programar AVR em C e não usar C++ do Arduino. É possível usar as bibliotecas Arduino mas dá mais trabalho.
Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: StarRider em 19 de Junho de 2014, 16:54

Edlin ! O melhor editor de todos os tempos ... quem não conhecer é só goglar  ;D

Não percebi bem esta definição do conjunto "AVR[Arduino/Stelarius/MSP]", os parênteses rectos
neste caso servem para definir um limite ou um conjunto ?

Ok, tirando este preciosismo,  se a ideia é usar UM editor com diversas toolchains para AVR da
Atmel e  Stellaris + MSP da TI sem duvida que a solução (possivelmente a única) é o Eclipse.

É claro que meter o arduino ao barulho é ... para ser sincero o melhor é
deixar essa coisa de fora.

Abraços,
PA

Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: StarRider em 19 de Junho de 2014, 17:03
Boas,

Só em adendum ... é claro que se os euros não forem problema existe sempre o IAR, com
compiladores para esses (e outros) cores, e com uma interface comum a todos.

Penso que a IAR tem soluções para diversos OSs ... mas desde 2002 que não uso IAR por
isso posso estar enganado nesta questão.

Abraços,
PA
Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: dio123 em 19 de Junho de 2014, 17:21
Já usei o visual Studio e o Avr studio 4 para compilar da mesma maneira como estive-se a usar a aplicação Arduino.
Resultado da experiencia, é completamente estúpido e dá trabalho a configurar tudo, que mais vale usar a aplicação arduino.

Agora usar apenas o hardware arduino, e usar outra aplicação para compilar ei sim já faz todo o sentido.

http://www.obdev.at/products/crosspack/index.html (http://www.obdev.at/products/crosspack/index.html) identico ao winavr do windows.   
Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: senso em 19 de Junho de 2014, 17:38
Das duas uma, problema das bibliotecas ou problema entre o teclado e a cadeira..
Uso o Visual Studio 6 desde que saiu, tenho projectos com dezenas de ficheiros, quanto ao configurar, são 2 minutos, e prefiro carregar em 3 botões que escrever makefiles.
Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: Njay em 19 de Junho de 2014, 20:38
Todas as toolchains decentes têm o make, em particular o gmake (gnumake) se forem baseadas em GCC. Se fizerem as vossas makefiles sempre com os mesmos targets para as mesmas operações (por exemplo "compile" para compilar, "config" para fuses e afins, "upload" para carregar código, etc etc) os mesmos comandos servem para as mesmas operações seja qual for a plataforma. Se definirem uma directoria para a makefile (por exemplo <projecto>/build/), outra para o código (por exemplo <projecto>/src/) e configurarem a "external tool" para correr a partir da directoria <dir-do-ficheiro-actual>/../build/), os comandos para compile/upload/... funcionam sempre que tiverem aberto um ficheiro de código do respectivo projecto e invocarem a tool externa. A partir daí qualquer editor que suporte o mecanismo básico de invocar tools externas serve. Digam o que disserem as makefiles são "muito boas"... e há gmake em todas as plataformas, ao contrário de visuais studios e afins...
Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: jmiguelff em 20 de Junho de 2014, 11:57
Njay era de fazer um mini tutorial sobre o conceito make. Pelo menos no GNU.

Apesar de ser uma ferramenta interessante para mim o make torna-se rápidamente muito complexo quando tens um projecto com muitos source files onde queres também correr testes e ter uma determinada ordem de compilação etc etc...

PS: Sou a favor da utlização do make na mesma, só acho que não é assim tão simples quando se trata de projectos com muitas dependências...

Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: msr em 20 de Junho de 2014, 12:19
Njay era de fazer um mini tutorial sobre o conceito make. Pelo menos no GNU.

Apesar de ser uma ferramenta interessante para mim o make torna-se rápidamente muito complexo quando tens um projecto com muitos source files onde queres também correr testes e ter uma determinada ordem de compilação etc etc...

PS: Sou a favor da utlização do make na mesma, só acho que não é assim tão simples quando se trata de projectos com muitas dependências...

Acho que estás a desvalorizar a utilidade do makefile pelo facto de desconheceres algumas das suas potencialidades. O make é especialmente util precisamente quando tens projectos com muitos ficheiros e bibliotecas.
O makefile pode procurar "automaticamente" os ficheiros por ti, bastando passar-lhe as pastas onde tens os ficheiros (source e headers). Quanto às dependências, se forem bibliotecas, basta indicares onde estão os headers (em geral a pasta "include") e o caminho para a biblioteca. Algo deste género: INCLUDEDIR += <lib_include_dir>, LIBS += -L<lib_path> -l<lib_name>
Também podes garantir a ordem de compilação. Se quiseres correr testes podes ter um "target" só para esse efeito, algo deste género "make test TEST=<test_name>".
Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: josecoelho em 21 de Junho de 2014, 10:16
Olá,
Eu uso o Sublime Text, porque não pensei que o VS funcionasse. Alguém me consegue indicar um local para ir ver ou me explica como o posso fazer?

Cumprimentos,
José Coelho
Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: dio123 em 24 de Junho de 2014, 14:12
Boa tarde,
@senso com prática depois é rápido a configurar os projectos,  eu quando experimentei foi na altura que saiu o visual studio 2010, mas preferi usar o avr studio 4.

Para o pessoal MAC OS X, tenho tido algum tempo e estive a explorar um pouco o google e até agora os resultados foram:
Eclipse, é instalar os plugins e depois configurar o programador. Depois é criar projecto escolher MCU, programar e fazer upload. Testei o blink e a biblioteca do lcd.  (
Se funcionar sem problemas tiro o  crossover com avrstudio 4)

Xcode: Usando o template Crosspack, consegui compilar o blink, depois tentei o biblioteca do lcd, mas dá-me erro

Sublime Text: não consegui nada, sacei packpages consigo criar projecto, e dai não consigo fazer build.
Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: Njay em 24 de Junho de 2014, 15:04
Njay era de fazer um mini tutorial sobre o conceito make.
O manual do gmake está disponível on-line no site da GNU :) . O make faz cenas "do arco da velha", mas não é preciso saber muito para tirar muita utilidade daquilo. Posso publicar a minha Makefile de projectos AVR se quiserem, escrevi-a uma vez há uns anos e agora é sempre a mesma, só muda a lista de ficheiros e coisas minimas como o chip/clock de uns projectos para outros.
Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: jmiguelff em 25 de Junho de 2014, 12:23
Não estou a descredibilizar o make aliás eu uso-o todos os dias e gosto bastante.

Mas percebo que para quem está a começar não é de fácil utilização. Quando começas a ter muitas bibliotecas e queres compilar para diferentes targets as coisas começam a ficar mais complexas.

Como o NJay diz o make dá para fazer coisas "do arco da velha" e penso que é uma ferramenta interessante para perceber como é que os binários são gerados, algo que o "IDE" Arduino não mostra.

Eu não tenho nenhum Makefile para AVR mas era fixe o pessoal publicar os seus Makefiles até para comparar e pode ser que também se aprenda alguma coisa. :D

Já agora o manual:

http://www.gnu.org/software/make/manual/make.html (http://www.gnu.org/software/make/manual/make.html)


 

Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: josecoelho em 25 de Junho de 2014, 15:52
Boa tarde,
@senso com prática depois é rápido a configurar os projectos,  eu quando experimentei foi na altura que saiu o visual studio 2010, mas preferi usar o avr studio 4.

Para o pessoal MAC OS X, tenho tido algum tempo e estive a explorar um pouco o google e até agora os resultados foram:
Eclipse, é instalar os plugins e depois configurar o programador. Depois é criar projecto escolher MCU, programar e fazer upload. Testei o blink e a biblioteca do lcd.  (
Se funcionar sem problemas tiro o  crossover com avrstudio 4)

Xcode: Usando o template Crosspack, consegui compilar o blink, depois tentei o biblioteca do lcd, mas dá-me erro

Sublime Text: não consegui nada, sacei packpages consigo criar projecto, e dai não consigo fazer build.
Quanto ao Sublime Text a mim funciona sem problemas. O eclipse e o vs, para um novato, é fácil de meter a funcionar?
Título: Re: Editor de texto para AVR[Arduino/Stelarius/MSP]
Enviado por: Njay em 26 de Junho de 2014, 02:07
Tive que dar uns toques na Makefile porque já não me lembrava que tenho um sistema "lá por trás" mais complexo :) . Mas cá fica, são 2 makefiles, o ficheiro Makefile é para adaptar por projecto e fica na directoria do mesmo, o ficheiro Makefile.env é partilhado por todos os projectos e fica num único local (por exemplo a directoria raíz dos vossos projectos) e é onde se indicam os executáveis para as várias ferramentas (compilador, programador, ...). Ambos os ficheiros têm que ser adaptados ao vosso caso, o .env apenas 1 vez e o outro por projecto.

Se tiverem mais do que 1 ficheiro C têm que o adicionar à var OBJ no inicio, e no fim do ficheiro colocar dependências "especiais" se as tiverem (se por exemplo um ficheiro tiver um .h vosso de que depende).