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

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


За който му е интерсно,че доста си поблъсках главата докато намеря проблема.
Има неприятен бъг при инсталиране на beta 2. Поне на 32 битово XP както е при мен.

Оказва се че унрегистрира един dll и ако на компа има VC2005 или VS2008 се скапва работата им. Не могат да стартират и да дебъгват. Иначе самото AVR studio си работи. Проблема се решава ръчно с

regsvr32 "C:\Program Files\Common Files\Microsoft Shared\VS7Debug\msdbg2.dll"

Това е при 32 битово XP. За други системи не знам дали се лекува така.


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

Регистриран на: Вто Юли 31, 2007 2:55 pm
Мнения: 1792
Местоположение: София
Мнение 
Nikola Kirov написа:
Първо не видях в опциите на проекта възможност за линкерски конфигурационен файл. Има ли такова нещо?

Не съм пускал още 5-тата, та идея нямам къде по GUI-то може да се наклика, обаче не трябва да е много трудно за намиране. Ако няма специално поле за линкерски скрипт, просто си добавяш в опциита на линкера "-T file.lds". Ето ти откъс от автогенерирания Makefile от нещо:

## Linker flags
LDFLAGS = $(COMMON)
LDFLAGS += -nostdlib -T ../../proj.lds -Wl,-Map=proj.map

И примерен скрипт от същото нещо:

Код:
ENTRY(__start)

__stack_len = 64;

MEMORY
{
        flash : org = 0x00000000, len = 0x8000
        ram   : org = 0x00800100, len = 0x0800
}

SECTIONS
{
        .text : {
                * (.vectors)
                * (.text)
                * (.progmem.data)

                . = 0x7000;                     /* bootloader at 0x3800 */
                * (.boot)
        } > flash =0xFF

        .data : {
                * (.data)
        } > ram

        .bss (NOLOAD) : {
                __bss_start = .;
                * (.bss)
                __bss_end = .;
        } > ram
        __bss_len = __bss_end - __bss_start;

        .stack (NOLOAD) : {
                __stack_start = .;
                . = . + __stack_len;
                __stack_end = .;
        } > ram

        .dummy (NOLOAD) :{
                * (.trampolines)
        }
}


Цитат:
Има в опциите на линкера начин да се задават потребителски сегменти но не схванах каква е концепцията и как може да сложа сегмент на определен адрес с определена дължина.

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

Цитат:
И второ кода ми като се поразрасна малко се стигна до това
Код:
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% от програмната памет е направо смешно.

Това прилича като на нещо от IDE-то след GCC, та не му се вживявай. Дори не е ясно с какъв линкер скрипт е линк-нато, и колко са били големи секциите там. Линкерът (ld) определно би трябвало да гърми като не може да разположи модулите в обявената памет.

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

За GCC можеш да намериш достатъчно, веднъж като го смелеш, после конкретните дреболии за AVR се сдъвкват за минути. Нямам идея какво са слагали в тези Студия като документация.

Код:
Всеки път като придобия някакво желание да почовъркам GNU компилатор още с първите опити ми секва желанието от цялата дървения.

Е това ти е заблудата., от която идва белята.


Съб Май 21, 2011 3:42 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 6:52 pm
Мнения: 11266
Местоположение: Добрич
Мнение 
Nikola Kirov написа:
Всеки път като придобия някакво желание да почовъркам GNU компилатор още с първите опити ми секва желанието от цялата дървения. Рекох айде Атмел сигурно са се погрижили всичко да е малко по човешко ама ей го на. Кара ме да се чуствам като идиот и не мога еднин тъп тест да си подкарам.


А пък после се караш на децата, че си бъркат в носа, ъ? :D :D :D

Има две много важни неща, които трябва да знаеш, за да не се чувстваш като идиот:
Първо. GNU е набор от много и отделни инструменти.
Второ. Всеки инструмент се стартира с някакви опции, някакви входни данни/файлове и изкарва някакъв резултат на stdout и/или изходни файлове.

