| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| HITECH PICC-18 - коя е последната наистина работеща версия? http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=4673 |
Страница 1 от 1 |
| Автор: | juzisound [ Вто Авг 21, 2007 11:54 pm ] |
| Заглавие: | HITECH PICC-18 - коя е последната наистина работеща версия? |
Имам следния проблем. Пиша код за 18Ф452. До около 28% програмен код - всичко работи добре - от там нататък - пълна каша. Пробвал съм омпилаторите 9.50PL3 и 9.61Pro. И двата се огелпват като нарастне малко повече програмата, като 9.61 и не дава вярна информация за използваната РАМ. То това си му е бъг - пише в документацията че са го оправили в 9.61, ама явно пак го има. Та въпроса ми е, коя е последната наистина работеща версия - под наистина работеща разбирам някой да е напълнил 70-80% от подобен процесор с работещ код. Ако смятате че бъркам някъде другаде - кажете, да не се илагам де... Само да добавя, че при един напълно работещ проект, само като добавя няколко функции - без дори да ги викам някъде в програмата - без даже да променям каквото и да било - спира да работи и стария код... Споделете ако сте имали подобни проблеми... |
|
| Автор: | mndsl [ Сря Авг 22, 2007 1:41 pm ] |
| Заглавие: | |
Да ти кажа 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%) |
|
| Автор: | juzisound [ Сря Авг 22, 2007 2:25 pm ] |
| Заглавие: | |
Е сега наистина ударих на камък!!! Че какво да им е на тия компилатори? Дайте някакви идеи... Пробвал съм да изключвам оптимизации, да сменям големината на указателите и какво ли още не от настройките - то не че има много де - ама... Сега тегля някакво 8.53 да видя с него как ще е... Имам много файлове в проекта - като във всеки има дефинирани различни променливи - дали може да е от това? Изобщо насоки всякакви приемам... Явно че щом хората работят с тия компилатори - причината е някъде при мене - ама идея си нямам... Предполагам че не е от кода - щото 2 отделни части - пробвани по отделно - които не ползват никакви общи ресурси, като ги съединя и до там - тоест като мина 30% на тоя чип и толкоз - вече нищо повече не бачка... Не вдявам достатъчно от асемблер, за да седна да търся къде точно се осират нещата - ама и то на тая голяма програма... едва ли ще разбера нещо... |
|
| Автор: | mndsl [ Сря Авг 22, 2007 2:50 pm ] |
| Заглавие: | |
Как се осират нещата? Какво се получава? Дава ли някакви грешки? |
|
| Автор: | Nikola Kirov [ Сря Авг 22, 2007 3:13 pm ] |
| Заглавие: | |
juzisound абе вие в това Згалево за дебъгване не сте ли чували. Пусни си програмката,трасирай и виж какво точно се дъни. Ако изясниш какво се дъни и какво компилатора не прави както трябва вече може да питаш и има вероятност някой да знае кога се получава този проблем и как да се избегне. |
|
| Автор: | juzisound [ Сря Авг 22, 2007 3:16 pm ] |
| Заглавие: | |
Ами как се осират... Компилатора никаква грешка не дава - изглежда сякаш си е компилирал нормално. Когато обаче сложа ПИК-а в устрийството - дисплея /Нокия 3310/ се инициализира по някакъв начин, ама излизат някакви глупости.. и то след всяка компилация -/а под всяка разбирам с много малки промени - примерно стойност на някоя константа или нещо такова/ излизат различни чудесии - а някой път и нищо не излиза. Останалата част от програмата също не работи! Прилича на осран преход или забравена за превключване банка или нещо такова. Странното е че само добавянето на една функция - която даже не се вика - осира нещата. До инициализацията на дисплея и малко след това са забранени всички прекъсвания- та не е от там сякаш. Ако махна малко код - независимо от кое място на програмата - нещата си се оправят - всичко останало работи коректно. Голям зор... |
|
| Автор: | juzisound [ Сря Авг 22, 2007 3:35 pm ] | |||||||||
| Заглавие: | ||||||||||
Първо НИЕ е това Згалево си е силно казано. По добре е само ТИ, щото едва ли има друг в това село да знае какво е процесор... Сега за дебъгването... Там се налага да имам познания - които нямам. Не разбирам много от асемблер. Не че съвсем не ми е ясен - ама... Почнал съм на С за ПЦ и основно се занимавам с това. Тия процесори са ми основно хоби. В тая връзка няма никакъв хардуерен дебъгер, а симулацията в МПЛАБА е много много бавна. В тая програма има много малки и по големи дилейчета - и докато ги премина всичките - забравям кое трябваше да гледам. От компилаторите за ПЦ съм свикнал каквото напиша - това да става |
||||||||||
| Автор: | juzisound [ Чет Авг 23, 2007 7:29 pm ] |
| Заглавие: | |
Като погледна нагоре - ми се струва че си говоря сам - ам все пак... Изнамерих един компилатор дето работи така както очаквам - PICC-18 8.53. Без никаква промяна в кода - програмата си заработи. То това е и единствения компилатор дето успя поне при мене де да изчисли верно примерно че съм записъл 14 байта Config Data. 9.50PL3 викаше че са само 4 - иди че ги разбери тия компилатори. Както и да е - тоя 8.53 премина успешно границата от завитните 30% за тоя чип. За по нататък ще видим... Интересно каква е причината по новите версии да не работят при мен. С двупроцесорна система съм - ако това има някакво значение де... |
|
| Автор: | Ки4о [ Чет Авг 23, 2007 8:10 pm ] |
| Заглавие: | |
Не си говориш сам,ама на тема на която не съм задълбавал ( а и съм нов в С-то) не мога да давам мнение,макар че имам понякога някакво предположение.9.50PL3 го ползвах до преди време сега съм минал на по-новата версия.Братушките също го ползват и не виждам да се оплакват.Реално симулациите (при мене са си направо тестове) си ги правя на желязото,а в МПЛАБ-а гледам да не ползвам времеви задръжки при тестване на функции които искам да видя как работят.А С-то като ми дойде на нагорнище - пиша на асемблер.Та не си мисли че пишеш за лудо,просто като никой не може да ти отговори е така. |
|
| Автор: | Nikola Kirov [ Чет Авг 23, 2007 8:48 pm ] |
| Заглавие: | |
juzisound при малките процесори не е като при PC. Не винаги нещата тръгват. Затова хардуерния дебъгер си е наложителен ако искаш да нямаш такива проблеми. Сега излезе клонинг на ICD-2 с някакъв пик само. Вземи си го направи ако не ти се дават пари за варианта на Олимекс кето е най чираво като решение. А не ти трябват задълбочени познания по асемблера на процесора. Долу горе да хващаш е достатъчно за да хванеш подобна грешка точно от какво идва. Ама си иска да се попрочете. |
|
| Автор: | juzisound [ Чет Авг 23, 2007 10:16 pm ] |
| Заглавие: | |
Благодаря! Да знаеш че никой не знае отговора на въпроса ти пак е по-добре от колкото да не знаеш какво знаят другите... Ама как не съм се сетил - и жената а и малкия в другите стаи имат по един компютър - та как не съм се сетил да инсталирам там една от новите версии и един МПЛАБ, че да видя какво ще стане. Мого съм тъп -малиии... Иначе че четене трябва - трябва - ясно е, ама времето все не стига... Да знаете обаче че форума ви е чуден - голям кеф си правя с него и с тия малките процесорчета... |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|