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.024 Comentários

  1. Gilbertjaw Gilbertjaw

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

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

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

  4. Такая структура терапии обеспечивает контроль на всех стадиях и помогает добиться устойчивого результата без вреда для здоровья. Пациент получает не просто временное облегчение, а полное восстановление физического и эмоционального состояния.
    Получить дополнительную информацию – http://narkologicheskaya-klinika-v-astrakhani18.ru/narkologi-astrakhan/

  5. JasonSug JasonSug

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

  6. Thomasfluri Thomasfluri

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

  7. StephenSeabs StephenSeabs

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

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

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

  10. RichardNesia RichardNesia

    Такая таблица позволяет систематизировать данные наблюдения и поддерживать единый подход к интерпретации результатов. Это повышает прозрачность процесса и делает оценку состояния объективной вне зависимости от длительности лечения.
    Разобраться лучше – http://narkologicheskaya-klinika-penza18.ru/

  11. ElmerSaxia ElmerSaxia

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

  12. JasonSug JasonSug

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

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

  14. Наши наркологи придерживаются принципов уважительного и внимательного отношения к пациентам, создавая атмосферу доверия. Они проводят детальное обследование, выявляют коренные причины зависимости и разрабатывают индивидуальные стратегии лечения. Профессионализм и компетентность врачей являются ключевыми факторами успешного восстановления пациентов.
    Ознакомиться с деталями – http://нарко-фильтр.рф/

  15. StephenSeabs StephenSeabs

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

  16. В рамках лечебного процесса наркологическая клиника задействует структурированные механизмы наблюдения, включающие анализ лабораторных показателей, оценку соматического тонуса и изучение активности нервной системы. Эти элементы обеспечивают комплексность работы и позволяют своевременно корректировать план лечения. Такая система предотвращает перегрузку организма и способствует поддержанию стабильности на фоне применения медикаментозных схем. Ниже представлены ключевые составляющие терапевтического процесса, формирующие основу для клинического восстановления.
    Подробнее тут – https://narkologicheskaya-klinika-v-penze18.ru/narkologicheskaya-pomoshh-penza/

  17. JasonSug JasonSug

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

  18. ElmerSaxia ElmerSaxia

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

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

  20. StephenSeabs StephenSeabs

    Вывод из запоя — это медицинская процедура, направленная на устранение интоксикации организма, вызванной длительным употреблением алкоголя. В клинике «ПензаМед Трезвость» помощь оказывается профессионально и конфиденциально: пациенты могут получить лечение как в стационаре, так и на дому. Процесс включает использование капельниц, медикаментозную терапию, психоэмоциональную поддержку и последующую реабилитацию. Врачи наркологического центра обладают большим опытом работы и обеспечивают круглосуточную помощь без постановки на учёт, что особенно важно для тех, кто хочет сохранить анонимность и быстро вернуться к нормальному состоянию.
    Узнать больше – https://vyvod-iz-zapoya-penza18.ru

  21. RobertScurl RobertScurl

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

Deixe um comentário

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