| Автор |
Съобщение |
|
juzisound
Ранг: Почетен член
Регистриран на: Съб Май 27, 2006 12:37 pm Мнения: 647 Местоположение: с. Згалево
|
 HITECH PICC-18 - коя е последната наистина работеща версия?
Имам следния проблем. Пиша код за 18Ф452. До около 28% програмен код - всичко работи добре - от там нататък - пълна каша. Пробвал съм омпилаторите 9.50PL3 и 9.61Pro. И двата се огелпват като нарастне малко повече програмата, като 9.61 и не дава вярна информация за използваната РАМ. То това си му е бъг - пише в документацията че са го оправили в 9.61, ама явно пак го има. Та въпроса ми е, коя е последната наистина работеща версия - под наистина работеща разбирам някой да е напълнил 70-80% от подобен процесор с работещ код.
Ако смятате че бъркам някъде другаде - кажете, да не се илагам де...
Само да добавя, че при един напълно работещ проект, само като добавя няколко функции - без дори да ги викам някъде в програмата - без даже да променям каквото и да било - спира да работи и стария код...
Споделете ако сте имали подобни проблеми...
|
| Вто Авг 21, 2007 11:54 pm |
|
 |
|
mndsl
Ранг: Новодошъл
Регистриран на: Вто Май 23, 2006 4:56 pm Мнения: 113 Местоположение: Варна
|
Да ти кажа aз съм с 9.50 PL3 и нямам никакви проблеми. Причината е някъде другаде, но къде не мoга да ти кажа! Ето ти малко статистика от един проект. Процесора е 18F45J10.
Memory Usage Map:
Program space:
CODE used 7A9Bh ( 31387) of 7FF8h bytes ( 95.8%)
LOWCODE used 0h ( 0) of 7FF8h bytes ( 0.0%)
Data space:
RAM used 1A5h ( 421) of 400h bytes ( 41.1%)
BIGRAM used 212h ( 530) of 400h bytes ( 51.8%)
COMRAM used 41h ( 65) of 80h bytes ( 50.8%)
NVRAM used 3h ( 3) of 100h bytes ( 1.2%)
Summary:
Program space used 7A9Bh ( 31387) of 7FF8h bytes ( 95.8%)
Data space used 3FBh ( 1019) of 400h bytes ( 99.5%)
EEPROM space None available
External data memory None available
ID Location space used 0h ( 0) of 8h nibbles ( 0.0%)
Configuration bits used 0h ( 0) of 4h words ( 0.0%)
Последна промяна mndsl на Сря Авг 22, 2007 2:44 pm, променена общо 2 пъти
|
| Сря Авг 22, 2007 1:41 pm |
|
 |
|
juzisound
Ранг: Почетен член
Регистриран на: Съб Май 27, 2006 12:37 pm Мнения: 647 Местоположение: с. Згалево
|
Е сега наистина ударих на камък!!!
Че какво да им е на тия компилатори? Дайте някакви идеи...
Пробвал съм да изключвам оптимизации, да сменям големината на указателите и какво ли още не от настройките - то не че има много де - ама...
Сега тегля някакво 8.53 да видя с него как ще е...
Имам много файлове в проекта - като във всеки има дефинирани различни променливи - дали може да е от това?
Изобщо насоки всякакви приемам... Явно че щом хората работят с тия компилатори - причината е някъде при мене - ама идея си нямам...
Предполагам че не е от кода - щото 2 отделни части - пробвани по отделно - които не ползват никакви общи ресурси, като ги съединя и до там - тоест като мина 30% на тоя чип и толкоз - вече нищо повече не бачка...
Не вдявам достатъчно от асемблер, за да седна да търся къде точно се осират нещата - ама и то на тая голяма програма... едва ли ще разбера нещо...
Последна промяна juzisound на Сря Авг 22, 2007 7:54 pm, променена общо 1 път
|
| Сря Авг 22, 2007 2:25 pm |
|
 |
|
mndsl
Ранг: Новодошъл
Регистриран на: Вто Май 23, 2006 4:56 pm Мнения: 113 Местоположение: Варна
|
Как се осират нещата? Какво се получава? Дава ли някакви грешки?
|
| Сря Авг 22, 2007 2:50 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
juzisound абе вие в това Згалево за дебъгване не сте ли чували. Пусни си програмката,трасирай и виж какво точно се дъни. Ако изясниш какво се дъни и какво компилатора не прави както трябва вече може да питаш и има вероятност някой да знае кога се получава този проблем и как да се избегне.
|
| Сря Авг 22, 2007 3:13 pm |
|
 |
