Ir ao conteúdo

Compilando para Teensy 3.0 no Windows utilizando Makefile

Boa tarde,

Se você não quer utilizar a Arduino IDE (Teensy IDE?) para programar e enviar seus códigos para o Teensy 3.0 você pode utilizar o Makefile.

A última versão da IDE por enquanto você consegue no Forum do PJRC . Como ele diz, existe um exemplo de Makefile na pasta: “arduino-1.0.3\hardware/teensy/cores/teensy3” porém para utiliza-lo você precisa fazer alguns passos como adicionar o “arduino-1.0.3\hardware\tools\arm-none-eabi\bin” ao seu PATH para que possa utilizar os executaveis desta pasta tranquilamente. Para isso abra o seu Prompt de Comando: Iniciar – Executar – CMD

E em seguida insira o seguinte comando:

PATH = %PATH%;C:\CAMINHO_PARA_O_ARDUINO\arduino-1.0.3\hardware\tools\arm-none-eabi\bin

[Se você não quer entender as modificações que eu realizei va para o final da publicação]

Para garantir que não estragaria o arquivo, fiz uma copia completa do diretório. Em seguida ao executar o

cs-make.exe

Recebia a seguinte mensagem de erro:

C:\CAMINHO_PARA_O_ARDUINO\arduino-1.0.3\Projects\Example_not_working>cs-make.exe
C:/Users/X-warrior/Desktop/tools/arm-none-eabi/bin/arm-none-eabi-gcc -Wall -g -Os -mcpu=cortex-m4 -mthumb -nostdlib -MMD -DF_CPU=48000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I. -c -o analog.o analog.c
process_begin: CreateProcess(NULL, C:/Users/X-warrior/Desktop/tools/arm-none-eabi/bin/arm-none-eabi-gcc -Wall -g -Os -mcpu=cortex-m4 -mthumb -nostdlib -MMD -DF_CPU=48000000 -DUSB_SERIAL -DLAYOUT_US_ENGLISH -I. -c -o analog.o analog.c, …) failed.
make (e=2): The system cannot find the file specified.
cs-make.exe: *** [analog.o] Error 2

Verificando o Makefile decidi alterar as configurações das váriaveis para caminho completo já que eu fiz uma copia do teeensy/core.
TOOLSPATH = C:\CAMINHO_PARA_O_ARDUINO\arduino-1.0.3\hardware\tools
LIBRARYPATH = Deixei como estava
COMPILERPATH = C:\CAMINHO_PARA_O_ARDUINO\arduino-1.0.3\hardware\tools\arm-none-eabi\bin

O erro continuou o mesmo, continuando a entender o código percebi os “abspath” e pensei que poderia estar dando problema por eu estar usando caminhos absolutos então removi todos os “$(abspath” lembrando que o mesmo possui um parêntesis que fecha o comando. Então por exemplo:

$(abspath $(COMPILERPATH)) ficará $(COMPILERPATH)

Tentando compilar novamente com cs-make, iniciou a compilar mas no final aconteceu o seguinte erro:

C:\Users\X-warrior\Desktop\arduino-1.0.3\hardware\tools\arm-none-eabi\bin/arm-none-eabi-objcopy -O ihex -R .eeprom main.elf main.hex
C:\Users\X-warrior\Desktop\arduino-1.0.3\hardware\tools/teensy_post_compile -file=main -path= -tools=C:\Users\X-warrior\Desktop\arduino-1.0.3\hardware\tools
Opening Teensy Loader…
Teensy Loader could not find the file main
cs-make.exe: *** [main.hex] Error 1

Analisando o arquivo encontrei: “path=$(shell pwd)” e me pareceu que pwd não era um comando válido de shell em windows. Testei no console, e não era. Então alterei para “path=$(shell echo %cd%)”. Antes de compilar novamente decidi tentar limpar os arquivos que já foram gerados com cs-make clean

O erro encontrado foi:

C:\Users\X-warrior\Desktop\arduino-1.0.3\Projects\Example_not_working>cs-make.exe clean
rm -f *.o *.d main.elf main.hex
process_begin: CreateProcess(NULL, rm -f *.o *.d main.elf main.hex, …) failed.
make (e=2): The system cannot find the file specified.
cs-make.exe: *** [clean] Error 2

E me pareceu que ele estava chamando rm -f no windows o que também não é um comando válido. Alterei o comando rf para:

del *.o
del *.d
del $(TARGET).elf
del $(TARGET).hex

Com isso consegui limpar os arquivos. E tentei compilar novamente e funcionou! Realizei uns testes alterando o main.cpp e estava sendo compilado e enviado ao meu Teensy 3.0 como deveria ser. De qualquer forma trabalhar com todos aqueles arquivos e os meus juntos seria um tanto quanto trabalhoso, então copiei todos os arquivos com exceção do Makefile e do main.cpp para teensy/ dentro do meu projeto. Assim eu conseguiria compilar com o Makefile sem ter todos os arquivos em uma confusão. Alterei os CPP e C files para:

C_FILES := $(wildcard *.c) \
$(wildcard $(addprefix teensy/, *.c)) \
$(wildcard $(addprefix teensy/util, *.c)) \
$(wildcard $(addprefix teensy/avr, *.c))
CPP_FILES := $(wildcard *.cpp) \
$(wildcard $(addprefix teensy/, *.cpp)) \
$(wildcard $(addprefix teensy/util, *.cpp)) \
$(wildcard $(addprefix teensy/avr, *.cpp))
OBJS := $(C_FILES:.c=.o) $(CPP_FILES:.cpp=.o)

As configurações do linker para:

LDFLAGS = -Os -Wl,–gc-sections -mcpu=cortex-m4 -mthumb -Tteensy/mk20dx128.ld

E para ficar consistente:

$(TARGET).elf: $(OBJS) teensy/mk20dx128.ld
$(CC) $(LDFLAGS) -o $@ $(OBJS)

E encontrei o seguinte erro:

teensy/keylayouts.c:1: fatal error: avr/pgmspace.h: No such file or directory
compilation terminated.
cs-make: *** [teensy/keylayouts.o] Error 1

Alterei as CPPFLAGS para:

CPPFLAGS = -Wall -g -Os -mcpu=cortex-m4 -mthumb -nostdlib -MMD $(OPTIONS) -I. -Iteensy/

E também lembrei que o clean deveria ser alterado para:

clean:
del *.o
del *.d
del $(TARGET).elf
del $(TARGET).hex
del $(CURRENT_PATH)\teensy\*.o
del $(CURRENT_PATH)\teensy\*.d

E adicionei:

CURRENT_PATH=$(shell echo %cd%)

Logo após as configurações que não devem ser alteradas pelo usuário. Com isso consegui utilizar o Makefile no Windows 7 para compilar e fazer upload para o Teensy 3.0 e mantendo os arquivos separados.

Resumo:
Você deve editar as váriaveis TOOLSPATH , COMPILERPATH e LIBRARYPATH para o seu caminho COMPLETO.
Em seguida crie uma pasta para o seu projeto “Meu_Projeto”
Crie uma pasta dentro dela chamada “teensy” (Meu_Projeto/teensy/)
Copie “arduino-1.0.3\hardware/teensy/cores/teensy3/” para “Meu_Projeto/teensy/” (os sub-diretórios também, mas o Makefile não)
Adicione o Makefile que você encontra no final deste post em “Meu_Projeto”
Copie o arquivo “Meu_Projeto/teensy/main.cpp” para o “Meu_Projeto/main.cpp”
Programe apartir do main.cpp
Compile e faça Upload com cs-make

Makefile para Teensy no Windows

Espero que seja útil,
Matheus

Publicado emCcppTeensywindows

1.802 Comentários

  1. В данной обзорной статье представлены интригующие факты, которые не оставят вас равнодушными. Мы критикуем и анализируем события, которые изменили наше восприятие мира. Узнайте, что стоит за новыми открытиями и как они могут изменить ваше восприятие реальности.
    Лучшее решение — прямо здесь – http://capriccio3.com/?p=3527

  2. В данной обзорной статье представлены интригующие факты, которые не оставят вас равнодушными. Мы критикуем и анализируем события, которые изменили наше восприятие мира. Узнайте, что стоит за новыми открытиями и как они могут изменить ваше восприятие реальности.
    Лучшее решение — прямо здесь – http://capriccio3.com/?p=3527

  3. В этой статье вы найдете познавательную и занимательную информацию, которая поможет вам лучше понять мир вокруг. Мы собрали интересные данные, которые вдохновляют на размышления и побуждают к действиям. Открывайте новую информацию и получайте удовольствие от чтения!
    Смотрите также – http://oldsite.giessen46ers.de/fantalk/viewtopic.php?f=1&t=153030

  4. Эта статья погружает вас в увлекательный мир знаний, где каждый факт становится открытием. Мы расскажем о ключевых исторических поворотных моментах и научных прорывах, которые изменили ход цивилизации. Поймите, как прошлое формирует настоящее и как его уроки могут помочь нам строить будущее.
    Смотрите также – https://template155.webekspor.com/empowering-rural-communities-through-sustainable-fuel-production-2

  5. В этой публикации мы предлагаем подробные объяснения по актуальным вопросам, чтобы помочь читателям глубже понять их. Четкость и структурированность материала сделают его удобным для усвоения и применения в повседневной жизни.
    См. подробности – https://apee.bg/%D1%81%D0%B5%D1%80%D0%B8%D0%B0%D0%BB%D0%B0-%D1%87%D0%B5%D1%80%D0%BD%D0%BE%D0%B1%D0%B8%D0%BB

  6. Статья знакомит с важнейшими моментами, которые сформировали наше общество. От великих изобретений до культурных переворотов — вы узнаете, как прошлое влияет на наше мышление, технологии и образ жизни.
    Как это работает — подробно – https://www.littlemissmomma.com/2013/01/how-to-make-baby-rice-cereal-from-scratch.html

  7. В Тольятти клиника «ВолгаМед Баланс» принимает пациентов круглосуточно, обеспечивая оперативное вмешательство при острых состояниях. Наркологическая помощь здесь организована на высоком медицинском уровне: процедуры проходят под наблюдением врачей, используются только сертифицированные препараты, а каждая манипуляция фиксируется в медицинской карте пациента. Это позволяет контролировать динамику восстановления и минимизировать риски осложнений. В клинике работают наркологи, терапевты, психиатры и психологи, что обеспечивает комплексный подход и эффективность лечения.
    Подробнее – http://narkologicheskaya-klinika-tolyatti0.ru/tolyatti-narkologicheskij-dispanser/

  8. Этот информативный текст выделяется своими захватывающими аспектами, которые делают сложные темы доступными и понятными. Мы стремимся предложить читателям глубину знаний вместе с разнообразием интересных фактов. Откройте новые горизонты и развивайте свои способности познавать мир!
    Продолжить чтение – https://tecudi.com/descubra-a-loja-de-produtos-inovadores-que-vai-transformar-sua-rotina

  9. Danielheemi Danielheemi

    Тендерный специалист помогает разобраться в особенностях каждого закона, а также обеспечивает грамотное сопровождение всех процедур. Это особенно важно для компаний, которые только начинают участвовать в торгах и не имеют опыта работы с государственными контрактами.
    Не оставайтесь в неведении – [url=https://tendernoe-soprovozhdenie-rostov-na-donu.ru/]участие в тендерах госзакупок в ростове на дону[/url]

  10. Anthonytom Anthonytom

    В материале приведены детали, интересные, но не особенно важные. Мы рассматриваем аспекты, которые сложно назвать существенными, но включили их для большей полноты.
    Подробнее читать – купить строительные материалы

  11. KevinArtep KevinArtep

    Помощь 24/7 означает, что нарколог на дом в Хабаровске может быть направлен в любое время суток, включая ночные часы и выходные дни. В клинике «Ясный Вектор» выездная служба функционирует с учётом логистики города, что позволяет минимизировать время ожидания врача.
    Подробнее – психиатр нарколог на дом

  12. Вызов нарколога на дом в Хабаровске осуществляется при наличии клинических показаний, при которых выездная помощь является обоснованной и безопасной. В клинике «Ясный Вектор» решение о формате вмешательства принимается с учётом жалоб, анамнеза и предполагаемой тяжести состояния.
    Подробнее можно узнать тут – https://narkolog-na-dom-khabarovsk0.ru

  13. DarinCyday DarinCyday

    Вызов специалиста на дом рекомендуется, если запой затягивается и самостоятельное прекращение пьянства становится невозможным. Своевременное обращение помогает предотвратить ухудшение состояния, развитие хронических осложнений и негативное воздействие на психику.
    Получить дополнительные сведения – вызов нарколога на дом в иркутске

  14. Anthonybic Anthonybic

    Наркологическая клиника в Новосибирске — это специализированное медицинское учреждение, предоставляющее комплексную помощь пациентам с различными формами зависимости. Использование современных методов диагностики и терапии позволяет достигать устойчивых результатов в лечении алкогольной, наркотической и других зависимостей. В клинике «Преодоление» работают опытные специалисты, разрабатывающие индивидуальные программы с учётом особенностей каждого пациента.
    Получить дополнительную информацию – наркологическая клиника вывод из запоя

  15. Anthonytom Anthonytom

    В материале приведены детали, интересные, но не особенно важные. Мы рассматриваем аспекты, которые сложно назвать существенными, но включили их для большей полноты.
    Подробнее читать – купить керамический блок

  16. Anthonytom Anthonytom

    В материале приведены детали, интересные, но не особенно важные. Мы рассматриваем аспекты, которые сложно назвать существенными, но включили их для большей полноты.
    Подробнее читать – кирпич строительный цена

  17. Brianwatry Brianwatry

    Когда состояние алкогольной интоксикации достигает критических уровней, своевременное вмешательство становится жизненно необходимым. В Мариуполе, Донецкая область, высококвалифицированные наркологи оказывают срочную помощь на дому, позволяя оперативно начать детоксикацию и стабилизировать состояние пациента. Такой формат лечения обеспечивает быстрый выход из кризиса в условиях комфорта и конфиденциальности, что особенно важно для тех, кто не может позволить себе задержки в стационарном лечении.
    Подробнее тут – http://narcolog-na-dom-mariupol00.ru/narkolog-na-dom-kruglosutochno-mariupol/

  18. Лечение начинается с всестороннего обследования, которое позволяет оценить стадию зависимости и общее состояние пациента. Это обследование помогает сформировать персонализированную программу терапии, учитывающую все особенности конкретного случая. Медикаментозное лечение направлено на детоксикацию, устранение абстинентного синдрома и поддержку функций жизненно важных органов.
    Получить дополнительные сведения – http://narkologicheskaya-klinika-omsk0.ru/narkologiya-kruglosutochno-omsk/

  19. Специалисты применяют методы когнитивно-поведенческой терапии, мотивационного консультирования и техники релаксации. Такие подходы помогают пациенту изменить негативные установки, научиться управлять своими эмоциями и сформировать здоровые модели поведения. Это способствует не только скорейшему выздоровлению, но и долгосрочному поддержанию трезвости.
    Углубиться в тему – http://vyvod-iz-zapoya-krasnoyarsk66.ru/

  20. Georgesloma Georgesloma

    Для сохранения приватности мы ведём коммуникацию через одного доверенного представителя, используем нейтральные формулировки в документах, а инструкции выдаём в неброском виде. При невозможности создать тишину дома (ремонт, маленькие дети, гости) предложим краткий «тихий» стационар с отдельным входом и камерным режимом, после чего сопровождение вернётся в домашний формат.
    Подробнее тут – http://vyvod-iz-zapoya-v-ekaterinburge16.ru/vyvod-iz-zapoya-v-staczionare-ekaterinburg/

  21. Затянувшийся запой — это состояние, которое опасно не только выраженной интоксикацией, но и непредсказуемыми осложнениями со стороны сердца, нервной системы и обмена веществ. В наркологической клинике «БайкалМедЦентр» (Улан-Удэ) услуги экстренного вывода из запоя организованы в формате «одного окна»: круглосуточный выезд врача-нарколога на дом, инфузионная терапия (капельницы) с индивидуальным подбором составов и детокс-протоколы, учитывающие возраст, сопутствующие заболевания и продолжительность употребления. Команда работает 24/7 по городу и пригородам; время прибытия в большинстве случаев составляет 30–45 минут с момента подтверждения вызова.
    Углубиться в тему – скорая вывод из запоя в улан-удэ

  22. JessieWes JessieWes

    В условиях Донецка ДНР наши специалисты применяют современную методику вывода из запоя на дому, которая включает в себя несколько последовательных этапов для обеспечения максимально безопасного и эффективного лечения.
    Изучить вопрос глубже – вывод из запоя цена донецк

  23. На практике выезд врача позволяет оперативно стабилизировать состояние пациента и снизить риск осложнений, связанных с отсрочкой медицинской помощи.
    Детальнее – narkolog-na-dom-khabarovsk0.ru/

  24. Когда запой выходит из-под контроля, здоровье пациента оказывается под угрозой, и каждая минута имеет решающее значение. В Твери экстренная помощь нарколога на дому позволяет оперативно начать лечение, провести детоксикацию организма и стабилизировать состояние пациента. Такой подход обеспечивает индивидуальную терапию в комфортных условиях, сохраняя конфиденциальность и снижая эмоциональное напряжение.
    Ознакомиться с деталями – https://reabcentr-narko.ru/vyvod-iz-zapoya-kruglosutochno-v-tveri/

  25. Вызов специалиста на дом рекомендуется, если запой затягивается и самостоятельное прекращение пьянства становится невозможным. Своевременное обращение помогает предотвратить ухудшение состояния, развитие хронических осложнений и негативное воздействие на психику.
    Разобраться лучше – http://narcolog-na-dom-v-irkutske66.ru

  26. Помимо физической детоксикации, лечение запоя требует комплексной психологической поддержки. Психотерапевты работают с пациентами для выявления глубинных причин зависимости, помогают снизить уровень стресса и развивают навыки самоконтроля, что критически важно для предотвращения рецидивов.
    Подробнее можно узнать тут – вывод из запоя на дому цена

  27. Patrickvab Patrickvab

    Экстренная капельничная терапия от запоя на дому в Луганске ЛНР имеет ряд преимуществ, благодаря которым лечение становится максимально оперативным и безопасным:
    Разобраться лучше – https://kapelnica-ot-zapoya-lugansk-lnr00.ru/

  28. Rolandopiell Rolandopiell

    Каждый из наших врачей не только специалист, но и психолог, способный понять переживания пациента, создать атмосферу доверия. Мы применяем индивидуальный подход, позволяя каждому пациенту чувствовать себя комфортно. Наши наркологи проводят тщательную диагностику, разрабатывают планы лечения, основываясь на данных обследования, психологическом состоянии и других факторах. Основное внимание уделяется снижению абстиненции, лечению сопутствующих заболеваний, коррекции психоэмоционального состояния.
    Узнать больше – скорая вывод из запоя в смоленске

  29. Вызов нарколога на дом в Хабаровске осуществляется при наличии клинических показаний, при которых выездная помощь является обоснованной и безопасной. В клинике «Ясный Вектор» решение о формате вмешательства принимается с учётом жалоб, анамнеза и предполагаемой тяжести состояния.
    Разобраться лучше – вызвать нарколога на дом в хабаровске

  30. It’s in point of fact a great and useful piece of info.
    I am happy that you simply shared this useful information with us.
    Please keep us informed like this. Thanks for sharing.

  31. Dereksoymn Dereksoymn

    После диагностики начинается активная фаза медикаментозного вмешательства. Современные препараты вводятся капельничным методом, что позволяет быстро снизить уровень токсинов в крови, восстановить нормальные обменные процессы и стабилизировать работу жизненно важных органов, таких как печень, почки и сердце.
    Подробнее тут – vyvod-iz-zapoya-kruglosutochno murmansk

  32. Затянувшийся запой — это состояние, которое опасно не только выраженной интоксикацией, но и непредсказуемыми осложнениями со стороны сердца, нервной системы и обмена веществ. В наркологической клинике «БайкалМедЦентр» (Улан-Удэ) услуги экстренного вывода из запоя организованы в формате «одного окна»: круглосуточный выезд врача-нарколога на дом, инфузионная терапия (капельницы) с индивидуальным подбором составов и детокс-протоколы, учитывающие возраст, сопутствующие заболевания и продолжительность употребления. Команда работает 24/7 по городу и пригородам; время прибытия в большинстве случаев составляет 30–45 минут с момента подтверждения вызова.
    Узнать больше – http://vyvod-iz-zapoya-ulan-ude0.ru

  33. Matthewrot Matthewrot

    Помимо физической детоксикации, лечение запоя требует комплексной психологической поддержки. Психотерапевты работают с пациентами для выявления глубинных причин зависимости, помогают снизить уровень стресса и развивают навыки самоконтроля, что критически важно для предотвращения рецидивов.
    Углубиться в тему – скорая вывод из запоя в красноярске

  34. Anthonybic Anthonybic

    В клинике проводится лечение различных видов зависимости с применением современных методов и препаратов. Ниже перечислены основные направления, отражающие широту оказываемой медицинской помощи.
    Ознакомиться с деталями – http://narkologicheskaya-klinika-novosibirsk0.ru/chastnaya-narkologicheskaya-klinika-novosibirsk/

  35. Наркологическая клиника в клинике в Екатеринбурге — это специализированное медицинское учреждение, где проводится диагностика, лечение и реабилитация людей, страдающих алкогольной или наркотической зависимостью. Комплексный подход включает не только медикаментозную терапию, но и психотерапевтические методики, направленные на восстановление личности и возвращение пациента к социальной активности. Каждое вмешательство проводится с учётом физического состояния, психологического профиля и стадии заболевания. Работа специалистов основана на принципах анонимности, медицинской этики и научно доказанных протоколов лечения.
    Выяснить больше – наркологическая клиника вывод из запоя в екатеринбурге

  36. Antoinewaymn Antoinewaymn

    Наркологическая клиника в Омске оказывает квалифицированную помощь пациентам, страдающим от различных видов зависимости. Основой успешного лечения является комплексный подход, который включает тщательную диагностику, медикаментозное сопровождение, психологическую поддержку и реабилитационные программы. В «АльфаМед» применяются передовые технологии и индивидуальные методики, направленные на восстановление здоровья и предупреждение рецидивов.
    Подробнее можно узнать тут – наркологическая клиника вывод из запоя

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *