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

  1. OscarJag OscarJag

    Мы не используем шаблон «на всех». Темп и сочетания зависят от давления, пульса, выраженности тошноты и тремора, уровня тревоги, сопутствующих диагнозов и лекарств, уже попавших в организм. Детокс — это система шагов: допуск к терапии, коррекция воды и электролитов, поддержка печени, вегетостабилизация, осторожная работа со сном по показаниям, профилактика осложнений. Любое назначение проговаривается простым языком: зачем, как подействует, что считать нормальной динамикой, а что — поводом связаться с врачом.
    Изучить вопрос глубже – kapelnica-ot-zapoya-klin

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

  3. Danieljah Danieljah

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

  4. Домашний формат — это клинически выверенная помощь без госпитализации, если обстановка безопасна и есть взрослый помощник на вечер и ночь. Врач «Трезвого Компаса» приезжает без опознавательных знаков, проводит очную оценку (АД, пульс, сатурация, температура, неврологический статус), уточняет препараты, принятые за 48 часов, и аллергии. Далее — допуск к терапии и запуск инфузии. Мы корректируем жидкость и электролиты, поддерживаем печень и ЦНС, по показаниям используем противорвотные и анксиолитические решения, избегая «перелечивания». В конце визита — переоценка, настройка темпа/состава, памятка на 24–48 часов и окно контрольного контакта.
    Исследовать вопрос подробнее – kapelnica-ot-zapoya-v-stacionare

  5. ThomasSnida ThomasSnida

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

  6. RufusAttah RufusAttah

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

  7. Donaldowelt Donaldowelt

    Эти преимущества делают капельницу эффективным и востребованным способом восстановления после похмелья в Самаре, особенно для тех, кто хочет быстро вернуться к нормальной жизни после алкогольного интоксикационного состояния.
    Ознакомиться с деталями – kapelnicza-ot-pokhmelya-samara-15.ru/

  8. В Екатеринбурге выезд нарколога на дом становится необходимостью, когда симптомы похмелья слишком выражены и пациент не может справиться с ними самостоятельно. Алкогольная интоксикация может привести к ряду проблем, таких как головная боль, слабость, тошнота и рвота, а иногда даже к более серьёзным состояниям, таким как аритмия или психоз. Выезд нарколога на дом позволяет быстро начать лечение, не тратя время на дорогу, что особенно важно в экстренных ситуациях.
    Подробнее можно узнать тут – https://kapelnicza-ot-pokhmelya-ekaterinburg-7.ru

  9. Детоксикация в основном фокусируется на печени и почках, помогая этим органам быстрее справляться с продуктами распада алкоголя. Такой подход гарантирует не только улучшение самочувствия, но и восстановление работы внутренних органов, которые пострадали в процессе злоупотребления алкоголем.
    Подробнее тут – https://kapelnicza-ot-pokhmelya-samara-16.ru

  10. DonaldMum DonaldMum

    Процедура капельницы от похмелья с контролем врача в Самаре начинается с первичной консультации, на которой врач осматривает пациента, измеряет его основные показатели (давление, пульс, температуру) и оценивает общее состояние. На основе этих данных выбирается оптимальный состав капельницы, которая может включать в себя различные компоненты, такие как солевые растворы, витамины, антиоксиданты и медикаменты для снятия симптомов похмелья.
    Получить дополнительные сведения – https://kapelnicza-ot-pokhmelya-samara-13.ru

  11. Charlesdox Charlesdox

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

  12. DavidStink DavidStink

    Капельница от похмелья — это эффективный способ экстренной помощи, предназначенный для того, чтобы помочь организму быстро восстановиться после злоупотребления алкоголем. В наркологической клинике «Частный медик 24» в Самаре мы предоставляем услугу безопасной детоксикации и восстановления 24/7. Капельница помогает организму вывести токсины, восстановить водно-электролитный баланс и улучшить общее состояние пациента, не создавая дополнительных нагрузок на сердце, печень и почки.
    Получить больше информации – капельница от похмелья анонимно самара

  13. Danieljah Danieljah

    Реабилитация алкоголиков в Москве требует интегрированного подхода, включающего не только медицинское лечение, но и психологическую помощь. Важно, чтобы реабилитационные центры предлагали программы, которые помогают пациентам не только избавиться от физической зависимости, но и наладить их психологическое состояние, а также восстановить их отношения с окружающими.
    Детальнее – reabilitacziya-alkogolikov-moskva-3.ru/

  14. Как отмечает ведущий научный сотрудник ФГБУН «НМИЦ психиатрии и наркологии» Минздрава России, наличие междисциплинарной команды — один из основных факторов, определяющих успех терапии при зависимости.
    Разобраться лучше – https://lechenie-narkomanii-murmansk0.ru/lechenie-narkomanii-i-alkogolizma-marmansk/

  15. Sergiovib Sergiovib

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

  16. Осмотр > мониторинг > инфузии по показаниям > план вечера и ночи > письменные рекомендации > окно связи на следующий день. Эта линия делает поведение предсказуемым, а значит — безопасным.
    Разобраться лучше – http://

Deixe um comentário

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