Идеята е всичко да е гъвкаво и да е отворено, затова са МНОГО инструменти и затова имат стандартен интерфейс на входа и на изхода си. ТИ РЕШАВАШ кой инструмент да ползваш, кога и как.

Най-близкият синоним на GNU е LEGO, защото имаш безброй части с които можеш да правиш каквото си поискаш. А това което ползваш ти е някаква играчка, която навремето е била сглобена от части на LEGO, само че сложили лепило между частите, след това отвън са запълнили фугите с кит и са боядисали. Може би се е получила много хубава играчка, само че тая играчка ВЕЧЕ няма НИЩО общо с идеята на LEGO и на GNU...

Няма лошо да се ползват визуални среди и да се работи с мишка. Аз също ползвам Еклипс и съшо ползвам различни заготовки, не правя всичко от команд промпта. Само че когато се работи с GNU трябва да имаш представа какво има вътре. Не може да кажеш "имам проблем с GNU". Все едно чувам блондинка да казва "имам проблем с колата" и не помни дали проблемът е със спирачките, дали фаровете или просто има "вода в карбуратора" ;-)

Ако имаш проблеми с компилаторите, ще ми покажеш лога от компилатора. Ако имаш проблем с линкера ще ми покажеш лога от линкера, евентуално какво му подаваш като опции, скрипт и т.н. Ако си малко по-напреднал може и verbrose да включиш, за да ти изкара повече подробности, или пък изходните файлове да ги анализираш с NM, OBJDUMP и т.н.

А ти изкарваш някакъв output на някакво приложение дето няма НИЩО ОБЩО с GNU, ама се оплакваш от GNU... Никола, ша са бийме да знайш!!!

Иначе на въпросите ти.. Естествено, че LD-то (линкера) има възможност за скрипт (освен ако не искаш всичко да му подаваш като аргументи). Естествено че се задават сегменти с адреси, размери и т.н. Накратко при компилация символите се разполагат в секции (.text, .bss и т.н. по подразбиране, но може и изрично да указваш кое в коя секция да иде). Това са т.н. "входни секции". А в линкерския скрипт дефинираш изходни секции като описваш връзката коя входна секция от кой сорс файл отива в коя изходна секция. Накрая в описанието на изходната секция казваш тя пък в кой сегмент да се разположи и как да се разположи, щото има различни начини... Когато (ако) стигнеш до там да си пишеш скриптове се обади, има разни особености относно служебните секции...
А за документацията е много лесно. Специално за линкера той е част от група инструменти наречени "binutils" и обикновено чичко гугъл дава на първо място линка към тая група - http://www.gnu.org/software/binutils/ ... Някъде накрая в страницата има секция "documentation"... Друг лесен начин бързо да намериш документация за GNU инструмент е просто да питаш гугъл за using + името му. В случая "using LD"


Съб Май 21, 2011 5:03 pm
Профил
Ранг: Минаващ
Ранг: Минаващ
Аватар

Регистриран на: Чет Дек 18, 2008 9:00 pm
Мнения: 16
Местоположение: 0x2A
Мнение 
А аз като един глупав човек да попитам... как стоят нещата, ако искам да програмирам през студиото с програматор, който не е листнат в списъка на 4-ката. Решен ли е този проблем? Има ли разширение в списъка с програматори, или още по-добре: не мислят ли да го направят плъгин-базирано?
Иначе ще чакам поне РЦ, че...

_________________
Bit happens


Пон Май 30, 2011 10:00 am
Профил WWW
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Чет Окт 01, 2009 8:50 am
Мнения: 125
Местоположение: Varna
Мнение 
Пробвах го студио 5
за професионални проекти може би е супер, шаренийката е пълна и циганийка има, всички са доволни...
Натруфено с какви ли не простотии, даже не ги разгледах всичките, преди да го истрия..

Но за човек който се обучава, ще го обърка тотално с неговите простотии и новите входно-изходни библиотеки който са му турили...

Може би добре е че подържа и старите библиотеки...

