Skip to content

Compile to Teensy 3.0 on Windows using Makefile

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

Makefile to Teensy on Windows

Matheus

Published inCcppTeensywindows

3,619 Comments

  1. RobertMom RobertMom

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

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

  3. Anthonyneupe Anthonyneupe

    Это основа детоксикации. Внутривенно вводятся солевые растворы, витаминные комплексы, гепатопротекторы и другие препараты, которые очищают кровь от токсинов, восстанавливают водно-электролитный баланс и поддерживают работу сердца и почек. Такая терапия эффективно снимает симптомы абстиненции, нормализует сон и общее самочувствие пациента. Врач контролирует дозировку и состав капельницы в зависимости от состояния больного и результатов анализов. Процедура чистка организма от токсинов позволяет не только вывести наркотики, но и восстановить работу печени и сердечно-сосудистой системы. Это базовый этап лечения зависимости, без которого невозможна полноценная реабилитация.
    Углубиться в тему – https://detoksikaciya-narkomanov-moskva13.ru/detoksikaciya-ot-narkotikov-na-domu-moskva

  4. Georgeagite Georgeagite

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

  5. RobertMom RobertMom

    Алкогольный запой является тяжёлым состоянием, требующим срочного медицинского вмешательства. Наркологическая клиника «Пульс» в Краснодаре предлагает эффективную помощь в борьбе с алкогольной зависимостью, используя проверенный метод — капельницу от запоя на дому. Наши специалисты оперативно выезжают по указанному адресу и обеспечивают качественную медицинскую помощь с гарантией конфиденциальности и безопасности.
    Получить дополнительную информацию – https://kapelnica-ot-zapoya-krasnodar7.ru/

  6. Jessiesex Jessiesex

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

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

  8. Williammit Williammit

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

  9. RobertMom RobertMom

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

  10. После поступления звонка нарколог оперативно выезжает по указанному адресу и прибывает в течение 30–60 минут. Врач незамедлительно приступает к оказанию помощи по четко отработанному алгоритму, состоящему из следующих этапов:
    Узнать больше – нарколог на дом анонимно в воронеже

  11. Robertbop Robertbop

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

  12. LarryNob LarryNob

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

  13. Лечение вывода из запоя на дому в Мурманске организовано по четко структурированной схеме, включающей следующие этапы, каждый из которых играет ключевую роль в оперативном восстановлении здоровья:
    Получить больше информации – http://vyvod-iz-zapoya-murmansk00.ru

  14. Michaelhig Michaelhig

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

  15. Haroldgoake Haroldgoake

    В этом исследовании рассмотрены методы лечения зависимостей и их эффективность. Мы проанализируем различные подходы, используемые в реабилитационных центрах, и представим данные о результативности программ. Читатели получат надежные и научно обоснованные сведения о данной проблеме.
    Прочесть всё о… – Наркологическая клиника «Похмельная служба» в Москве.

  16. Oscarfouro Oscarfouro

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

  17. Douglashewly Douglashewly

    В таблице ниже приведены примеры методов и применяемых средств при лечении пациентов с алкогольной и наркотической зависимостью:
    Исследовать вопрос подробнее – http://narkologicheskaya-klinika-v-krd19.ru

  18. Haroldgoake Haroldgoake

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

  19. PeterHuh PeterHuh

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

  20. Davisdah Davisdah

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

  21. GeorgeCoilt GeorgeCoilt

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

  22. Eugenedaync Eugenedaync

    Вызов нарколога на дом в Каменске-Уральском обеспечивает безопасность пациента, исключая необходимость посещения медицинского учреждения, что особенно актуально при тяжелом состоянии или психологическом сопротивлении. Такая помощь включает в себя детоксикацию, купирование абстинентного синдрома и консультации по дальнейшему лечению.
    Получить больше информации – https://narkolog-na-dom-kamensk-uralskij11.ru

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

  24. DanielDiopy DanielDiopy

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

  25. MarioSanda MarioSanda

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

  26. Danielwhads Danielwhads

    В «Южном МедКонтроле» лечение зависимостей строится поэтапно, с постепенным восстановлением физиологических функций и эмоциональной устойчивости. Врачи используют современные методы детоксикации, фармакотерапию и психотерапию, которые действуют комплексно. Каждый этап направлен на достижение конкретного результата: очищение организма, снятие симптомов абстиненции, стабилизацию состояния и профилактику срывов.
    Изучить вопрос глубже – https://narkologicheskaya-clinika-v-rostove19.ru/narkologiya-rostov-kruglosutochno

Leave a Reply

Your email address will not be published. Required fields are marked *