| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| C18 - проблем със статична променлива http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=13323 |
Страница 1 от 1 |
| Автор: | marcuka68 [ Чет Ное 06, 2014 5:30 pm ] |
| Заглавие: | Re: C18 - проблем със статична променлива |
Нещата се оправиха по още по-странен начин - като компилирам сорса, в MPLABX. Но пък тук не се поддържа extended mode и кодът винаги е доста по-голям. Това може да се дължи и на включени опции в процеса на компилация, които не успявам да променя: -ms -oa- -o-. Има ли някои, които вече се е занимавал с подобни проблеми? |
|
| Автор: | ¶ [ Чет Ное 06, 2014 10:37 pm ] |
| Заглавие: | Re: C18 - проблем със статична променлива |
Как разбра, че в MPLAB X не се поддържа extended mode за PIC18 ?? Това си е опция на компилатора. Ако забравиш да зададеш правилния linker-ски файл може да ти изплюва някакво съобщение, че не се поддържа, но иначе extended mode си работи, поне от пролетта на 2013г. Когато настанат такива главоблъсканици най-изпитаното решение е да започнеш с нов проект от нулата. |
|
| Автор: | marcuka68 [ Пет Ное 07, 2014 10:32 am ] | |||
| Заглавие: | Re: C18 - проблем със статична променлива | |||
Ами при опита ми да го пусна в extened mode, средата ми се скара, потърсих в интернет и там пишеше, че този режим не се поддържа в MPLABX. Сигурно съм прочел нещо старо или е отговорил някой, който е знаел колкото мен. Прикачил съм настроиките на компилатора, с които опитах да компилирам в extended mode. Със същия линкерски файл, в MPLAB8 се компилира. Дали знаеш къде бъркам? Ти кои компилатор ползваш за ПИК16/18?
|
||||
| Автор: | ¶ [ Пет Ное 07, 2014 2:58 pm ] |
| Заглавие: | Re: C18 - проблем със статична променлива |
Компилатора не ти дава грешка, а линкера, доколкото виждам. Компилатора разпечатва предупреждение, че "default access RAM is not supported in extended mode", което си го пише в документацията на процесора, потърси extended mode описанието, за да видиш какво не можеш да правиш в този режим. Най-вероятно имаш някаква променлива, която си дефинирал в default access RAM ( може би си използвал "near" спецификатор ? ) , а в extended mode не можеш да имаш променливи дефинирани в default access RAM. Не помня коя версия съм използвал, беше миналата година. Ще погледна по-късно, процесора беше PIC18F4580. |
|
| Автор: | marcuka68 [ Пет Ное 07, 2014 3:24 pm ] |
| Заглавие: | Re: C18 - проблем със статична променлива |
Сега, като помислих, не мога да ползвам extended mode, защото ползвам лайт версията на компилатора. А по-рано ми се стори, че компилиран с MPLABX кодът е по-голям, защото там изразходваната ФЛАШ памет е в байтове, а в MPLAB8 е в думи. |
|
| Автор: | relsys [ Пет Ное 07, 2014 3:53 pm ] |
| Заглавие: | Re: C18 - проблем със статична променлива |
Ех, тая изразходвана памет.... Изразходваното време е по - ценно ми се струва. 18F45K22 има 32К. Ако толкова не ти стига памет, винаги можеш да минеш на 46К22, там има 64К. В крайна сметка, вече има и MZ с 2 МБ |
|
| Автор: | marcuka68 [ Пет Ное 07, 2014 3:59 pm ] | |||||||||
| Заглавие: | Re: C18 - проблем със статична променлива | |||||||||
Имаш право, по-ценно е времето, ама знам ли, утре може да я запълня паметта, та ми се иска да знам това-онова, ако се наложи. |
||||||||||
| Автор: | marcuka68 [ Пет Ное 07, 2014 6:43 pm ] | |||||||||
| Заглавие: | Re: C18 - проблем със статична променлива | |||||||||
Леко взех да пиша глупости - не е причината, че компилаторът ми е лайт версия, нали в МПЛАБ8 се компилира с разрешен разширен режим. Прегледах за употреба на near променлива из кода. Имаше само rom такава. Е, както се вижда, за сега ще си карам без разширения режим. Хайде, че е петък вечер! |
||||||||||
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|