Jump to content

    

landrey

Участник
  • Content Count

    14
  • Joined

  • Last visited

Community Reputation

0 Обычный

About landrey

  • Birthday 01/13/1976

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array
  1. Помогите разобраться в следующем вопросе. Есть база данных, в которую сводится информация о настройках и состояниях большого количества однотипных устройств. Необходимо добавить возможность мониторить устройства по SNMP. Версии протокола SNMP 1 и 2. Какими менеджерами SNMP будут пользоваться клиенты - неизвестно. Я не пойму следующее - SNMP-агент будет один, он будет работать с базой данных, но при этом он будет отвечать за несколько однотипных устройств. Если программно в агенте переназначать целое поддерево (в котором опивано одно устройство) на другой OID, то как это рассписать в MIB файле, который нужно отдать клиентам? Пните меня в нужную сторону
  2. Есть QEMU, работающий под windows. Запускаю qemu-system-arm с образом линукса. В этом линуксе поднят ssh, есть gdbserver. Пытался вначале из-под еклипса отлаживать свою программу. Исполняемый файл копировался по ssh в qemu? но отладка почему-то не запускалась. Смотрю в окошке QEMU - исполняемый файл там есть. Но когда вручную пробую его там запустить, пишет: No such file or directory. Можно вообще так отлаживать?
  3. configure выдал: Unknown option arm Unable to detect the platform from environment QT брал qt-everywhere-opensource-src-4.7.4. Или SDK нужно качать?
  4. На хост-машине стоит Windows, таргет - платка с AT91SAM9M10 с линуксом на борту. Использую кросскомпилятор CodeSourcey arm-none-linux-gnueabi. Хочется QtEmbedded. Что-то не разберусь, как его (Qt) сконфигурировать. На configure -platform qws/linux-arm-gnueabi-g++ отвечает Invalid option "qws/linux-arm-gnueabi-g++" for -platform. Везде пишут описания этого процесса для Linux'a на хост-машине. Может кто сталкивался, подскажите пожалуйста
  5. Вот заимел вышеозначенный EvaluationKit. Задача - освоить платформу. Но, так как с армами почти не работал, эта область для меня новая. Поэтому естественно возникло много вопросов. 1. SAM-BA - мне показалась какой-то глючной программой, или это у меня кривые руки? Зависимость от версии есть? 2. По какому принципу в NAND flash размещаются компоненты (u-boot, kernel, файловая система)? 3. Каким образом задается использование графического интерфейса, вернее как быть если мне жки вообще не нужен, а порты использовать под свои нужды? 4. Как добавить в девайс gdbserver? Он должен быть встроен в файловую систему до прошивки фс во флэш? 5. А как быть с разрабатываемым ПО? Куда его прошивать? Если бы это был обычный комп с линуксом, я бы скопировал свою прогу на диск, а тут как быть? В общем вопросов много, но пока ограничусь этим списком. Может кто подскажет как лучше организовать освоение. Форум почитал - теперь такая каша в голове.
  6. Можно ли как-то в файле воркспейса *.eww указать пути к проектам (файлам *.ewp) относительно некоей системной переменной? Вот как в настройках проектов я указываю пути так: $_MY_DIR_$\Include, где MY_DIR - системная переменная и все ок. А в файле eww подобная запись не прокатывает.
  7. Имею следующий кусок кода (упрощенно): struct sxModel{ uint8_t model[1300]; }; typedef sxModel sxModels[32]; enum { ... CONST_N = CONST_M + sizeof(sxModels), ... }; При компиляции получаю ошибку Error[Pe095]: array is too large в строке CONST_N = CONST_M + sizeof(sxModels), Если написать как CONST_N = CONST_M + sizeof(sxModel) * 32, то ошибок нет. Как такое объяснить? И как такое побороть? Так же sxModels участвует как составляющая другой структуры. У меня та структура не используется, но она описана в общем хэдере. После исправления на CONST_N = CONST_M + sizeof(sxModel) * 32, появляется ошибка в той структуре: Error[Pe103]: class is too large Компилятор IAR AVR 5.11, мк mega2560
  8. Имеется системная переменная, например ROOT_DIR, в которой задан путь к папке, в которой расположено все дерево проектов. Там куча проектов на VisualC++. Во всех тех проектах легко указывать пути к общим хэдерам: $(ROOT_DIR)\Common\Include. В ИАРовских проектах тоже хотелось бы использовать общие хэдеры, да и некоторые исходники тоже. Но задавать пути относительно ИАРовского проекта (типа $PROJ_DIR$\..\..\Common\Include) не всегда удобно, хотелось бы использовать именно системную переменную ROOT_DIR. ИАР позволяет такое делать? Если да, то как?
  9. MSP & RS485

    Можно сделать следующий финт ушами: На время передачи подключить UTXD к URXD (бит LISTEN). После того, как последний передаваемый байт помещается в сдвиговый регистр, бит LISTEN убираем. А уже в прерывании по приему проверяем, если бит LISTEN выставлен, то это принято эхо - ничего не делаем, если сброшен и направление передачи было на "Передачу", то переключить направление передачи на "Прием".
  10. call back

    Прошу прощения, я сморозил глупость. Все-таки я вначале расписал класс, потом из-за ошибок компиляции начал поочередно все откидывать, потом по старой русской традиции решил все-таки заглянуть в EVAVR_CompilerReference.pdf. вот что я там нашел (цитирую): Пробую этот кусок - та же ошибка. Поэтому и в своем посте я изобразил подобное. Но вот вырезка из моего класса: typedef uint8_t volatile __tiny IO_REG; template <IO_REG &UDR, IO_REG &UBRRH, IO_REG &UBRRL> class CBaseUart { private: enum { DEFAULT_BAUDRATE = 115200, }; public: CBaseUart(uint32_t baudRate=DEFAULT_BAUDRATE) { uint16_t tmp_baud = CPU_CLK_Hz / (16 * baudRate) - 1; UBRRH = (uint8_t)(tmp_baud >> 8); UBRRL = (uint8_t)tmp_baud; } virtual ~CBaseUart(); inline void transmit(uint8_t data) { UDR = data; } }; Вот так я пытаюсь использовать: int main() { CBaseUart <UDR0, UBRR0H, UBRR0L> uart; uart.transmit(0x55); return 0; } Опять та же ошибка. Обидно
  11. call back

    Меня тоже заинтересовала эта тема! Уважаемый grau, нельзя ли поподробней? Вот пишу (IAR AVR): typedef uint8_t volatile __tiny IO_REG; template <IO_REG &r> void f(uint8_t mask) { r |= mask; } int main() { f<PORTB>(0x77); return 0; } На это ругается компилятор: Internal Error: [any]: Unexpected exception Что я неправильно написал?