| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| хедърчета/демо проект за Луминари? http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=7472 |
Страница 1 от 1 |
| Автор: | miro_atc [ Вто Яну 19, 2010 5:06 pm ] |
| Заглавие: | хедърчета/демо проект за Луминари? |
Както се казва гледам и не вярвам на ушите си.... Почвам нов проект с Луминари/ТИ и първото нещо дето естествено ми трябва са хедъри с дефиниции на регистри на чипа. Имам една демо платка оригинална със СД, но вътре сорсове йок. Що за евал е това дето поне един hello word няма ?! Всъщност има някакъв StelarisWare дето инсталира сорсове май на библиотечки и няколко примера и даже има хедърчета... Обаче: 1) Проца не е този който ми трябва, дори не съвпада с тоя от демоплатката... Съответно хедърите за тоя проц може би не са тия дето ми трябват. 2) Include директорията ми изглежда твърде обемиста, вероятно заради Луминарските библиотеки. А пък те са с лицензи някакви и не искам да се забърквам с тях. Искам си само хедъри за чипчето... Та въпросът е откъде да изкопая минималния набор хедъри? Евентуално версия за асемблер (без структури, енъми и т.н.) и С/Ц++ версия... |
|
| Автор: | Nikola Kirov [ Вто Яну 19, 2010 5:58 pm ] |
| Заглавие: | |
От IAR разбира се Само не знам нещастното GCC дали ще се оправи директно с разните структури там или ще трябва да преправяш. |
|
| Автор: | miro_atc [ Вто Яну 19, 2010 6:23 pm ] |
| Заглавие: | |
Е па ти съвсем ще ме довършиш.... Преди малко го инсталирах и тоя IAR за just in case.... Първо има само най-старите чипове, а мен ми трябва сравнително нов (lm3s9b90) и второ IAR-ските хедъри са съвсем различни от всичко познато ми досега... От друго някакво бордче изкарах някакви хедъри, само дето не мога да им схвана концепцията. Има един супер голям lm3s9b90.h в който има описание и на регистрите и на техните адреси. Отделно има множество хедъри за различни периферии, но само дефиниции без адреси. Изглежда като че ли са алтернативни - или инклудваш огромния хедър за целия процесор, или парчета за конкретните периферии... Изглежда логично, само че на практика май не е изпипано добре, щото въпреки че е супер голям процесорния хедър не включва цялата информация. Поне аз не мога да намеря нещо толкова елементарно като това откъде почват flash, ram.. и съответно техните размери. А в парчетата има такава информация.... Иди че го разбери както се казва |
|
| Автор: | Nikola Kirov [ Вто Яну 19, 2010 7:31 pm ] |
| Заглавие: | |
Трябва да качиш последния IAR. Ъпдейта излезе тази година. Дръпни си евалюшъна от сайта им. Само не знам колко ще ти коства борбата с GCC да тръгне с иарския. C99 спецификациите мисля че са проблема. В гнуста май се включват с някакъв допълнителен ключ. А къде са ти паметите при IAR е в линкерския файл. Не го търси в хедъра. Автоматично ти се генерират съответните константи които можеш да ползваш в C кода. Това със сигурност ще трябва да си го въведеш ръчно при теб. Не съм качвал последния при мен иначе щях да ти дам направо необходимия хедър. |
|
| Автор: | Dimitar [ Вто Яну 19, 2010 10:00 pm ] | |||||||||
| Заглавие: | ||||||||||
Миро, inc файловете с в поддерикторията inc, където се инсталира StelarisWare и за тях не ти трябват никакви лицензи. Отделно поне според мен са си в нормален вид. Ето ти част от един файл да сравниш:
За тоя новия процесор ще ти трябва версия 5.41.1 на IAR. |
||||||||||
| Автор: | Dimitar [ Вто Яну 19, 2010 11:31 pm ] | ||
| Заглавие: | |||
Миро, ето ти хедър за 9b90 от последната версия на библиотеките:
|
|||
| Автор: | miro_atc [ Сря Яну 20, 2010 11:40 am ] |
| Заглавие: | |
Никола, мерси но IAR-ските хедъри не ми вършат работа... Те са за хората дето ползват IAR Иначе и аз мога да си вкарвам и си вкарвам някои неща в линкерския скрипт, пък и константите си ги знам, но целта е както се казва "да го направя като хората"... Затова повече ме интересува каква е практиката, отколкото самите хедъри. Dimitar, и аз успях да намеря тоя файл както писах по-горе. Но още не съм сигурен, че им схващам идеята... Проблемът е, че като гледам никой не го използва, което е нормално като се има предвид скромния размер от 11,000 реда. Вместо това има "разбивки" по периферии и гледам че като че ли това е по-разумния начин на работа с хедъри? Още повече, че има и друг момент - аз сега ползвам един чип, но утре мога да го сменя със сходен. Демек ако сега наблъскам #include "lm3s9b90.h" навсякъде из сорсовете в последствие ще трябва да ги оправям. А това е кофти идея... Та заключението до което стигам е, че по-добре да ползвам разните "hw_xxx.h" които се надявам че са универсални и важат за всички луминарита. Само за асемблера още не съм решил как да подходя, щото някои хедъри могат да се ползват и от асемблер други не... Кофти малко.... При Атмел нещата поне бяха чисти - един хедър за С и втори универсален дето може да се използва и от асемблер и всичко беше просто и ясно... Тук с Луминари ми е малко объркващо |
|
| Автор: | Dimitar [ Сря Яну 20, 2010 3:57 pm ] | |||||||||
| Заглавие: | ||||||||||
Аз също ползвам тях и досега поне не съм имал проблеми като съм компилирал един и същи сорс за няколко различни процесора |
||||||||||
| Автор: | miro_atc [ Чет Яну 21, 2010 5:12 pm ] |
| Заглавие: | |
с хедърчетата стана номера... Сега се боря с exclusive достъпите (LDREX, STREX) - някой ползва ли ги? Не мога да намеря информация дали помни адреса който се заключва... От АРМ казват "implementention defined", демек може и да помни, може и да не помни... А от Луминари не намирам нищо по въпроса... Всъщност мъча се да реша дали трябва да прекъсвам достъпите с CLREX при влизане в прекъсване или смяна на контекст. Бих могъл да го спестя ако помни адресите, т.е. ако имам: ТАСК А: LDREX X TАСК Б: LDREX Y STREX Y LDREX Z ТАСК А: STREX X В тая ситуация ако не помни адреси, всички записи би трябвало да минат успешно. Но ако помни адреса няма да мине последната, щото ще очаква запис на адрес Z, a не на X. И още един въпрос свързан с приоритетите... В документацията намекват, че не толерират инверсия на приоритетите, така ли е? Примерно ако искам да използвам SVC съм ограничен да го ползвам само от прекъсвания с по-нисък приоритет? |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|