|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 8:58 am
Изпитан toolchain за Cortex M3.
| Автор |
Съобщение |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Какъв start-up код и линкер скрипт ползваш?
Че в мойте има някой неща дето не ми допадат особенно......
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пон Окт 18, 2010 4:24 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
linker скрипта не съм го барал, освен размери/адреси на паметите... иначе още си седи със секциите за многото стековете на 7-цата
Ако кажеш ще ти го дам, няма проблем. А за стартъп кода, значи то няма много-много инициализации... Може директно да тръгнеш на Ц... аз все пак имам някакви инициализации ама те са ми част от кърнела, а ти такива работи не ползваш...
едит: а пък за ягартото само да кажа, че има проблем с GCC 4.5. Явно при прехода от arm-elf- към arm-none_eabi- нещо се генерира различен ELF-файл и GDB не може да намери сорса на някои класове/функции. Нямам много време да го боря, затова просто върнах версия 4.4.2 от старото yagarto.
бтв. "сварката" на fan е с 4.6 там може и да е оправено, не съм пробвал...
|
| Пон Окт 18, 2010 6:42 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
То стартъп се оказа, че и ST си давали, гледам май грамотно е направен че и по стандарт
Иначе то и аз имам линкерски скрипт от преди някакъв, не че не работи. Ама и моя е пълна каша, щото е преправян от 7ца....  Мислех, че в Ягартото може да има някакъв написан прясно, ама и там се мъдри един дето обикаляше по форумите отпреди 2 години  От codesourcery пък не мога да открадна, щото там май са го наврели в проектния файл гадовете в някакъв си техен формат. Или поне никъде не можах да го намеря....
Значи викаш да не тургам gcc 4.5? Ми тогава и аз ще взема да ръгна 4.4 от CodeSourcery. На тия някак си им имам повече доверие, щото все пак пари вадят от това.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Пон Окт 18, 2010 8:06 pm |
|
 |
|
fan
Ранг: Почетен член
Регистриран на: Съб Окт 13, 2007 12:12 pm Мнения: 712
|
Ами нали ти пратих преди време една сглобка, що не погледна до сега! Там Всичко е на С.
|
| Пон Окт 18, 2010 8:24 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Щото нали знаеш, че като ми пратиш нещо дето не е на дневен реди и директно го слагам в графата "друг път" от където рано или късно изчезва безследно  .
Я прати нещо по въпроса. Ама само линкерски скрипт и стартъп фаил за STM32 да видя при теб как е направено  Не ми пращай цялата сглобка, че на компютъра ми в момента има инсталирани сигурно 5 сглобки и стана пълна каша.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Вто Окт 19, 2010 8:43 am |
|
 |
|
fan
Ранг: Почетен член
Регистриран на: Съб Окт 13, 2007 12:12 pm Мнения: 712
|
Най-лесно е да си свалиш CoIDE от Coocox-a.
Там всичко е подредено и ясно, а щом се интересуваш и от това - модерно.
http://ifile.it/baug7yh
Линкерския скипт е разделен на две - memory.ld за адресното пространство на конкретния контролер и link.ld за самия скрипт.
За стартъпа погледни startup_stm32f10x_md.c
|
| Вто Окт 19, 2010 9:10 am |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Мда. Малко по прегледно изглежда тоя скрипт 
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Вто Окт 19, 2010 11:15 am |
|
 |
|
setoy
Ранг: Почетен член
Регистриран на: Пет Фев 17, 2006 9:17 am Мнения: 765 Местоположение: Стара Загора
|
Това е за луминари, едва ли ти върши някаква работа, но за сметка на това е кратко , ясно и лакони4но  pr1_Debug_mem.ld " : "pr1_Debug_lib.ld ":
|
| Вто Окт 19, 2010 1:52 pm |
|
 |
|
fan
Ранг: Почетен член
Регистриран на: Съб Окт 13, 2007 12:12 pm Мнения: 712
|
Здравейте!
За който го интересува споделям малко инфо:
Eclipse Embedded Systems Register View
http://sourceforge.net/projects/embsysregview/
- При дебъг показва предварително избрани периферни регистри.
За сега в списъка са тези на:
STM32Fxx, LPC13xx, LPC17xx, LPC23xx, LPC24xx, Luminary, EnergyMicro.
Eclipse Hex Editor Plugin
http://sourceforge.net/projects/ehep/files/
- плъгин за хекс едитор...
и нещо лично от мен и ... не само
http://ifile.it/yfwnhlt
- За подсещане ...

Последна промяна fan на Вто Окт 26, 2010 12:35 pm, променена общо 1 път
|
| Пон Окт 25, 2010 8:10 pm |
|
 |
