Good Night,
If you don’t want to use Arduino IDE (Or Teensy IDE? 😉 to programming and uploading your code to Teensy 3.0 you can use Makefiles.
The last IDE version can be found on PJRC Forum . As he said in the Beta 10 version, there is an Makefile example on “arduino-1.0.3\hardware/teensy/cores/teensy3” but to use it you need to add the arm binaries to your system path. To do this, open your command prompt. Start – execute – cmd.
And then type:
PATH = %PATH%;C:\CAMINHO_PARA_O_ARDUINO\arduino-1.0.3\hardware\tools\arm-none-eabi\bin
[If you don’t want to know the modifications that I did, just jump to the end where you can find a resume]
To guarantee that I will not screw everything, I did a copy of “arduino-1.0.3\hardware/teensy/cores/teensy3” and did my modifications on it. I executed:
cs-make.exe
Receveid this error message:
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
Checking the Makefile I decided to change some configs and used FULL PATH for it.
TOOLSPATH = C:\CAMINHO_PARA_O_ARDUINO\arduino-1.0.3\hardware\tools
COMPILERPATH = C:\CAMINHO_PARA_O_ARDUINO\arduino-1.0.3\hardware\tools\arm-none-eabi\bin
The error received was the same, so checking the code again I saw the “abspath” and thought that maybe the problem was this, since I changed my folder location. So I removed all “$(abspath” remember that it has a parenthesis that closes the command. So for example:
$(abspath $(COMPILERPATH)) will be $(COMPILERPATH)
Trying to get it working again with cs-make, it started compiling it, but on the end I received this error:
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
Triple checking the Makefile I found “path=$(shell pwd)” and I didn’t remember this pwm command on windows so I tried to execute it and it didn’t work. So I changed it to “path=$(shell echo %cd%)”. Before I start compiling again I decide to clean directory using cs-make clean
I received the following errors:
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
And then I noticed that it was calling rm -f which isn’t a windows command too. I changed the rm command to:
del *.o
del *.d
del $(TARGET).elf
del $(TARGET).hex
With this I managed to clean the files and tried to compile again, and… IT WORKS! I did a few tests using main.cpp that was being compiled and uploaded to my Teensy 3. Anyways to work with all that files wasn’t attractive so I decided to go a little further and do some cleaning. So inside my “Project” folder I copied all files excluding Makefile and main.cpp to my new folder inside my project “teensy/”. This way I can compile it without all that files on my working folder. I needed to do a few more changes on Makefile as follow:
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)
Linker configuration to:
LDFLAGS = -Os -Wl,–gc-sections -mcpu=cortex-m4 -mthumb -Tteensy/mk20dx128.ld
And to keep it consistent:
$(TARGET).elf: $(OBJS) teensy/mk20dx128.ld
$(CC) $(LDFLAGS) -o $@ $(OBJS)
And then I found this error:
teensy/keylayouts.c:1: fatal error: avr/pgmspace.h: No such file or directory
compilation terminated.
cs-make: *** [teensy/keylayouts.o] Error 1
So I updated the CPPFLAGS to:
CPPFLAGS = -Wall -g -Os -mcpu=cortex-m4 -mthumb -nostdlib -MMD $(OPTIONS) -I. -Iteensy/
And also remembered that the clean should be updated too.
clean:
del *.o
del *.d
del $(TARGET).elf
del $(TARGET).hex
del $(CURRENT_PATH)\teensy\*.o
del $(CURRENT_PATH)\teensy\*.d
And add this on the begin of “Configurations that shouldn’t be updated”
CURRENT_PATH=$(shell echo %cd%)
With all this I managed to get the Makefile working on Windows compiling and uploading for Teensy 3.0
Summary:
You must update TOOLSPATH , COMPILERPATH and use your FULL PATH
Then create a folder “My_Project”
Create another folder inside your project called “teensy” (My_Project/teensy/)
Copy “arduino-1.0.3\hardware/teensy/cores/teensy3/” to “My_Project/teensy/” (subdir too, but not the Makefile)
Add the Makefile that you can download on the end of this post inside “My_Project”
Copy “Meu_Projeto/teensy/main.cpp” too “Meu_Projeto/main.cpp”
Programm inside main.cpp
Compile and upload with cs-make.exe
Matheus
Реабилитация алкоголиков в Москве требует интегрированного подхода, включающего не только медицинское лечение, но и психологическую помощь. Важно, чтобы реабилитационные центры предлагали программы, которые помогают пациентам не только избавиться от физической зависимости, но и наладить их психологическое состояние, а также восстановить их отношения с окружающими.
Узнать больше – http://reabilitacziya-alkogolikov-moskva-3.ru/
Запой, длительное употребление алкоголя или случайное злоупотребление могут привести к неприятным симптомам похмелья, таким как головная боль, слабость, тошнота, головокружение и усталость. Эти симптомы обусловлены тем, что в организме остаются продукты распада алкоголя, которые токсически воздействуют на все органы. Капельница от похмелья на дому — это отличная возможность быстро снять острые симптомы и восстановить нормальное состояние организма, не выходя из привычной обстановки.
Ознакомиться с деталями – http://www.domen.ru
Анонимное лечение на дому ценно ещё и тем, что снижает внутреннее сопротивление самого пациента. Для многих людей первый контакт с врачом происходит именно дома, без дороги, без ожидания, без страха чужих взглядов. Такой формат помогает начать разговор не только о снятии острых симптомов, но и о более широких вопросах: что делать после выхода из запоя, когда требуется кодирование, в каких случаях нужна реабилитация, а когда первичная наркологическая помощь уже должна переходить в полноценный лечебный маршрут. Врач может помочь и в ситуациях, связанных не только с алкоголем, но и с наркомании, если семье нужно понять, что происходит с зависимым человеком и какой следующий шаг будет для него безопасным.
Получить дополнительную информацию – вызвать нарколога на дом воронеж
В Воронеже услуга «нарколог на дом» востребована прежде всего тогда, когда состояние развивается быстро, а запас сил у пациента почти исчерпан. После нескольких дней употребления человеку бывает трудно даже выйти из квартиры: сохраняются слабость, дрожь, бессонница, тошнота, скачки давления, потливость, раздражительность и ощущение, что без новой дозы алкоголя легче уже не станет. Именно в этот момент домашний выезд специалиста помогает разорвать опасный цикл. Наркологическая помощь начинается там, где человек находится, а не там, куда он в идеале должен был бы доехать.
Детальнее – https://narkolog-na-dom-voronezh-1.ru/
Домашний формат ценят не только за удобство. Он помогает начать лечение анонимно, без дороги, без ожидания и без лишнего стресса для пациента. Для многих семей именно выездной наркологическая маршрут становится первой точкой, с которой начинается более серьёзное восстановление: обсуждаются не только снятие острых симптомов, но и кодирование, реабилитация, повторная консультация, а при необходимости — и маршруты помощи при наркомании. Особенно это актуально, если человек употребляет давно, уже несколько лет сталкивается со срывами и сам замечает, что проблема перестала ограничиваться только плохим самочувствием после алкоголя.
Получить дополнительные сведения – нарколог на дом в воронеже
Есть состояния, при которых откладывать вызов врача рискованно. Домашний выезд нужен не только при «тяжёлом похмелье», но и тогда, когда самочувствие становится нестабильным, а попытки справиться своими силами уже не работают. Ниже перечислены ситуации, при которых обращение за помощью оправдано именно в ближайшее время, а не «если не станет легче к вечеру».
Углубиться в тему – вызвать нарколога на дом в воронеже