|
juzisound
Ранг: Почетен член
Регистриран на: Съб Май 27, 2006 12:37 pm Мнения: 647 Местоположение: с. Згалево
|
Ами как се осират...
Компилатора никаква грешка не дава - изглежда сякаш си е компилирал нормално.
Когато обаче сложа ПИК-а в устрийството - дисплея /Нокия 3310/ се инициализира по някакъв начин, ама излизат някакви глупости.. и то след всяка компилация -/а под всяка разбирам с много малки промени - примерно стойност на някоя константа или нещо такова/ излизат различни чудесии - а някой път и нищо не излиза. Останалата част от програмата също не работи! Прилича на осран преход или забравена за превключване банка или нещо такова. Странното е че само добавянето на една функция - която даже не се вика - осира нещата.
До инициализацията на дисплея и малко след това са забранени всички прекъсвания- та не е от там сякаш.
Ако махна малко код - независимо от кое място на програмата - нещата си се оправят - всичко останало работи коректно.
Голям зор...
|
| Сря Авг 22, 2007 3:16 pm |
|
 |
|
juzisound
Ранг: Почетен член
Регистриран на: Съб Май 27, 2006 12:37 pm Мнения: 647 Местоположение: с. Згалево
|
Първо НИЕ е това Згалево си е силно казано. По добре е само ТИ, щото едва ли има друг в това село да знае какво е процесор...
Сега за дебъгването...
Там се налага да имам познания - които нямам. Не разбирам много от асемблер. Не че съвсем не ми е ясен - ама... Почнал съм на С за ПЦ и основно се занимавам с това. Тия процесори са ми основно хоби. В тая връзка няма никакъв хардуерен дебъгер, а симулацията в МПЛАБА е много много бавна. В тая програма има много малки и по големи дилейчета - и докато ги премина всичките - забравям кое трябваше да гледам.
От компилаторите за ПЦ съм свикнал каквото напиша - това да става  /поне в повечето случаи/ ама тука нещата явно не стоят така. Задавам въпроса, защото предполагам че и някой друг е имал същия проблем, и вече знае отговора. Едва ли аз да съм първия. Освен това по западните форуми намерих подобно питане, ама там ставаше въпрос за граница от 58% на програмната памет, ама пък за друг чип та нищо чудно тия 58% и моите 30% да са едно и също за компилатора.
|
| Сря Авг 22, 2007 3:35 pm |
|
 |
|
juzisound
Ранг: Почетен член
Регистриран на: Съб Май 27, 2006 12:37 pm Мнения: 647 Местоположение: с. Згалево
|
Като погледна нагоре - ми се струва че си говоря сам - ам все пак...
Изнамерих един компилатор дето работи така както очаквам - PICC-18 8.53. Без никаква промяна в кода - програмата си заработи. То това е и единствения компилатор дето успя поне при мене де да изчисли верно примерно че съм записъл 14 байта Config Data. 9.50PL3 викаше че са само 4 - иди че ги разбери тия компилатори. Както и да е - тоя 8.53 премина успешно границата от завитните 30% за тоя чип. За по нататък ще видим...
Интересно каква е причината по новите версии да не работят при мен. С двупроцесорна система съм - ако това има някакво значение де...
|
| Чет Авг 23, 2007 7:29 pm |
|
 |
|
Ки4о
Ранг: Форумен бог
Регистриран на: Съб Юли 22, 2006 9:50 pm Мнения: 1638
|
Не си говориш сам,ама на тема на която не съм задълбавал ( а и съм нов в С-то) не мога да давам мнение,макар че имам понякога някакво предположение.9.50PL3 го ползвах до преди време сега съм минал на по-новата версия.Братушките също го ползват и не виждам да се оплакват.Реално симулациите (при мене са си направо тестове) си ги правя на желязото,а в МПЛАБ-а гледам да не ползвам времеви задръжки при тестване на функции които искам да видя как работят.А С-то като ми дойде на нагорнище - пиша на асемблер.Та не си мисли че пишеш за лудо,просто като никой не може да ти отговори е така.
|
| Чет Авг 23, 2007 8:10 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
juzisound при малките процесори не е като при PC. Не винаги нещата тръгват. Затова хардуерния дебъгер си е наложителен ако искаш да нямаш такива проблеми. Сега излезе клонинг на ICD-2 с някакъв пик само. Вземи си го направи ако не ти се дават пари за варианта на Олимекс кето е най чираво като решение.
А не ти трябват задълбочени познания по асемблера на процесора. Долу горе да хващаш е достатъчно за да хванеш подобна грешка точно от какво идва. Ама си иска да се попрочете.
|
| Чет Авг 23, 2007 8:48 pm |
|
 |
|
juzisound
Ранг: Почетен член
Регистриран на: Съб Май 27, 2006 12:37 pm Мнения: 647 Местоположение: с. Згалево
|
Благодаря!
Да знаеш че никой не знае отговора на въпроса ти пак е по-добре от колкото да не знаеш какво знаят другите...
Ама как не съм се сетил - и жената а и малкия в другите стаи имат по един компютър - та как не съм се сетил да инсталирам там една от новите версии и един МПЛАБ, че да видя какво ще стане. Мого съм тъп -малиии...
Иначе че четене трябва - трябва - ясно е, ама времето все не стига...
Да знаете обаче че форума ви е чуден - голям кеф си правя с него и с тия малките процесорчета...
|
| Чет Авг 23, 2007 10:16 pm |
|
|