Заголовок сообщения: Re: AVR studio в вопросах и ответах
Добавлено: Пн фев 12, 2018 15:04:41
Мучитель микросхем
Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Ср окт 19, 2011 08:48:27 Сообщений: 443 Откуда: Мать городов русских
Рейтинг сообщения:0
Народ, извиняюсь что немного не в тему, подходящей темы не нашёл - какой прогой можно прошить платку с Мегой328 - Arduino Pro Mini 5В 16МГц ATMega328 - https://arduino.ua/prod1021-pro-mini-at ... 8p-5v-16mh? Чтобы использовать бутлоадер через переходник USB/UART?
_________________ Хорошему коту и в декабре - март
Привет всем. А у меня такая хрень: Загнал в студию хекс файл и гоняю его, смотрю дизассемблированный код. Обнаружил несколько мест, где неверно дизассемблировано(см. скрин). Так студия и впрямь грузит в R16 из R0 ! (красным выделил). А из R16 уже правильно, в память.(синим). Студия 4,16, ХРеновина. А чо так?
Что, никто не сталкивался?
_________________ Я всё-всё узнAю и стану профессором.
Всем привет! Скоро уже весна. значит будет много работы. Программирование надо будет отложить на некоторое время. Но есть моменты, которые надо решить уже, а самостоятельно не получается. Извините, коты. Нам всегда нужна чья то помощь, когда мы что то не понимаем и хорошо, когда кто то есть рядом, а в остальных случаях мы ищим в инете. Обращаюсь к вам, друзья: =========== Build started 16.2.2018 at 10:03:08 0 [main] sh 5448 sync_with_child: child 13772(0x304) died before initialization with status code 0xC0000142 46536 [main] sh 5448 sync_with_child: *** child state waiting for longjmp /usr/bin/sh: fork: Resource temporarily unavailable avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex Tester-Chip.elf Tester-Chip.eep || exit 0 0 [main] sh 3924 sync_with_child: child 13708(0x2FC) died before initialization with status code 0xC0000142 6306 [main] sh 3924 sync_with_child: *** child state waiting for longjmp /usr/bin/sh: fork: Resource temporarily unavailable make: [Tester-Chip.eep] Error 128 (ignored) avr-objdump -h -S Tester-Chip.elf > Tester-Chip.lss 0 [main] sh 5160 sync_with_child: child 9208(0x2FC) died before initialization with status code 0xC0000142 23596 [main] sh 5160 sync_with_child: *** child state waiting for longjmp /usr/bin/sh: fork: Resource temporarily unavailable make: *** [Tester-Chip.lss] Error 128 Build failed with 1 errors and 0 warnings... ============== Это лог avr studio 4.19. Я вижу, что он выдал ошибку, но самой ошибки я не вижу. Перед этим было много ошибок, я исправил. А теперь, пока что, в недоумении. Подтолкните, пожалуйста. Писал в Атмел Студии 7. Но нужна помощь JTag программатора. Начал писать в 4.19. А тут бац и не все так сразу. А может есть какая то опция для выгрузки проэкта из студии 7 в 4? Спасибо большое! Буду очень рад помощи
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
создайте проект в старой студии заново, оставив от текущего только исходники. сдаётся мне, проблема с несовместимостью makefile - ошибки при его интерпретации, а не при компиляции
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Спасибо большое! наверное проблемма в установке среды. Постоянно начала зависать студия. Даже не успеваю что нибудь написать после запуска. винда 10-64 стоит на ноуте, возможно от этого не работает. а еще установлены 6-я и 7-я студии. Попробую почистить реестр, удалив перед этим студию 4
Добавлено after 2 hours 51 minute 30 seconds: Извините, но у меня ничего не вышло. Студию 4 удалил, реестр подчистил по ключу avrstudio. Установил заново 4.18. Создал проэкт test-chip. Вот лог компилятора: ============= Build started 16.2.2018 at 19:32:50 0 [main] sh 11944 sync_with_child: child 8076(0x1F0) died before initialization with status code 0xC0000142 24366 [main] sh 11944 sync_with_child: *** child state waiting for longjmp /usr/bin/sh: fork: Resource temporarily unavailable avr-gcc -mmcu=atmega16a -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT tester-chip.o -MF dep/tester-chip.o.d -c ../tester-chip.c ../tester-chip.c:3: fatal error: opening dependency file dep/tester-chip.o.d: No such file or directory compilation terminated. make: *** [tester-chip.o] Error 1 Build failed with 1 errors and 0 warnings... ===================== Подскажите, пожалуйста.....
Добавлено after 6 minutes 49 seconds: Прошу прощения. Удалил я свою 4 студию. Подчистил реестр, хотя она писала, что сама это сделает. Установил 4,18 в папку c:\Atmel\AVR Tools\ Запустил, создал проэкт заново в папку c:\Users\1\Documents\Tester-Chip\ Написал в файле :
Код:
int maine() { asm( "nop" ); }
Но вижу лог: ======= Build started 16.2.2018 at 19:32:50 0 [main] sh 11944 sync_with_child: child 8076(0x1F0) died before initialization with status code 0xC0000142 24366 [main] sh 11944 sync_with_child: *** child state waiting for longjmp /usr/bin/sh: fork: Resource temporarily unavailable avr-gcc -mmcu=atmega16a -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT tester-chip.o -MF dep/tester-chip.o.d -c ../tester-chip.c ../tester-chip.c:3: fatal error: opening dependency file dep/tester-chip.o.d: No such file or directory compilation terminated. make: *** [tester-chip.o] Error 1 Build failed with 1 errors and 0 warnings...
Помогите, пожалуйста......
Добавлено after 2 minutes 4 seconds:
Цитата:
int maine() { asm( "nop" ); }
Я писал вручную и ошибся при написании. Написано в коде правильно:
0 [main] sh 11944 sync_with_child: child 8076(0x1F0) died before initialization with status code 0xC0000142 24366 [main] sh 11944 sync_with_child: *** child state waiting for longjmp /usr/bin/sh:
никогда не видел, чтобы студия 4.18 работала с вот этим интерпретатором (см. выделение). и папка не характерная для Windows /usr/bin/sh у вас явно наблюдается конфликт утилиты make - наверное, установлено несколько версий и старая студия пытается запускать новую утилиту make... либо makefile у вас от новой версии студии остался...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
вот увидел еще одну кряку. Созданный проект закрыл. Открываю заново студию, Открываю тот проект и вижу новую брешь. Лучше скрин:
А потом снова компилятор лог: ============ 0 [main] sh 1000 sync_with_child: child 12240(0x1D0) died before initialization with status code 0xC0000142 30744 [main] sh 1000 sync_with_child: *** child state waiting for longjmp /usr/bin/sh: fork: Resource temporarily unavailable rm -rf tester.o tester.elf dep/* tester.hex tester.eep tester.lss tester.map make: [clean] Error -1073741502 (ignored) Build succeeded with 0 Warnings... 0 [main] sh 2092 sync_with_child: child 7036(0x1D0) died before initialization with status code 0xC0000142 14410 [main] sh 2092 sync_with_child: *** child state waiting for longjmp /usr/bin/sh: fork: Resource temporarily unavailable avr-gcc -mmcu=atmega16 -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT tester.o -MF dep/tester.o.d -c ../tester.c ../tester.c:5: fatal error: opening dependency file dep/tester.o.d: No such file or directory compilation terminated. make: *** [tester.o] Error 1 Build failed with 1 errors and 0 warnings... ================ Что ж я такого ему сделал? помогите, пожалуйста
Откланяюсь, сударь. Честь и хвала тебе. Потому что проблема решена. Начинаю кодить в AvrStudio4.18
А тот вопрос о переносе проэкта их AtmelSudio7 или 6 в старую 4 кто то решил? Или можно просто скопироваь файлы, создав новый проект в студии 4? Спасибо за помощь всем!
Заголовок сообщения: Re: AVR studio в вопросах и ответах
Добавлено: Чт мар 22, 2018 07:46:32
Открыл глаза
Зарегистрирован: Вт май 05, 2009 17:32:50 Сообщений: 52
Рейтинг сообщения:0
Доброго времени суток. Подскажите как AvrStudio 6.2.1563 SP2 сгенерировать файл .COF. а проблема вот в чем в студии кнопки работают нормально кнопка + пребовляет кнопка - отнимает, а в протеусе наоборот все просмотрел пины портов отрабатывают правильно хочу пошагово просмотреть программу.
Подскажите как AvrStudio 6.2.1563 SP2 сгенерировать файл .COF.
для протеуса это не надо, протеус отлично работает с ELF-файлом, генерируемым студией по умолчанию. но надо сформировать отладочную информацию в формате DWARF-2, для чего при компиляции следует указать параметр -gdwarf-2
но тут тоже не обходится без проблем: avr-gcc последних версий генерят отладочную информацию как-то криво (или еще что-то делают "не так"), в итоге протеус в принципе не понимает ничего даже при выключенной оптимизации. ну то есть файл с исходником открывается, но в нем на 99% строк нет возможности поставить точку остановки и, соответственно, невозможно пройти пошагово...
я решения проблемы не знаю, кроме как собирать для протеуса старыми версиями компилятора...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Заголовок сообщения: Re: AVR studio в вопросах и ответах
Добавлено: Чт мар 22, 2018 09:32:11
Открыл глаза
Зарегистрирован: Вт май 05, 2009 17:32:50 Сообщений: 52
Рейтинг сообщения:0
да вы правы генерирует как то криво. Ну это пол беды я как ни будь переживу самое главное они правильно отнимают и пребовляют в епроме видно А вот проверить обработку прерываний не получается посмотреть как AvrStudio проверить. сразу оговорюсь в это программе работаю не давно. Код программы компилируется но частота не меняется и как с этим бороться не знаю (ПОМОГИТЕ ЧЕМ МОЖИТЕ)
Код:
#define F_CPU 16000000UL // установка в программе частоты процесора #include <avr/io.h> // подключаем библиотеку ввода вывода #include <util/delay.h> // подключаем библиотеку задержек #include <avr/eeprom.h> // подключаем библиотеку ЕЕПРОМ #include <avr/interrupt.h>//подключаем библиотеку прерываний для счетчиков
uint16_t EEMEM Neep = 2399; unsigned int N = 2399;// переменная N делитель частоты
unsigned char M = 249; // Коэффициент деления таймера счетчика 0 unsigned char FChangeFlag = 1; // флаг для входа изменения частоты
//---------- void timer_in_0 (void) { //---------- // Задаем режим работы таймера-счетчика 0 //---------- TCCR0A |= (1 << WGM01);// WGM = 010 - режим CTC по сравнению //---------- делитель // задаем предделитель таймера счетчика 0 с предделителем 1024 TCCR0B |= (1 << CS00);// CS = 101 - от внутреннего источника TCCR0B |= (1 << CS02); //---------- Настройка компоратора // COM0A1 = 0 и COM0A0 = 1 - переключение OC0A в момент в момент совпадения TCCR0A |= (1 << COM0A0); OCR0A = M;// Задаем значение коэффициента пересчета 249 } //---------- void timer_in_1(void) { //---------- // Задаем режим работы таймера-счетчика 1 //---------- TCCR1B |= (1 << WGM12); // устанавливаем режим CTC сброс по совпадению //---------- делитель // CS = 111 - от внешнего источника (по фронту) TCCR1B |= (1 << CS10); TCCR1B |= (1 << CS11); TCCR1B |= (1 << CS12); //---------- Настройка компоратора // COM1A1 = 0 и COM1A0 = 1 - переключение OC1A в момент в момент совпадения TCCR1A |= (1 << COM1A0); }
//---------- // Обработка прерывания по совпадению TIMER1 по каналу A // Для устранения сбоев в работе счетчика при модификации OCR1A это лучше делать // в момент сброса счетчика //---------- ISR (TIMER1_COMPA_vect) { // Запрещаем прерывания по совпадению с OCR1AH OCR1AL TIMSK &= ~(1 << OCIE1A); // регистры сравнения 16 битный заносим AH старшую AL младшую часть переменной OCR1AH = (N >> 8) & 0x00FF;// Задаем новое значение коэффициента пересчета OCR1AL = N & 0x00FF;//записываем число для сравнения //---------- FChangeFlag = 0; //сброс флага }
int main(void) {
//Настройка портов ввода выводы DDRB = 0b00001100; // Определение напровления Порта В работаетна выход пины 2и3 PORTB = 0b11110011; // Подтягиваем резисторами не используемые биты DDRD = 0b0000000; // Порт Д работает на вход в нем 7 бит PORTD = 0b1111111; // Подтягиваем резисторами 7 бит
//---------- timer_in_0 (); timer_in_1 ();
sei ();//разрешить глобальные прерывания
FChangeFlag = 1;
//запись в ЕЕПРОМ а читать из ЕЕПРОМа не получилось //---------- eeprom_write_word(&Neep,N);// записываем переменную в ЕЕПРОМ
while(1) { //---------- // Опрос кнопок //---------- if (ANYKEY)//опрос нажатия кнопок { if (KEY2) { Buton_save(); // Проверим состояние кнопки "Save" и сохраним переменные }; if (KEY3) { Buton_minys (); // Проверка нажатия кнопки уменьшить }; if (KEY4) { Buton_plys();// Проверка нажатия кнопки увеличение }; };
if(FChangeFlag) { TIMSK |= (1 << OCIE1A); // Разрешаем прерывания по совпадению для модификации OCR1A }
Протэус ГОВНО даже кнопки и епром корректор не читает
вы ошибаетесь.
я так и не понял, что у вас за проблема. код, который вы привели, не полный - нет описаний ANYKEY, KEY2 и т.п. поэтому проанализировать ваш код сложно неизвестно, что за МК
что же вы от нас хотите?
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 42
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения