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
Здорова, народ Муж просто потерял себя Жена в истерике Таблетки не помогают Короче, только это реально спасло — вывод из запоя анонимно недорого с опытом Сняли ломку и стабилизировали состояние В общем, телефон и цены тут — цены на вывод из запоя на дому москва https://kruglosutochno.vyvod-iz-zapoya-na-domu-moskva.ru Не ждите пока станет хуже Перешлите тем кто в такой же ситуации
Вывод из запоя включает комплекс мер, направленных на детоксикацию организма, стабилизацию состояния и снятие абстинентного синдрома. В течение первых часов специалист контролирует давление, пульс, дыхание и уровень сознания. Современные методики позволяют уменьшить тошноту, тремор, тревогу, болевой синдром и другие проявления отравления. Эффективность лечения повышается, когда пациент соблюдает рекомендации и после стабилизации продолжает лечение алкогольной зависимости.
Подробнее тут – http://vyvod-iz-zapoya-krasnogorsk2.ru/
Водители отзовитесь Замучился я уже с этой страховкой А в итоге всё равно переплачиваешь Короче, нашел нормальный способ — оформить полис осаго без посещения офиса Выбрал самую низкую цену В общем, вся инфа вот здесь — сделать страховку на автомобиль осаго https://ttk2-13.ru Оформляйте ОСАГО онлайн выгодно Перешлите тому у кого машина
Люди подскажите Близкий человек уже несколько дней в запое Жена в истерике В больницу тащить страшно Короче, единственное что вытащило из запоя — нарколог на дом вывод из запоя эффективно Поставили капельницу с детоксикационным раствором В общем, телефон и цены тут — вывод из запоя цена на дому вывод из запоя цена на дому Не ждите пока станет хуже Перешлите тем кто в такой же ситуации
Люди подскажите Муж просто потерял себя Дети напуганы Таблетки не помогают Короче, только это реально спасло — вывод из запоя цена на дому фиксированная Приехали через 40 минут В общем, телефон и цены тут — частный вывод из запоя https://vyvod-iz-zapoya-na-domu-moskva.ru Вывод из запоя на дому — это реальный выход Перешлите тем кто в такой же ситуации
Народ всем привет Продавцы вообще ничего не понимают То пластик трескается Короче, единственные кто честно рассказывает — лучшие настенные карнизы с гарантией Отзывы реальных покупателей В общем, жмите чтобы не потерять — бест рейтинг профильных карнизов бест рейтинг профильных карнизов Не покупайте наугад Перешлите тому кто ищет карнизы