Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

GNUARM (gcc) функции - reference
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=1930
Страница 1 от 1

Автор:  the_real_maniac [ Съб Мар 04, 2006 7:50 pm ]
Заглавие:  GNUARM (gcc) функции - reference

Значи знам ANSI C , програмирам за х86 на С и ясно какви са функциите и какво правят и прочие.

ОБАЧЕ говорим за gnuarm -> i.e. gccarm

като се ползва newlib заместваща стандартната gnu libc - ок.

Обаче НЕ виждам никъде специфичните embed функции.

Примерно:

- установи в единица GPIO еди-кой-си
- изпрати по USART
- кои са стандарните потоци -> примерно потока за USART-a , поне предполагам че е направено да е като някакъв файл -> поток. ???

и т.н. , и т.н. ???

Прегледах не веднъж newlib - reference , но нъц - нищичко.

Само основни неща като fclose -> затваря отворен вече поток или файл сочен от ... бла-бла.

Демек това са си ясни неща, въпроса е къде са описаните специфични функции , в крайна сметка ще взема да почна хедърите едни по един, но това е страшно глупаво при положение ,че трябва и 100% има някъде ръководство, списък с кратко обяснение и основен вид на функцията.

прочие ... :(

Направо ще се разплача , всичко ми е готово само, че не мога да програмирам без да знам с какви фунцкии (все едно инструкции) разполагам :-(

Автор:  Bezmozachen [ Съб Мар 04, 2006 10:13 pm ]
Заглавие: 

Не се занимавам с армове, но си мисля че такива функции няма да намериш. Или поне не там където търсиш. Хардуера по микроконтролерите с арм ядро е различен, при различните производители, та си мисля че едва ли има готови такива функции. Може самите производители да са си направели собствени, но едва ли ще се разпространяват с GNU-ARM.

Автор:  BrainStorm [ Съб Мар 04, 2006 10:53 pm ]
Заглавие: 

Тук ще намериш доста инфо : http://www.dreamislife.com/arm/

иначе клатенето на портовете или определен регистър става по стандартния начин ... име на порта/регистъра = стоиност

като под име се подразбира име на порт/регистър асоциирано с даден адрес.

Код:
@; REGISTER ADDRESS DECLARATION
IODIR = 0xE0028008;

//-------------------------------------------

IODIR = 0х5555;

Автор:  the_real_maniac [ Съб Мар 04, 2006 11:05 pm ]
Заглавие: 

Значи на gnuarm.com има хедърни файлове за не малко ARM MCU-тата , но за AT91SAM7S64/128/256 няма

А гледам по форуми, майлинг листи И лични сайтове ползват на KEIL хедъра и говорят за gcc :?

http://gandalf.arubi.uni-kl.de/avr_proj ... _at91.html -> просто вижте в примерите какъв хедър се ползва:

http://www.keil.com/dd/docs/arm/atmel/s ... 1sam7s64.h , но с година и нещо по-стара версия :?

Въобще си няма и идея как така е станала тази "съвместимост".

---

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

Благодаря за отделеноето време :-)

едит: междувпрочем на gnuarm няма дори хедър и за lpc21xx , тогава ми е очудващо човека от сайта , който даде какъв хедър или от къде той си получава набора от функции и/или специални потоци и/или файлове :?

в неговият изходен код няма дори едно include , само нали прикомпилирането е указан един файл с asm , ако не се лъжа Код преди неговият неговият код.

И пак ... абе нещо много мътно ми стана ... нещо не е в ред, аз ли грешно разсъждавам и не тръся каквото трябва или :? :(

Автор:  Balkana [ Нед Мар 05, 2006 12:35 am ]
Заглавие: 

Tуй дето го търсиш, както каза някой по-нагоре, може да дойде само от производителя - има го на STMicro за серията STR71x. За Atmel не съм срещал още. А за хедър - някой от комерсиалните компилатори, вземаш си наготово. В примерите на http://www.at91.com не може да няма също :)

Автор:  Цецо [ Пон Мар 06, 2006 12:23 pm ]
Заглавие: 

Хем боли, хем сърби а?

Искаше ANSI С, получи го :))))))))

Библиотеките за които питаш са извън стандарта и не са предмет на разговор.

От тук на там имаш два варианта - написваш си ги сам (което аз правя, макар че не ползвам gcc), или ровиш да намериш готови които някакси да пригодиш към gcc (което понякога е добър вариант - да не откриеш пак топлата вода). Решение е може би да вземеш някой "комерсиален" продукт който ги има (но да има и сорса), и да си ги "пригодиш". Аз обикновенно установявам че ми е по лесно сам да пиша. И без това в 90% от случаите на използване на UART нещата са вън от всякакви стандартни рамки.

Автор:  the_real_maniac [ Пон Мар 06, 2006 1:37 pm ]
Заглавие: 

Абе аз до това заключение стигнах, но за да си напиша собствени функции за всичко ще ми се наложи да ползвам ASM-то за ARM7 , та се чудя дали да не се ориентирам към чисто и само asm , въпреки че направо бях получил ... екстаз преди време като разбрах , че има gccarm :oops:

Иначе ясно , че са извън стандарта библиотектие /хедърите за различните арм-ове, просто обаче примерно за LPC-тата има доста материали и обяснения за хедърите за gcc , докато за AT91 нъц , нищичко.

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

Да не говорим, че просто този хедър, които намерих единствено за AT91SAM7S64 не ме радва особено , много пренатруфен ми изглежда , не мога да си съсредоточа погледа в/у кода.

Та в момента обмислям какво ще правя, НО ОПРЕДЛЕНО IAR не ме радва , ама хич.
Наречете го първо впечатление :P може и да е грешно :P

Автор:  Цецо [ Пон Мар 06, 2006 2:10 pm ]
Заглавие: 

Не разбирам защото ти е асемблер в случая. Пин се клати с проста операция за присвояване на С.
Много малко са нещата в днешно време които се налага да се пишат на асемблер. Обикновенно това са бързи входно изходни процеси (където се целят 100 -тици наносекунди). Другото са разни заобиколки и донастройки на компилатора. Но това не ти е проблем засега. Та на АРМ да пишеш на асемблер, поне в твоя случай невиждам защо.

Автор:  ДедоБоре [ Пон Мар 06, 2006 2:42 pm ]
Заглавие: 

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

не ти харесва документацията? :-k
на мен това стуктуриране определено ми харесва
http://www.at91.com/AT91_Microcontroller/AT91SAM7S64-BasicTools-IAR4_11A-1_0/include/AT91SAM7S64.html
този хедър също е много добър:
http://www.at91.com/AT91_Microcontroller/AT91SAM7S64-BasicTools-IAR4_11A-1_0/include/HTML/AT91SAM7S64_h.html
процесора е сложен и нама как да стане по-малък хедъра.

ако не ти харсва - ми твоя си работа. въпрос на вкус е явно. а вкуса се придобива с времето... или веднага :lol:

Автор:  the_real_maniac [ Вто Мар 07, 2006 8:41 pm ]
Заглавие: 

Еми това е мисля , то това май е и хедъра , които ползва и KEIL :-)

C-то се транслира до asm

А относно простото присвояване и асм-то - да така е и все пак ;-) :-)

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/