Отговори на тема  [ 37 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща
AVR Studio 5 beta 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юли 31, 2007 2:55 pm
Мнения: 1792
Местоположение: София
Мнение 
Мерси. Явно ще го пробвам, въпреки ужасния му размер и всичките "нововъведения".
Предполагам ще направи и update на Dragon firmware-а.


Съб Мар 05, 2011 12:46 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Юли 11, 2007 10:16 am
Мнения: 1730
Мнение 
мхм - прави ъпдейт на дракона.

И да добавя, че след като ъпдейтнете дракона до последната версия.. Avr Studio 4 ще ви зе разсърди
Цитат:
---------------------------
AVR Dragon
---------------------------
The AVR Dragon firmware (version 7.2, 7.2) is too new for
this version of AVR Studio. Only major version 6 is supported.
To continue, the firmware must be downgraded.
Would you like to downgrade the firmware?
---------------------------
Yes No
---------------------------



Съб Мар 05, 2011 12:53 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
И с Jtag ICE MKII излезе че е така.
Но това не е проблем поне при него. Моя съм го ъпдейтвал поне 200 пъти. Че често IAR и Судиото изискват различни версии на фирмуера. Но досега не е сдал багажа при това мероприятие. Пък е най старата хардуерна версия 1.0.
За който ще се мъчи с това да не се притеснява даънгрейдвал съм моя успешно после го ъпгрейдвах пак и си е ОК.

Като истински проблем който намерих e че програматора в Студио 5 не видях никъде на подържа ELF формат. Тоест не може в един файл да му вкараш фусовете,програмата,лок битовете и еепрома. И за тая работа пак ще трябва да се ползва четворката.


Съб Мар 05, 2011 3:17 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
NikB не мога да разбера какъв ти е проблема с този проект

никъде не си дефинирал F_CPU,просто го дефинирай.

А някои от следващите дефиниции от uart.c са направени и в iom128.h отвори го и ще се ориентираш как да си решиш проблема с повторното дефиниране.


Код:
/* some mcus have multiple uarts */
#ifdef UDR0
#define UBRRH UBRR0H
#define UBRRL UBRR0L
#define UDR UDR0

#define UCSRA UCSR0A
#define UDRE UDRE0
#define RXC RXC0

#define UCSRB UCSR0B
#define RXEN RXEN0
#define TXEN TXEN0
#define RXCIE RXCIE0

#define UCSRC UCSR0C
#define URSEL
#define UCSZ0 UCSZ00
#define UCSZ1 UCSZ01
#define UCSRC_SELECT 0
#else
#define UCSRC_SELECT (1 << URSEL)
#endif


Съб Мар 05, 2011 3:35 am
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 25, 2004 10:32 pm
Мнения: 710
Мнение 
Nikola Kirov написа:
NikB не мога да разбера какъв ти е проблема с този проект

никъде не си дефинирал F_CPU,просто го дефинирай.
Ами в ver 4. е достатъчно в опциите на проекта да определя честотата на процесора. в ver.5 не е така - това е странно (впрочем, в ver.5 не запомня Clock Settings - сякаш това е проблема).

Nikola Kirov написа:
А някои от следващите дефиниции от uart.c са направени и в iom128.h отвори го и ще се ориентираш как да си решиш проблема с повторното дефиниране.
Тук е същото - в ver.4. не се оплаква, но в ver.5. се оплаква.

Виждам, че в iom128.h са дефинирали битове
за /* USART (generic) */
и за /* USART1 */
и за /* USART0 */,

а в uart.c наново дефинират USART посредством USART0.

Не ми е ясна идеята, за да знам кое да сложа, примерно в условна компилация.


Съб Мар 05, 2011 1:16 pm
Профил ICQ WWW
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 25, 2004 10:32 pm
Мнения: 710
Мнение 
Сега установих, че вер.5 дава странно предупреждение, ако за име на функция се ползва идентификатор, започващ с главна буква.
"defined but not used"
Идентификаторът си се ползва.
Ако идентификаторъ е с малка буква - няма предупреждение.
Глупост някаква.


Съб Мар 12, 2011 8:40 pm
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
Проблема си е в твоя телевизор нещо :)
Компилирах един дребен проект оня ден с него. Никакви подобни Warring-и не ми изкара. А имам функции с главна буква. Пък и прекалено очеваден бъг на компилатора,надали не са го забелязали. Да не говорим че компилатора си е GCC който си ползват и в старата версия на студиото от години :)


Съб Мар 12, 2011 9:23 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 25, 2004 10:32 pm
Мнения: 710
Мнение 
Благодаря ти, много точни доводи, но само слагам и махам едно малко "а" пред главната буква в името на функцията и преупреждението изчезва или идва.
Ще търся проблема, но, ако ти се занимава (не е приоритет, нали :)) поствам един zip с тестовия проект.

(В прикачения файл,в папка Software е проекта aaPlanL3S5S4.avrgccproj,
функцията FAT_ChangeDir в sd_main.c.
И има файл "SHOW ME 1st.jpg" с screenshot на предупреждението (появява се при Rebuild solution))


Прикачени файлове:
PlanL3S5S4_L313_(dev-q45).Zip [857.34 KiB]
74 пъти
Нед Мар 13, 2011 12:11 pm
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
Ей ама голям проблем ти е това C :)

Първо си я декларирал най отгоре като static
static struct fat_dir_struct* FAT_ChangeDir( struct fat_fs_struct* aFAT, struct fat_dir_struct *aDir, char* aCmnd);


и после си я дефинирал най отдолу

Но никъде в кода не я викаш тази функция и тъй като е декларирана като static ти дава това предупреждение че не никъде не я ползваш. static в случая указва че тази функция се използва локално в този файл и не е необходимо компилатора да изкаарва референция за нея за линкера.

