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

474 Comentários

  1. Каждый инструмент имеет чёткие показания и ограничение: мы объясняем, какую гипотезу проверяем, по каким признакам поймём, что она верна, и когда перестанем использовать метод, если вклад невелик. Это снижает тревогу и формирует доверие к плану.
    Получить дополнительные сведения – наркологическая клиника лечение алкоголизма в петрозаводске

  2. DanielSnave DanielSnave

    Честная наркология — это не «универсальная капельница», а система шагов, привязанная к параметрам конкретного человека. В Чехове мы выезжаем круглосуточно, на месте проводим допуск к терапии, сверяем совместимости с уже принятыми препаратами, подбираем состав инфузий без лишних компонентов и избыточной седативной нагрузки. Если дома нет условий для безопасной ночи, предложим стационар — это не усложнение, а короткий путь к безопасности. Анонимность — стандарт: нейтральные формулировки в документах по запросу, ограниченный доступ к данным, деликатная связь.
    Подробнее тут – наркологическая клиника отзывы

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

  4. Обращаться можно и нужно не только в момент очередного запоя. Клиника в Ивантеевке работает и с теми, кто сейчас в относительной ремиссии, но понимает, что без внешней поддержки снова сорвётся. В этом случае можно обсудить профилактические программы, варианты кодирования, реабилитацию, работу с тревогой и депрессией. Чем раньше сделан шаг в сторону лечения, тем мягче будут процедуры и тем больше шансов на устойчивый результат.
    Получить больше информации – наркологическая клиника рядом

  5. Каждый из этапов дополняет предыдущий, формируя непрерывный лечебный процесс. Такой формат позволяет учитывать динамику состояния пациента и своевременно реагировать на изменения.
    Получить больше информации – https://narkologicheskaya-klinika-khabarovsk0.ru/

  6. JamesFus JamesFus

    Состав капельниц всегда персонализирован. Мы избегаем полипрагмазии и ориентируемся на симптоматику, сопутствующие заболевания и домашние условия. Ниже — примерная сетка профилей, которую врач на месте адаптирует «под вас».
    Изучить вопрос глубже – http://vyvod-iz-zapoya-pervouralsk0.ru

  7. «АльфаДетокс» в Чехове — это стационарный маршрут вывода из запоя с круглосуточным наблюдением и быстрыми медицинскими решениями. Мы принимаем без очередей, проводим очную оценку, допускаем к терапии и запускаем управляющий детокс с аппаратным контролем и лабораторными исследованиями по показаниям. Наша цель — не просто поставить капельницу, а безопасно стабилизировать давление и пульс, снять интоксикацию и абстиненцию, наладить сон и дать понятный план ближайших дней. Анонимность встроена в процесс, вы общаетесь с командой спокойно и без лишней огласки, а все назначения объясняются простым языком, чтобы вы понимали логику каждого шага.
    Узнать больше – http://www.domen.ru

  8. Kevinjen Kevinjen

    Если к «окну оценки» цель не достигнута, мы меняем ровно один параметр (время приёма, приоритет модуля или плотность контактов). Такой «микроход» показывает вклад изменения и не превращает программу в перегруженный конструктор.
    Детальнее – наркологическая клиника вывод из запоя

  9. JeremyVeict JeremyVeict

    Если к запланированному «окну оценки» динамика слабее ожидаемой, врач корректирует один параметр (скорость/последовательность введения, вечерний режим, плотность связи). Такой минимализм повышает управляемость и снижает риск побочных эффектов.
    Углубиться в тему – https://vyvod-iz-zapoya-nizhnij-tagil0.ru/skoraya-narkologiya-vyvod-iz-zapoya-nizhnij-tagil-otzyvy/

  10. Robertriz Robertriz

    Если к намеченному окну улучшение слабее ожидаемого, врач меняет один параметр — время приёма, скорость инфузии, приоритет модуля — и назначает новую сверку. Мы избегаем «снежного кома» назначений, сохраняя предсказуемость и бережность.
    Подробнее тут – http://narkolog-na-dom-petrozavodsk0.ru/narkolog-petrozavodsk-anonimno/

  11. PhilipSlica PhilipSlica

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

  12. Williedok Williedok

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

  13. FrankDrarl FrankDrarl

    Этот список — памятка на холодильник. Он не раскрывает диагноз, но точно описывает поводы для связи с дежурным врачом. Своевременная эскалация — часть безопасности, а не «подстраховка». Если сомневаетесь — лучше позвонить.
    Узнать больше – https://kapelnicza-ot-zapoya-v-chelyabinske16.ru/

  14. Donaldjat Donaldjat

    Страх огласки часто откладывает обращение сильнее симптомов; затяжка почти всегда ухудшает прогноз и увеличивает расходы. В «ХимкиМед Центр» приватность — регламент, а не обещание: заявки и подтверждения проходят через защищённые каналы, в расписании используются шифры, приёмы разнесены по времени, а визиты — без маркировки. Маршрут по двору и подъезду согласуется заранее, чтобы врач прошёл к двери без внимания соседей. Мы учитываем «узкие» места Химок — дворовые проезды, часы пик, загруженные выезды — поэтому холостые перемещения минимальны, а терапия стартует быстро. Чем меньше публичности и пауз, тем ниже тревога, выше приверженность режиму и, как следствие, устойчивее результат.
    Детальнее – http://narkologicheskaya-klinika-himki9.ru

  15. Капельницы доступны круглосуточно — в стационаре и с выездом на дом. Состав подбирается под симптомы, коморбидность и семейные обстоятельства. Ниже — примеры профилей: на месте врач адаптирует их, чтобы получить эффект с минимальной нагрузкой на организм.
    Получить больше информации – частная наркологическая клиника

  16. EmorySmede EmorySmede

    Первичная оценка строится на фактах. Врач коротко уточняет жалобы, длительность употребления, переносимость препаратов и аллергии, фиксирует давление, пульс, сатурацию, при необходимости делает экспресс-ЭКГ и скрининг неврологического статуса. Далее — объясняет на понятном языке логику назначений: зачем именно такая инфузионная схема, какие ощущения нормальны в течение часа и к ночи, как организовать питьевой режим и лёгкое питание «по силам». Мы избегаем «оглушающих» седативов: дозируем узко, чтобы не получить вечернего отката и побочных эффектов. После процедуры повторно оцениваем показатели, выдаём письменные рекомендации, согласуем окно связи и условия повторного визита. Семья получает простые правила поведения дома (тишина, затемнение, ограничение экранов, отсутствие «разборов») и сигналы, когда лучше позвать врача. Итог визита — управляемая ночь и предсказуемое утро, на котором можно строить следующие шаги.
    Выяснить больше – наркологические клиники в области

  17. Kevinjen Kevinjen

    Для жителей Первоуральска мы поддерживаем 24/7-окно обращения без очередей: первичный скрининг по телефону, подтверждение безопасного формата старта (стационар краткого наблюдения, амбулаторно или выездная бригада), нейтральные формулировки в документах, деликатная транспортная логистика. При необходимости организуем немаркированный выезд врача, а при госпитализации используем отдельный вход и «тихие» коридоры. Это не косметика — такие детали снижают уровень тревоги, улучшают засыпание в первую ночь и повышают соблюдаемость рекомендаций.
    Детальнее – анонимная наркологическая клиника

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

  19. DonaldNep DonaldNep

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

  20. Эта публикация завернет вас в вихрь увлекательного контента, сбрасывая стереотипы и открывая двери к новым идеям. Каждый абзац станет для вас открытием, полным ярких примеров и впечатляющих достижений. Подготовьтесь быть вовлеченными и удивленными каждый раз, когда продолжите читать.
    Подробнее тут – https://vivod-iz-zapoya-2.ru/

  21. Финансовые инструменты позволяют заказчику убедиться в надежности участника и его готовности выполнить обязательства по контракту. При этом грамотное сопровождение снижает вероятность финансовых рисков и помогает правильно оформить документы для банка.
    Погрузитесь в детали – тендерное сопровождение ростов на дону

Deixe um comentário

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