| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| MCC18 and rom const char http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=3387 |
Страница 1 от 1 |
| Автор: | ¶ [ Пет Дек 08, 2006 1:37 pm ] | |||||||||||||||||||||||||||
| Заглавие: | MCC18 and rom const char | |||||||||||||||||||||||||||
Един проект преработих от CCS C на MCC18, общо взето с учебна цел. Възникна един странен проблем с разполагането на стрингове или char таблици в паметта за данни и програмната памет , въпреки че правя нещата по MPLAB_C18_Users_Guide_51288j.pdf Примерно, в следния код:
String1 и String4 се разполагат правилно в паметта за данни, но String2 и String3 се разполагат в програмната памет. Защо ? Нали съм задал
т.е., дефинирал съм секция eedata. След директивата:
String5,String6 & String7 се разполагат правилно в програмната памет, въпреки че ги дефинирам по различни начини. Излиза че за паметта за данни, MCC18 е "чувствителен" как ще се дефинират данните. Да не е детска болест ? От 2000г. го има, чак пък такива дреболии да не са изгладени .... |
||||||||||||||||||||||||||||
| Автор: | Gogo [ Пет Дек 08, 2006 9:21 pm ] | |||||||||||||||||||||||||||
| Заглавие: | ||||||||||||||||||||||||||||
Пусни си една подробна симулация и ще видиш, че и от szString1 и szString4 не чете вярно, макар че са ти вярно разположени в еепрома. Това:
От тука ми идва на ум, че умните индийци са направили компилатора, като срещне четене от "rom" масив, направо почват с TBLPTR. Ама хич не ги интересува, че масива е на адрес 0xF00000 Та, май няма да стане по този начин... |
||||||||||||||||||||||||||||
| Автор: | ¶ [ Съб Дек 09, 2006 12:20 am ] |
| Заглавие: | |
Не съм разглеждал листинга в подробности, отделно чипльомик си имат функции за копиране на стрингове в RAM-а, предполагам, че поне те ще работят. Прави впечатление, че един и същ сорс, компилиран с CCS заема 11% памет, а компилиран с MCC18 заема 22%. Голяма разлика, другата седмица ще разследвам на какво се дължи. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|