Сега за хелпа..
Не знам за вас ама по кофти и объркан хелп никога не бях виждал.. Пуснете си един PIC C Compiler хелп и ще разберете за какво говоря..
Не видях дали подържа Ц++ и пълната обектно ориентирана концепция...
Ама поне си има структорчета ох че кеф PORTA.OUT.DRUN.BRUN = 4; ураа голям + даже два ++ обектите и структурите са най големите лапачи на рам..



Моето лично мнение, не ангажирам абсолютно никой с него е....

Ако си професионалист и си много наясно с нещата, това е безценен помощник, особено дописването на кода...

Ама ако си правиш мигалки, и такива простотии или в момента се обучаваш, да дърпаш 500 мегабайта програма и да я инсталваш само и само да накараш едно диодче да мига, си е простотия..

Аз ползвам студио 4 (който странно много прилича на МВС) и с винАвр безплатен компилатор, и за това което аз правя ми е направо повече от достатъчно..

А да и нещо мн изнервящо, липсата на почти всякакви подбитови операции

Пример:
PINA0 = 1; бързо лесно просто и вкусно

PORTB &= ~_BV(PB2); уата фак ис дат, какво по дяволите е това??!??!??! виждам какво е не ми го обеснявайте, искам да кажа че си има си подбитови инструкции заложени от завода в чипа, не е нужно да се хвърлят маски и прочие тем подобни глупости..

_________________
http://truna.freehosting.bg/
форум за механици..
"Любителска електроника" не означава скапана а означава с много любов правена..

Ако можеше да се съберат техническият отдел на atmel и маркетинговият отдел на microchip, ще се получи нещо велико.


Чет Юни 02, 2011 7:59 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Чет Окт 01, 2009 8:50 am
Мнения: 125
Местоположение: Varna
Мнение Re: AVR Studio 5 beta
Пробвах последната налична версия на студиото 6.0

Това вече е съвсем друго, вече ми харесва само два проблема, който за мен са съществени, за някой друг сигурно не..

Двуядреният ми процесор 2 гига става червен докато работя с тая програма, голяма накъсвация..
Явно трябва да си купя 8 ядрен за да върви гладко, ама още нямам толкова пари.

Дебъгера отново не е предназначен за начинаещи, и като цяло хелпа и подръжката им куца, а документацията им е супер зле..
Ако се чудите защо така говоря просто вземете един пик компилатор за да сравните документацията за да видите разликите.. :rolleyes:

И в крайна сметка като тегля няколко пу--ки майни си пускам пак авр студио4 и си джугам на него, явно съм си свикнал с туй тъпото студио4 щото не го оставам....
като почнат нещата да имат сантиментални стойности явно остарявам..

А, да изкефих се като видях че в 6 има вече С++ компилатор :lol: :axe: най накрая някой да седне да напише компилатор на си++ за микраконтролер...
Ама дали ще се ползва често бъдещето ще покаже...

_________________
http://truna.freehosting.bg/
форум за механици..
"Любителска електроника" не означава скапана а означава с много любов правена..

Ако можеше да се съберат техническият отдел на atmel и маркетинговият отдел на microchip, ще се получи нещо велико.


Пет Сеп 07, 2012 8:06 am
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Съб Сеп 25, 2004 10:32 pm
Мнения: 710
Мнение Re: AVR Studio 5 beta
Хи, хи, хи :)
Не те знам какво програмираш, но не си много прав за AVR-5, че и за Microchip.

Програмирах пикове от 1994г до към 2004 и сега - последните 1-2 години пак се тормозя с тях (но без да се напъвам много :)) - куца среда, куци процесори, само документацията им на грешките в чиповете е горе-долу добра :)

А с Атмега128 миналата година, за около месец и половина си пуснах девайса с проста програмка на C - с MMC карта с FAT32 - всичко тръгна от първия път, след като го бях симулирал на Протеус. Не, че са идеални, но просто не може да се дава Microchip за никакъв положителен пример :)

А, да - ето едно линкче (VBox7) към мой Pic девайс от 1997-8г :axe:.


Пет Сеп 07, 2012 7:31 pm
Профил ICQ WWW
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 37 мнения ]  Отиди на страница Предишна  1, 2, 3

Кой е на линия

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


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

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