Като смениш най отдолу името на функцията а не промениш и най горе самата декларация нали се сещаш че стават различни функции. Най горе е само дефиниция и не се налага да ти дава предупреждение за нея. А най долу си е съвсем нормална функция без да е декларирана като static.

Загря ли? Преди да обвиняваш компилатора помисли сериозно за собствена грешка. Като начинаещи всички често сме обвинявали компилаторите за наште си дивотии,какво да се прави,човешинка ;):)


Нед Мар 13, 2011 12:29 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 25, 2004 10:32 pm
Мнения: 710
Мнение 
:) Проблем ми е C-то , :)
Но за конкретния случей - "a"-то го слагам на всички идентификатори: в дефинициите (горе, долу) и там, където се вика.
А гледам, че всички функции в модула са декларирани като static.
Функцията се вика от main(), в основния модул.
(много съжалявам, че ти губя времети и ти благодаря :))


Нед Мар 13, 2011 12:43 pm
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
Дефинирай си правилно структурите с typedef и махни това static от функцията щото я викаш в друг файл. Предположих че като си я дефинирал с static я викаш в същия файл,ама я викаш в aaPlan.c

И се научи да ползваш хедър файлове в които да си декларираш експортваните функции на C файловете.
Така както я караш кода ти е много нечитаем. Като инклудваш хедърите указваш и какво ползваш в съответния C файл.


Нед Мар 13, 2011 12:56 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 25, 2004 10:32 pm
Мнения: 710
Мнение 
Nikola Kirov написа:
Дефинирай си правилно структурите с typedef и махни това static от функцията щото я викаш в друг файл. Предположих че като си я дефинирал с static я викаш в същия файл,ама я викаш в aaPlan.c

И се научи да ползваш хедър файлове в които да си декларираш експортваните функции на C файловете.
Така както я караш кода ти е много нечитаем. Като инклудваш хедърите указваш и какво ползваш в съответния C файл.


ОК, ще го преработя изцяло.
Над 90% от проекта е събран от готови примери (аз съм добавил само един файл - основния, и той също е събран от примери).
Явно, не съм попаднал на подходящ писател :), но fat32 с MMC карта си върви ОК и на Протеус и на физическа платка.


Нед Мар 13, 2011 1:10 pm
Профил ICQ WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 9:19 pm
Мнения: 4464
Местоположение: Stara Zagora
Мнение 
Хм,не ми се работеше днес и рекох да си поиграя малко пак с това Атмелско творение.

Може би се налага да поназнайваш това онова за работата с GNU компилатора щото като позадълбах малко се оказа че много неща принципно са различни от останалите компилатори.

Първо не видях в опциите на проекта възможност за линкерски конфигурационен файл. Има ли такова нещо?
Има в опциите на линкера начин да се задават потребителски сегменти но не схванах каква е концепцията и как може да сложа сегмент на определен адрес с определена дължина.

И второ кода ми като се поразрасна малко се стигна до това
Код:
Target "CoreBuild" in file "C:\Program Files\Atmel\AVR Studio 5.0\Vs\AvrGCC.targets" from project "E:\Work_Projects\I2C\Software\i2c\i2c.avrgccproj" (target "Build" depends on it):
   Task "RunAvrGCC"
      make all
      AVR Memory Usage
      ----------------
      Device: attiny2313
      Program:    2682 bytes (131.0% Full)
      (.text + .data + .bootloader)
      Data:          8 bytes (6.2% Full)
      (.data + .bss + .noinit)
   Done executing task "RunAvrGCC".
Done building target "CoreBuild" in project "i2c.avrgccproj".
Target "PostBuildEvent" skipped, due to false condition; ('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\Program Files\Atmel\AVR Studio 5.0\Vs\Avr.common.targets" from project "E:\Work_Projects\I2C\Software\i2c\i2c.avrgccproj" (entry point):
Done building target "Build" in project "i2c.avrgccproj".
Done building project "i2c.avrgccproj".


Това 131% от програмната памет е направо смешно. Разбора се и програмата не работи. Иначе си зарежда нещо в процесора ама част от кода не е в реална памет и разбира се се омазва всичко.
Някакви идеи що става така? Не би ли трябвало просто линкера да си каже че няма достатъчно памет. Или такава е концепцията в GCC.

Изобщо в документацията на ATmel няма нищо за самия компилатор. Явно идеята е че някъде другаде трябва да чета за GNU AVR ама какво и откъде да чета .......

Всеки път като придобия някакво желание да почовъркам GNU компилатор още с първите опити ми секва желанието от цялата дървения. Рекох айде Атмел сигурно са се погрижили всичко да е малко по човешко ама ей го на. Кара ме да се чуствам като идиот и не мога еднин тъп тест да си подкарам.

Дайте малко акъл ако може


Съб Май 21, 2011 12:44 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
Nikola Kirov написа:
Това 131% от програмната памет е направо смешно. Разбора се и програмата не работи.


Все съм си мислел, че това е запазена марка на Microchip 8) , но гледам Atmel успешно ги конкурират :D . Hi-Tech на професор с 512 байта ми дава, че е използвал 702 байта RAM, обаче пък програмата си работи, не знам как го постигат :lol:

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Съб Май 21, 2011 6:28 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Ное 25, 2005 11:41 am
Мнения: 1680
Мнение 
Nikola Kirov написа:
Дайте малко акъл ако може



Искаш ли...? :D :D :D


Съб Май 21, 2011 11:09 am
Профил ICQ WWW
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 37 мнения ]  Отиди на страница Предишна  1, 2, 3  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни