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

__nik__

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о __nik__

  • Звание
    Участник
    Участник
  • День рождения 02.02.1979

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. Самого мучал такой же вопрос, но никак не удалось убедить, возможно ограничение в драйвере, так как, ST-Link достаточно убог и расчитан на быстрое освоение. Мои шаманства привели к потери ST-Link как устройства а попытки его оживит на этом компе были тщетны, с тех пор работаю в виртуалках их переустанавливать проще, хотя от ST-Link отказался.
  2. у меня на такое ругатеся, разбивание действия не помогает. всетаки думаю связано с оптимизацией все приводит к тому что возвращается или используется. пока что так и не смог его победить ( даже большеесть две одинаковые ппрограмки, в одном месте считает верно и все работает в другом все наоборот void activate_out(uchar number) { GETTABLE_PTR(CfgSFBModul,SFBSetings_t,SFBSet); if(number > 2) return; number--; outs_state2bus[number].norm=0; outs_state2bus[number].active=1; if(SFBSet->outs_flags[number]&0x01) // вот тут адрес SFBSet = 0х003BCE { switch(number) ... void deactivate_out(uchar number) { GETTABLE_PTR(CfgSFBModul,SFBSetings_t,SFBSet); if(number > 2) return; number--; outs_state2bus[number].norm=1; outs_state2bus[number].active=0; if(SFBSet->outs_flags[number]&0x01) // вот тут адрес SFBSet = 0х013BCE как и должен быть { switch(number) { ... после многоточий код совпадает на 100% еще раз наткнулся на теже грабли в другом месте,
  3. IAR не принимает ( помоему он вообще весьма болезненно относится к {} В дефайнах
  4. TablModVal замена на 32 ничего не меняет. появилось предположение что иар оптимизирует по длинне используемых данных
  5. Добрый день! у меня такая проблемка образовалась, при разных уровнях оптимизации работают по разному сложения Name = (Typ_t __farflash*)( TablModVal|0x010000L); замена | на + результата не приносит. все данные арсположены выше 0х10000 есть хеадер с дефаном #define data 0x3333 #define data2 0x4444 сам макрос использование //GETTABLE_PTR(адрес расположения ссылки на таблицу,имя типедеф стректуры,Name) #define GETTABLE_PTR(TablMod,Typ_t,Name) Typ_t __farflash *Name;\ Addr16_t TablModVal;\ TablModVal = * (Addr16_t __farflash*)(TablMod|0x10000L);\ Name = (Typ_t __farflash*)( TablModVal|0x010000L); <---вот тут складывает не верно вернее берет только 16бит в результате последняя операция |0x010000L вовсе игнорируется и копируются 16 бит данных в результате старший байт абреса становится любым. это раньше работало но вот в одном месте наткнулся на вот такой глюк. если поменять оптимизацию то |0x010000L выполняется. как данное можно сделать чтоб не зависило от уровня оптимизации, код не поместится
  6. вот блин, жалко так не охото с сними возится
  7. я прочитал, но на текстовый файл ответил тоже самое... спасибо разобрался что то удалось подключить и это даже работает. СПАСИБО!!! вопрос не совсем в тему можно ли подключить библиотеки в IAR от GCC или WinAVR? если да то где глянуть можно? заранее спасибо
  8. что то у меня не получается. если не трудно то как нить по подробнее. мне на обьектник говорит C:\Program Files\IAR Systems\Embedded Workbench 5.0\avr\bin>xar -V -x ckemu.r90 -o myLib.lib IAR Universal Library Builder V1.030 Copyright 1999-2008 IAR Systems. All rights reserved. The library file is 'myLib.lib' Adding file '☺' to library. Error[e6]: Can't open object file '☺'
  9. спасибо за ответ. меня еще больше мучал вопрос как их потом подключать к проекту?
  10. В IAR есть опция в "General options>Output> output file \ library" Как я понимаю с ее помощью можно создавать библиотеки и пойже их использовать не имея исходника. в описании к иару описано все как то пространственно и не очень много, если возможно то просветить меня по этому поводу. Суть идеи в том чтоб скажем какой то общий для всех кусок программы писал один человек и раздавал всем и при исправлении ошибки также раздавался не исходник а библиотека.
  11. AVR и Siemens M55

    а ни кто не догадался, в АРМе, прогу вывода на экран в РАМе расположить, тогда и до ~80 фпс не долеко
  12. EWAVR 5.10A

    ewavr 5.10 дракона поддерживает. проверял.
  13. На счет ты или вы, все очень просто. Ты - обращение к знакомому; личное общение; и тп Вы - обращение к не знакомому человеку либо стершему по возрасту или рангу, кстати, в ответ он должен также обращаться на вы. Сходить на курсы повышения к Атмел ... если это такие курсы после которых к нам приходят и терморезистор измеряют компаратором, чтобы постоянно не переключать каналы ацп, или делают ляпы как в AVRDragon, или как замалчивание температурных разбросов, в частности к WDT, а при указании на это: 1й раз отвечать, что его нет либо он мал, а при сборе статистики в диапазоне -70 ... +100 и отправке им с просьбой все-таки его указать. 2й раз ответить, что разброс такой и есть. Для скептиков, при ~ -70 процессор работал исправно. Спасибо конечно, но думаю, такие курсы у нас уже есть в каждом институте. Я не претендую на ноухау, к тому же, это новшество Атмела отняло не так много времени, как недосмотр ИАРа, я вот забыл проверить, но вроде, я заливал прошивку скомпилированную под Тани461/261, в Тани26, при этом она исправно работала, как нибудь уточню. Ацп чуть хуже Тани26, пришлось вновь подбирать параметры, чтобы показания не "прыгали" больше чем 1. Да в 8515, ацп нет, написал на автомате, извиняюсь.
  14. Да конечно можно, вот у которых точно сбрасывается: ATtiny26,25,15; AMmega48,8,16,32,8535,8515. это те которые я помню. Я проверил, в м8 написано тоже самое... А причем тут SBI и CBI если используются SBIS и SBIC?? как я понимаю они читают регистр или бит(как реализовали) в любом случае....
  15. Нашел что у ATtiny461 всетаки есть, глюк не глюк, но помоему глюк, потому как у других такого не наблюдалось. ATtiny461 не сбрасывает флаг ADIF после его чтения, приходится сбрасывать в ручную. странно как то это все...
×
×
  • Создать...