Перейти к содержанию
    

Пришелец

Участник
  • Постов

    186
  • Зарегистрирован

  • Посещение

Весь контент Пришелец


  1. там где объявляется переменная никаих команд нет. \ In segment CODE, align 2, keep-with-next 1276 void menu_firstOBR(void) \ menu_firstOBR: 1277 { 1278 static char cnt_123=1; 1279 key(); \ 00000000 ........ CALL key 1280 menu_ptr=&menu_first; \ 00000004 .... LDI R16, LOW(menu_first) в сегментах NEAR_I и NEAR_ID место под переменные выделяется и инициализатор прописывается: \ In segment NEAR_I, align 1, keep-with-next, root \ 00000000 REQUIRE `?<Segment init: NEAR_I>` \ ??cnt_123: \ 00000000 DS 1 \ 00000001 REQUIRE `?<Initializer for cnt_123>` 1283 \ In segment NEAR_ID, align 1, keep-with-next, root \ `?<Initializer for cnt_123>`: \ 00000000 01 DB 1 \ In segment NEAR_ID, align 1, keep-with-next, root \ `?<Initializer for a>`: \ 00000000 01 DB 1 \ In segment NEAR_ID, align 1, keep-with-next, root \ `?<Initializer for a>_1`: \ 00000000 01 DB 1 !!! только смещение адреса почему-то не изменяется в NEAR_ID или я чего-то не понимаю?
  2. с программатором всё нормально. да все типы ведут себя так же. В настройках С перепробовал (там три галочки есть) по всякому - не помогает насчёт - спасибо - учту :) скажите у Вас нет такой проблемы с той же версией иара? статики и глобальные нормально инициализируются?
  3. ff наблюдаю при отладке когда вывожу значение переменной. от текста программы проблема не зависит. char b=10; void func(void) { static char a=10; char c=10; print_dec(a); print_dec(B); print_dec©; } a и b всегда ff c=10 хотя однозначно в файле кода для прошивки есть инициализаторы для них. _______________ мне кажется что проблема где-то в настройках сегментов неужели у всех нет этого глюка???
  4. нет - переменные используются __root - пробовал не помогает. :(
  5. Не инициализируются статические и глобальные переменные. (mega128 IAR 4.10b) хотя сами переменные создаются и их инициализаторы так же создаются во FLASH. нулями переменные инициализируются. если инициализировать другим числом то всегда FF. Помогите пожалуйста кто знает в чём дело. :) :maniac: Геморой - вручную инициализировать глобальные переменные и не пользоваться static
  6. Вот объявление класса: class i2c_p { public: unsigned short adr; void operator = (unsigned short a); i2c_p operator + (unsigned short a); i2c operator [] (unsigned short i); operator char(); i2c operator * (); i2c_p(unsigned short a); }; использую его так: i2c_p p(10),q(20); p=q; //так компилирует p=q+1 //а так пишет ошибку :huh: Error[Pe350]: more than one operator "+" matches these operands: built-in operator "arithmetic + arithmetic" function "i2c_p::operator+(unsigned short)" operand types are: i2c_p __near + int
  7. Кстати если убрать перегрузку плюса то он перестаёт ругаться и выдаёт сообщение о неправильном приведении типа Сождаётся впечатление что запись operator char(); он принимает за перегрузку плюса
  8. Нет явного приведения не делается :blink:
  9. Для класса перегрузил оператор + всё ок затем добавил перегрузку привидения типа к char и он стал писать такую ошибку: Error[Pe350]: more than one operator "+" matches these operands: built-in operator "arithmetic + arithmetic" function "i2c_p::operator+(unsigned short)" operand types are: i2c_p __near + int Может кто в курсе в чём проблема? :blink:
  10. lwIP

    Снова возвращаюсь к теме. Прикрутить можно наверное но мне было бы понятно если бы компилятор запускался из под Windows. Но чтобы его использовать под Windows нужно запускать эмулятор unix - cigwin. Можно ли прикрутить GNU :maniac: к IDE если GNU под unix а IDE под Windows?
  11. lwIP

    Назрел следующий вопрос: А какой компилятор эффективнее для ARM GCC или IAR? :rolleyes:
  12. Неужели ни у кого не было похожих проблем??? :huh:
  13. lwIP

    Спасибо one_man_show и Major Теперь сомнения рассеялись :) остаюсь в своём любимом IARe Но наверное придётся поставить CrossWork посмотреть что это такое (вдруг понравится)
  14. Наверное дело в том что не тот xcl файл в опциях linkera (не под ту память) надо или другой файл указать или изменить адреса кода программы в xcl файле
  15. lwIP

    т.е. с uCOS можно работать в IARE если под него подправить синтаксис? тогда почему все пользуются GNU ведь мне показалось что это такой геморой - cygwin, командная строка :blink:
  16. lwIP

    да да конечно (спасибо за поправку подредактировал) lwIP и ещё вопрос в догонку почему многие исходные тектсы например uCOS принципиально предназначны под GNU компиляторы? почему нельзя это скомпилировать например в IARe? (какой-то синтаксис С или какая-то особая компоновка или ещё что ...?)
  17. lwIP

    Есть желание использовать lwIP для LPC2214 :) и CS8900 :) а так же писать в IARE без RTOS Кто-нибудь подскажет это реально. Потенциальные проблемы. :smile3009: ...? или может есть альтернатива lwIP ???
  18. всё проблема решилась - код компилировался для внутр флэш а галочка Flash program не была поставлена.
  19. Пытаюсь в OCD командере запрограммировать LPC 2214 формат elf для работы во внутреннем ОЗУ Начинает писаться но потом выдаёт ошибку unknow fault , Error during download PC устанавливается на нужный адрес 40000000 потом пишет cabel disconnect т.е. видимо процессор совсем зависает :cranky: такое же и с внешней RAM Всем кто ответит заранее большое спасибо!
  20. Отладочная плата LPC-E2214 IAR-4.20 eval в плате записана тестовая программа (не понятно где во внутр памяти или во внешней BOOT1/0 не влияют она всегда выполняется) в иаре скомпилировал код. Запускаю DEBUG (macraigor wigler) он показывает окошко DOWNLOADING (как будто что-то записывает) но запускается вновь тестовая программа (которая была в плате) ещё иар выдаёт сообщение Sat Feb 19 21:05:24 2005: JTAG API v48.7, Wiggler v1.41, ARM ID: 4F1F0F0F Sat Feb 19 21:05:25 2005: 302 bytes downloaded (0.56 Kbytes/sec) Sat Feb 19 21:05:25 2005: Loaded debugee: I:\ARM_study\lpc-e22xx_test\Release\Exe\H2214_Board_Test.d79 Sat Feb 19 21:05:25 2005: Target reset Sat Feb 19 21:05:25 2005: Driver does not support code coverage. Наверное я что-то недогоняю.
  21. Да уж компаунд ковырять не улыбается :) Заказали отладочную плату с LPC-2214 УРА! :w00t: Спасибо всем кто откликнулся. А вообще за 100$ оказывается можно купить недурную готовую платформу. :excl:
  22. А интересно какая максимальная частота для slave. :rolleyes: Наверное Fmax_osc/2 Максимальная частота тактового генератора /2. Или нет?
  23. Спасибо всем. Глюк остался и с выделенной кучей. А насчёт размеров стеков полностью согласен. Лучше заранее определить под них заведомо много памяти. Несколько раз натыкался из-за этого на появляющиеся с ростом кода непонятные глюки :smile3046:
  24. или обрыв в кабеле программатора, на глаз незаметный несколько раз было такое вроде кабель ещё нормальный но в месте пайки к разъёму видимо микротрещина Перепаял разъём всё заработало.
  25. Память Heap в иаре...

    В настройках проекта иара есть выделение памяти под heap она используется для динамического выделения памяти - new alloc и т д В проекти динамическое выделение памяти не используется поставил размер 0. Сначала вроде программа работает нормально, но иногда появляются странные трудноотлаживаемые глюки. :( Поставил размер кучи 0х30 вроде нормально работает :) Может это ещё на что-то влияет?..
×
×
  • Создать...