Свежие обсуждения
Микроконтроллеры

Цифровой термометр на МК и LCD nokia 3310

1 13 17

Опять вылезла ошибка.

> "make.exe" all
--- compiling main.c
process_begin: CreateProcess(NULL, C:/winavr/bin/avr-gcc -c -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -mmcu=attiny2313 -Wa,-ahlms=./lst\main.lst -o obj/main.o ./src/main.c, ...) failed.
make (e=3): Системе не удается найти указанный путь.make.exe: *** [obj/main.o] Error 3

> Process Exit Code: 2
> Time Taken: 00:00

 

А avr-gcc у тебя в папке C:/winavr/bin? Если нет, то в makefile исправь строчку
bin = C:/winavr/bin
на
bin = путь/к/winavr/bin

 

Сразу хочу извиниться если не туда залез со своими наверное идиотскими вопросами. Вркатце суть проблемы следующая:
Попался мне в руки дисплей от 3310-й Нокии и решился я собрать первую конструкцию на МК: http://vrtp.ru/index.php?act=categories&CODE=article&article=1743
к нему собрал программатор с сайта: http://pic16f84.narod.ru/ , запустил его.
При прошивке PIC12F629 программатор сообщил что для этого PIC-а нужно изменить слово конфигурации, я согласился. Программатор успешно прошил PIC. Но схема термометра не заработала. Только в момент отключения питания проскочило на дисплее изображение рисунка термометра. Потом меня понесло- стирал записывал с разной конфигурацией. Все бестолку.
В Радио 2004 №7 54стр. прочитал, "нужно сохранить слово конфиг. новой, еще не подвергшейся стиранию микросхемы и позаботиться о ее неизменности после программирования". И еще: "МК PICmicro оснащенные внутренним подстраиваемым генератором, обычно хранят заводское значение калибровочного кода уже записанным во FLASH-память, как правило, в ее самую старшую ячейку. При неосторожном стирании памяти это значение будет потеряно навсегда".
Я правильно понял, что я убил МК и поможет только покупка нового или остались еще какие-то варианты?
Да, и что делать с новым МК чтобы не попасть на те-же грабли?
Буду благодарен любому совету и помощи
Но насмешек не потертерплю
Заранее спасибо!!!

 

AHTOXA: А avr-gcc у тебя в папке C:/winavr/bin? Если нет, то в makefile исправь строчку
bin = C:/winavr/bin
на
bin = путь/к/winavr/bin

Это проделал. Нарвался на следующую ошибку. Сапер из меня ни к черту.....

> "make.exe" all
--- compiling main.c
--- compiling nokia3310.c
--- compiling timer0.c
echo --- linking...
--- linking...
C:/winavr-20071221/bin/avr-gcc ./obj/main.o ./obj/nokia3310.o ./obj/timer0.o -Wl,-Map="nokia3310-test.map",--cref -mmcu=attiny2313 -o "./exe/nokia3310-test.elf"
/bin/sh: -c: line 3: syntax error: unexpected end of file
make.exe: *** [exe/nokia3310-test.elf] Error 258

> Process Exit Code: 2
> Time Taken: 00:06

 

Picap: При прошивке PIC12F629 программатор сообщил что для этого PIC-а нужно изменить слово конфигурации, я согласился
Точно так же я согласился, когда прошивал и перепрошивал такой же МК для Искателя проводки из журнала радио. В итоге работать то работает, но непонятно как. Советую писать на форуме сайта vrtp.ru дабы вам ответил модератор. Может он чего подскажет, раз публиковал схему.

 

Picap:
Слово конфигурации обычно уже задано в прошивке для МК, если нет то обратиться к автору хека.
Калибровочная константа записана в последней ячейке памяти программ. Перед программированием считайте МК, в последней ячейке д.б. запись "34 xx" (34-код команды RETLW, xx-значение для калибровки генератора), запомните/запишите. Далее при программировании добавьте значение калибровки в прошивку.

 

serg_svd: Это проделал. Нарвался на следующую ошибку

Да, похоже у меня make другой системы
Сделай так:

удали из makefile строчку
bin = путь/к/winavr/bin

и замени строчки

compiler = $(bin)/avr-gcc
linker = $(bin)/avr-gcc
assembler = $(compiler) -x assembler-with-cpp
objcopy = $(bin)/avr-objcopy
objdump = $(bin)/avr-objdump
size = $(bin)/avr-size -d

на
compiler = avr-gcc
linker = avr-gcc
assembler = $(compiler) -x assembler-with-cpp
objcopy = avr-objcopy
objdump = avr-objdump
size = avr-size -d

, то есть, удали все упоминания о $(bin).

Должно заработать.

serg_svd: Сапер из меня ни к черту.....

Не переживай, ты почти у цели

 

УРА! Откомпилировалось
Но в связи с этим напрашивается еще вопрос. У меня .hex файл получился размером 5 094 байт. В МК всего 2кБ. Как вообще теперь понять сколько места заняла прошивка в МК? и сколько еще места осталось.
А то может там места - с гулькин нос и надо использовать мегу8?

 

Ну наконец-то
Там при компиляции последней строчкой выводится:
text data bss dec hex filename
1774 0 5 1779 6f3 ./exe/nokia3310.elf
"Errors: none"

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

 

AlexAlcoa: Спасибо за ликбез. Еще вопрос: Этот МК я в схеме термометра уже не смогу использовать?