Форум » PSoC » Баги повязані з PSoC » Ответить

Баги повязані з PSoC

Miclem: Пропоную документувати баги повязані як з софтом(коміылятори і тому подібне) так і з hardware PSoCa. Для початку Докуметую наступний баг. При встановлені компілятора від HI-TECH (в мене реліз hcpsoc-pro_9.60PL4) перекомпільовуться бібліотечні функції запису читання в флеш память PSoC. Після цього виникають наступні ефекти : 1 В проекті з імейджкрафтовським компілятором прога буде виснути при входжені в наступні функції -bFlashWriteBlock. 2 В проекті з компілером від Hi-Tech функція bFlashWriteBlock працює дивною Проявляється це в тому, що дані пишуться не з початку блоку, а з певним зміщенням котре залежить від чогось (конкретно від чого я так і не вияснив , наприклад, додав пару операторів в функції де викликається запис в флешу і зміщення змінилось) Вирішенням проблеми , наразі, є писана Вадимом (і модифікована мною для HI-TECH компілятора)функція запису в флешу. Кому потрібно можу поділитись

Ответов - 3

Reshtunn: Я працював з цією функцією і всьо було добре під обидвома компіляторами. Пробелми можуть бути в тому, шо компілятор пхає код в той самий блок, шо і пише ця функція. Hi-tech компілятор розміщує код з кінця в початок, а ImageCraft - навпаки. ШОб того не було треба руками забити весь блок в який пишеться зр допомогою pragma директиви. ТО шо функція висне під ImageCraft - теж інколи не спостерігав. Причини можуть бути або в перезаписі існуючого блоку, живленні, бо саоживає тоді аж до 200мА, глобальних перериваннях.

Reshtunn: Інше діло, шо ImageCraft некоректно компілює вирази без дужок. ТОму при найменших глюках треба всюди порозставляти дужки з запасом і перевірити присвоєння типів. В Hi-Tech є не стільки баг, скільки особливість. ШО не можна pragra abs adress робити блок, а тільки окремий байт. Про це треба памятати.

Miclem: тут усьо четко. Під дані забитий весь блок. Там де нема потрібних даних забите місце під масив символів. А результат описаний вище




полная версия страницы