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
Kod promocyjny Vox Casino to specjalny ciąg znaków, który odblokowuje dodatkowe bonusy dla graczy z Polski.
W odpowiednim polu formularza trzeba wpisać kod promocyjny przed potwierdzeniem rejestracji.
Promocja powiązana z kodem obowiązuje przez ograniczony okres.
Kolejne kody promocyjne pojawiają się w ramach regularnych promocji dla graczy.
Pomoc techniczna wyjaśni warunki oferty i pomoże w prawidłowym wpisaniu kodu.
slots slots
تخضع المنصة لترخيص دولي يوفر شفافية وأمانًا في كل عملية.
تنفرد سلسلة 888Games بألعاب فورية مثل Crash و Plinko و Dice و Lottery.
تتغير الأودز في الوقت الفعلي مع خيار المراهنة الحية.
تبلغ باقة ترحيب الكازينو 1500 يورو إضافة إلى 150 فري سبين.
يقدم 888starz تسجيلًا سريعًا بخطوات بسيطة وحد إيداع منخفض.
888starz 888starz
يخضع الموقع لترخيص دولي يكفل الشفافية والأمان في كل معاملة.
يجد اللاعب في 888Games عناوين لا تتوفر خارج منصة 888starz.
888stars [url=https://888starzs5.com/]888stars[/url]
تتوفر أسواق على البطولات الكبرى إلى جانب الدوري المصري.
تبلغ باقة الترحيب في الكازينو 1500 يورو إضافة إلى 150 فري سبين.
يعمل فريق المساعدة طوال اليوم مع تطبيق محمول لأندرويد وآبل.
Niektóre kody są też dostępne dla stałych graczy w ramach bieżących promocji.
Kod należy wprowadzić w dedykowanym miejscu, aby bonus został poprawnie naliczony.
Przed wypłatą obowiązuje określony mnożnik obrotu dla środków bonusowych.
Najnowsze kody warto sprawdzać przed rejestracją, aby wybrać najlepszą ofertę.
Kod promocyjny można wykorzystać zarówno na komputerze, jak i w wersji mobilnej Vox Casino.
vox casino kody vox casino kody
بُنيت الواجهة لتكون سهلة بالعربية وسريعة التنقل.
starz888 starz888
يمنح الموقع لاعبيه أكثر من مئتين وخمسين طاولة مباشرة على مدار الساعة.
يمكن للمراهن في القاهرة تغطية مبارياته المحلية والأحداث الأوروبية معًا.
ينتظر اللاعبين النشطين برنامج مكافآت أسبوعي من كاش باك وجوائز.
يدعم الموقع البطاقات والمحافظ إضافة إلى أكثر من 50 عملة رقمية بينها BTC و USDT و ETH.