|
Глюк на глюке..., перешел на IAR :) |
|
|
|
Oct 16 2006, 15:06
|
Местный
  
Группа: Свой
Сообщений: 255
Регистрация: 17-08-06
Из: Москва
Пользователь №: 19 646

|
До этого писал проект на ICCAVR7 (imagecraft). Закончился триальный срок, решил попробовать IAR, вроде все и везде его хвалят.
После изменения в проекте разных штучек типа объявления прерываний скомпилял проект и понеслась душа в рай.
То оно работает, то оно виснет. Виснет в разных местах (разное количество символов выводя на ЖК). Увеличил значение стека, вроде прошло через первый инит и зажгло светодиодик. Ура.
Дальше больше. Почему-то не работает sprintf, ни с CLIB, ни с DLIB. Увеличил CSTACK до 0x50, RSTACK до 0x40 - не помогло. Иногда на дисплейчике все же появляется то пол-строчки, то еще глюк какой, и постоянно виснет через несколько секунд или минут работы.
С ICCAVR подобного глюкалова не было, код не менялся никак..
В коде используется TIMER1 (OVF, CAPT, COMPB) и timer2_ovf, контроллер mega16.
Может я чего забыл-не учел-не узнал?
Спасибо заранее!
Сообщение отредактировал king2 - Oct 16 2006, 15:07
|
|
|
|
|
 |
Ответов
|
Oct 16 2006, 16:31
|
Местный
  
Группа: Свой
Сообщений: 255
Регистрация: 17-08-06
Из: Москва
Пользователь №: 19 646

|
Цитата(rezident @ Oct 16 2006, 19:51)  Функция sprintf требует для работы весьма много стека (иногда до 1,5кБайт). Хм, а что, она так плохо реализована? Почему в ICCAVR все нормально, а тут до полутора килобайт? Где я стока в меге16 возьму?  Неужели чтобы запихнуть один байт в 16 символов нужно столько стека???
|
|
|
|
|
Oct 16 2006, 17:33
|
Местный
  
Группа: Свой
Сообщений: 255
Регистрация: 17-08-06
Из: Москва
Пользователь №: 19 646

|
Цитата(rezident @ Oct 16 2006, 20:49)  Цитата(king2 @ Oct 16 2006, 22:31)  Неужели чтобы запихнуть один байт в 16 символов нужно столько стека???
А зачем вам в таком случае sprintf? Пишите напрямую. Побайтно. Я, например, недавно при нехватке RAM в МК писал свой putchar и выводил символы на индикацию посимвольно (побайтно), а не строкой. P.S. В IAR есть несколько моделей sprintf, в зависимости от выбора требования к стеку разные. Да вот чтобы как раз самому не писать. Вне зависимости от используемой модели все равно глючит. Охх, буду пробовать разбираться..
|
|
|
|
Сообщений в этой теме
king2 Глюк на глюке... Oct 16 2006, 15:06 Alex11 Для начала полностью выключить оптимизацию - там о... Oct 16 2006, 15:27 king2 Цитата(Alex11 @ Oct 16 2006, 19:27) Для н... Oct 16 2006, 15:30 Rst7 Цитата(Alex11 @ Oct 16 2006, 18:27) Для н... Oct 17 2006, 04:45  dxp Цитата(Rst7 @ Oct 17 2006, 11:45) Цитата(... Oct 17 2006, 05:14 arttab ЦитатаДля начала полностью выключить оптимизацию -... Oct 17 2006, 01:39 king2 Цитата(arttab @ Oct 17 2006, 05:39) Цитат... Oct 17 2006, 10:23  IgorKossak Цитата(king2 @ Oct 17 2006, 13:23) Да пох... Oct 17 2006, 10:34 SasaVitebsk Простите, но не верю что дело в компиляторе. Может... Oct 17 2006, 19:49 Георгий Да, действительно, нужно глянуть в доках как компи... Oct 18 2006, 07:57
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|