|
miro_atc
Ранг: Форумен бог
Регистриран на: Нед Фев 26, 2006 6:52 pm Мнения: 11266 Местоположение: Добрич
|
Това което дава fan вероятно ще бъде интересно за начинаещи, което ме навежда на мисълта че може би не е зле да се поорганизира малко информацията на тема "трикове"
Специално за дебъгването... преди години щях да бъде много щастлив да имам подобно Register View... но сега съм щастлив, че не съм имал такива глезотии и поради неволята понаучих чат-пат GDB.
Истината е че GDB изглежда много чепат, но е невероятно мощен дебъгер. Тъй че който смята да се занимава сериозно по-добре да отдели време да го научи, отколкото да се залъгва с подобни плъгини.
Първо да кажа, че за да се работи с GDB е необходима удобна конзола. А CDT плъгина на Eclipse така и не можах да се сработя с него. Затова продължавам да ползвам Zylin който отдавна не се съпортва, но.... линкът за инсталация (в Eclipse Help->install new...):
http://www.zylin.com/zylincdt
Второ, бих препоръчал Ц++ вместо Ц. Ще направя една уговорка само, че Ц++ изисква малко усилия и в началото има само проблеми и лоши резултати (повече код и т.н.), но като посвикне човек нещата си идват на място
И сега за регистрите... Аз съм си ги направил на класове (по-точно POD-структури) и естествено същестуващите периферии са дефинирани като променливи от съответния тип. От тук нататък има два прости начина да се ползват:
1) Може да се разглеждат визуално като просто в таб-а variables цъкъш на ичилцата добавяш UART1 примерно и той ти излиза почти по същия начин както в Register View. Удобството на тоя начин е че изглежда както сте свикнали, включително и като степ-неш се оцветяват промени и т.н. Неудобството е, че виждаш ограничен брой неща, освен това като добавиш повечко неща за гледане те се опресняват на всяка стъпка, дебъгера става тромав и т.н.
2) Всяка променлива може да се разглежда в конзолата. Да не обяснявам всички GDB команди (то не и ги знам) но примерно print - т.е. пишеш "p UART1" и то ти го извежда.
Неудобното на тоя метод, е че може би изглежда "по-дървено". Но удобното е че може да видиш *всичко*. Практически чрез на print може да подадеш всякакъв Ц/Ц++ израз.
Иска се малко опит в началото докато свикнете, но после няма връщане  Тук ще кажа само няколко трика - първо в .gdbinit може да си правите всякакви макроси, така че да не се налага постоянно да пишете като луди
Другото което е, че принт-а на GDB наистина може да ползва *всякакви* Ц/Ц++ изрази. Включително и да викате ваши функции от кода!
Да кажем, че UART-a има метод "GetChar" то като напишете в GDB конзолата:
GDB ще извика тая функция, която забележете е ваша функция от вашия код и която чете 1 символ от UART1. Резултататът ви се извежда в GDB конзолата.... "найс а?
Разбира се, същото ще го направи и с просто Ц, но Ц++ е доста по-прегледно... Примерно аз си правя по-сложни класове и обикновено им добавям метод "dump()"... В тоя метод трейсвам обекта по някакъв по-симпатичен начин. Понякога викам dump() в самия код за да трейсна обекта. Но и докато дебъгвам винаги мога да спра и да дъмпна каквото си искам... Примерно имам дъмп за файловата си система, която дъмпва всички логически дискове/сектори/файлове... Имам си дъмп на динамичната памет, който листва всички заети парчета памет (върнати от malloc). всички дупки и т.н.
Не знам дали ме разбирате, ама това което "тъпата" GDB конзола позволява няма да го намерите като "view" в нито един лъскав плъгин 
|
| Пон Окт 25, 2010 9:52 pm |
|
 |
|
fan
Ранг: Почетен член
Регистриран на: Съб Окт 13, 2007 12:12 pm Мнения: 712
|
О, супер е благодаря много!
А, по въпроса за Zylin, трябва да ти кажа, че продължават да го обновяват. Така, че дерзай!
Поздрави!
|
| Пон Окт 25, 2010 10:08 pm |
|
 |
|
setoy
Ранг: Почетен член
Регистриран на: Пет Фев 17, 2006 9:17 am Мнения: 765 Местоположение: Стара Загора
|
fan, благодаря за линковете, но това един и същи линк два пъти  Опитах да го сложа, но нищо ново не се появи в Еклипсето. Какво трябваше да се случи ? 
|
| Вто Окт 26, 2010 12:28 pm |
|
 |
|
fan
Ранг: Почетен член
Регистриран на: Съб Окт 13, 2007 12:12 pm Мнения: 712
|
О, извинявайте! Коригирах линка!
Сега за Eclipse Embedded Systems Register View:
като се отвори интернет страничката му, не се натиска директно бутона за даунлоад!
Натиска се "View all files".
След което се изтегля "org.eclipse.cdt.embsysregview_0.1.6.jar".
Копира се в еклипс потдиректория plugins.
После копираш "org.eclipse.cdt.embsysregview_feature_0.1.6.jar" и го слагаш в features папката.
След това в еклипса:
Window->Preferences->C/C++->Debug->EmbSys Register View
избираш, конфигурираш, OK и излизаш от там!
Отваряш Debug перспективата и избираш:
Window->Show View->Other->Debug->EmbSys Register View
И се появява таба!
Активирането на съответния регистър става чрез двоен клик върху него. 
|
| Вто Окт 26, 2010 1:05 pm |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
Я ми кажи каква е далаверата, преди да съм се омазал с поредната инсталация на тоя Реджистри вию:)
Що е това - джамче на Еклипса да си ръчкам регистрите ли? На какъв принцип работи - трябва ли да имам някъде описание на регистрите или то си ги знае наизуст?
То и без това на старата сглобка, все нещо не ми излизаше като хората с дебъгването на регистрите. Аз ли не ги описвах като хората, Zylyn ли имаше проблем.... та ако има нещо да работи като хората....
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Вто Окт 26, 2010 1:35 pm |
|
 |
|
fan
Ранг: Почетен член
Регистриран на: Съб Окт 13, 2007 12:12 pm Мнения: 712
|
Ами всичко си се появява като структури под формата на папки, само си избираш кои регистри да ти опресни нищо не въвеждаш допълнително. Що те е страх да си го сложиш и погледнеш?
Последна промяна fan на Вто Окт 26, 2010 1:59 pm, променена общо 1 път
|
| Вто Окт 26, 2010 1:38 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 1 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|