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

asket

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

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

  • Посещение

Весь контент asket


  1. Я начинаю программировать на НИОС, хотел бы уточнить есть ли возможность использовать CFI-flash в качестве ПЗУ для хранения пользовательских данных, помимо хранения в ней прошивки, и где можно посмотреть пример использования cfi-flash на си? Спасибо.
  2. Я в ниосе использую printf для отображения на консоли eclipse отладочной информации, но почему то без аргументов printf("hello world!") выводит один раз, а с аргументами printf("key = %d", key) - выводит на экран постоянно, хотя вызывается один раз, использую встроенную ОС uC/OS II? вывод происходит через Jtag-uart Спасибо
  3. Покопался, так и не удалось запустить, требуется драйвер на флешку, которого у меня нет, к тому же Redboot сделал за меня эту работу по инициализации флешки и файловой системы FIS. Я чую, что можно обойтись и без того объемного кода, воспользуясь командами Redboot так, как будто приложение вводит команду типа fis create, fis load через какой то макрос или функцию. Может кто-знает как? Я нашел стандартную функцию flashiodev_lookup и там обнаружил вот этот макрос CYGACC_CALL_IF_FLASH_FIS_OP(CYGNUM_CALL_IF_FLASH_FIS_GET_FLASH_BASE, (char *)&name[4], &flash_base), я так понял через него можно осушествлять доступ к флеш, и манипулировать им в зависимости от кода операции, в вышеупомянутом примере читаем адрес флеша. Есть какие-то соображения как получить доступ к FIS с приложении?
  4. это как? весь fis пихать? а если использовать макрос CYGACC_CALL_IF_FLASH_FIS_OP? Дело в том, что у меня исходника на Redboot нет, есть либы и инклюд для ecos-приложений, так что пересобрать сборку у меня не представляется возможным.
  5. Пишу приложение с использованием РТОС eCOS, бинарник загружается в оперативку c NOR-flash под управлением загрузчика redboot, вопрос такой, требуется записать данные в NOR-flash для долгосрочного хранения что-то вроде параметры системы, как это сделать в приложении с использованием функции redbooot (fis create, fis delete ..)? jffs просьба не предлагать..
  6. Разобрался! windows будет работать с классом устройств ACM, а у меня по умолчанию стоит generic. Может кому-то будет интересно.
  7. Хорошо поставлю вопрос по другому, обязательно ли в пакете конфигурации USB должен быть присутствовать класс устройства USB CDC=0x02 для virtual com port, в нынешной сборке ecos почему-то не указали класс устройств USB (0x00), может ли из-за этого драйвер некорректно работать с данным устройством? вот так выглядет пакет описания дескриптора Device Descriptor eCos USB Serial Device Offset Field Size Value Description 0 bLength 1 12h 1 bDescriptorType 1 01h Device 2 bcdUSB 2 0200h USB Spec 2.0 4 bDeviceClass 1 00h Class info in Ifc Descriptors (!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!) 5 bDeviceSubClass 1 00h 6 bDeviceProtocol 1 00h 7 bMaxPacketSize0 1 08h 8 bytes 8 idVendor 2 FFFFh 10 idProduct 2 0001h 12 bcdDevice 2 0000h 0.00 14 iManufacturer 1 01h "eCos" 15 iProduct 1 02h "eCos USB Serial Device" 16 iSerialNumber 1 00h 17 bNumConfigurations 1 01h
  8. Прошу помочь разобраться с проблемой, пишу приложение для at91sam9263 под rtos eCos с использованием встроенных функции eCOS serial USB. Нашел драйвер под win xp/7 ecosusbserial.inf как было описано в доке по eCos, и установил, однако win 7 обнаружила данное устройство, но отказывается его обслуживать, в диспетчере устройств напротив порта восклицательный знак и выдает сообщение, что не в состоянии его запустить, код 10. Если через тот же шнур подключить SAM-BA в режиме RomBoot, то работает нормально, без нареканий. Привожу исходник тестового приложения на ecos: #define BUF_SIZE 4096 static cyg_uint8 rx_buf[2][BUF_SIZE+1], tx_buf[BUF_SIZE+1]; // -------------------------------------------------------------------------- // Thread receives packets from the USB and sends them out the serial port // It uses a buffered stdio input, an un-buffered low-level file output. // This isn't terribly efficient, but rather an example of both methods. void usb2ser_func(cyg_addrword_t data) { int n; unsigned ibuf, next_buf; DBG("Usb2Ser: Thread starting\n"); // Give the USB receiver an adequate buffer. // setvbuf(rxf, usb2ser_buf, _IOFBF, BUF_SIZE); ibuf = 0; while (1) { // ----- Wait for the host to configure ----- DBG("Usb2Ser: Waiting for USB configuration\n"); usbs_serial_wait_until_configured(); cyg_thread_delay((cyg_tick_count_t) 10); // ----- While configured read data & send out serial port ----- DBG("Usb2Ser: USB configured\n"); usbs_serial_start_rx(&usbs_ser0, rx_buf[ibuf], BUF_SIZE); while (usbs_serial_is_configured()) { n = usbs_serial_wait_for_rx(&usbs_ser0); next_buf = ibuf ^ 1; usbs_serial_start_rx(&usbs_ser0, rx_buf[next_buf], BUF_SIZE); if (n < 0) { DBG("*** I/O Error: %d ***\n", n); } else { rx_buf[ibuf][n] = '\0'; DBG("%s", rx_buf[ibuf]); } ibuf = next_buf; } } } // -------------------------------------------------------------------------- // Thread receives packets from the serial port and sends them out the USB // It uses a buffered stdio input, an un-buffered low-level file output. // This isn't terribly efficient, but rather an example of both methods. void ser2usb_func(cyg_addrword_t data) { int n; DBG("Ser2Usb: Thread starting\n"); while (1) { // ----- Wait for the host to configure ----- DBG("Ser2Usb: Waiting for USB configuration\n"); usbs_serial_wait_until_configured(); cyg_thread_delay((cyg_tick_count_t) 10); // ----- While configured read data & send out serial port ----- DBG("Ser2Usb: USB configured\n"); while (usbs_serial_is_configured()) { n = 5; memset(tx_buf, 0xAA, n); usbs_serial_tx(&usbs_ser0, tx_buf, n); cyg_thread_delay((cyg_tick_count_t) 1000); } } } // -------------------------------------------------------------------------- // Application Startup // -------------------------------------------------------------------------- int main(void) { DBG("Entering usb_serial_send function\n"); cyg_thread_create(4, usb2ser_func, (cyg_addrword_t) 0, "Usb2Serial", (void *) stack[0], THREAD_STACK_SIZE, &usb2ser_thread, &thread[0]); cyg_thread_create(4, ser2usb_func, (cyg_addrword_t) 1, "Serial2Usb", (void *) stack[1], THREAD_STACK_SIZE, &ser2usb_thread, &thread[1]); // Start USB subsystem usbs_serial_start(); // Start the threads running. cyg_thread_resume(usb2ser_thread); cyg_thread_resume(ser2usb_thread); #if 1 char ch = 0; while (ch != 'q') { printf("\r\nPress `q' to quit"); scanf("%c", &ch); } #else for (;;) { } #endif CYGACC_CALL_IF_RESET(); //CYGACC_CALL_IF_MONITOR_RETURN(0); // return to RedBoot return 0; } Это измененный пример тестового исходника из пакета eCos. Вот что выдает приложение при подключении к ПК. Entering usb_serial_send function ### 4:Reset ### Usb2Ser: Thread star### 132:<null> ### ting Usb2Ser: Waiting for USB configuration Ser2Usb: Thread starting Ser2Usb: Waiting for USB configuration Press `q' to quit### 4:Reset ### ### 3:Powered ### ### 4:Reset ### ### 3:Powered ### ### 4:Reset ### ### 5:Addressed ### ### 6:Configured ### ### 6:Configured ### Usb2Ser: USB configured Ser2Usb: USB configured Прошу помочь, на что нужно обратить внимание. Спасибо
  9. eCOS в IAR

    Господа! Кто-нибудь использовал IAR для построения проекта на базе ОС eCOS, такое возможно? Поделитесь как создавать проекты, мне удобно было бы на IAR.
  10. Спасибо! А насчет покупки, заходим сюда http://www.ecoscentric.com/ecos/ecospro.shtml, там есть контактные данные, по которым можно связаться с ихними менагерами, обычно через email, и договариваемся о покупке, по почте пришлют DVD или наверное дадут ссылку на скачивание с паролем, я пытался скачать порт на at91sam9263, но меня на халяву не пустили.. И еще вопрос, можно ли бинарники с помощью redboot перекачать с NOR-флеша на ПК и затем снова залить на другую плату, как это сделать? Спасибо
  11. Помогите установить Insight на ОС Xubuntu, для отладки на ARM9, скачал версию Insight 6.8 из http://sources.redhat.com/insight, делал по инструкции строго user> ls src/ user> mkdir insight-arm; cd insight-arm user> ../src/configure --target=arm-eabi --prefix=/opt/insight-arm user> sudo make user> sudo make install Этап конфигурирования прошел успешно, а вот на команду make огрызается make[4]: Вход в каталог `/home/user/insight-6.8/insight-arm/bfd' /bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -I. -I../../bfd -I../../bfd/../include -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror -g -O2 -c -o elf32-arm.lo ../../bfd/elf32-arm.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../bfd -I. -I. -I../../bfd -I../../bfd/../include -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Werror -g -O2 -c ../../bfd/elf32-arm.c -o elf32-arm.o ../../bfd/elf32-arm.c: In function 'record_vfp11_erratum_veneer': ../../bfd/elf32-arm.c:2980:7: error: variable 'errcount' set but not used [-Werror=unused-but-set-variable] ../../bfd/elf32-arm.c: In function 'bfd_elf32_arm_vfp11_erratum_scan': ../../bfd/elf32-arm.c:3904:23: error: variable 'errcount' set but not used [-Werror=unused-but-set-variable] ... ... что не так делаю? Команды выполняю под суперпользователя (root), кстати toolchain у меня от ecoscentric arm-eabi c eCOS'ом У меня есть подозрение на -Werror=unused-but-set-variable.. Спасибо Проблему решил случайно, оказывается надо было на этапе конфигурирования добавить ключ --disable-werror user> ../src/configure --target=arm-eabi --prefix=/opt/insight-arm --disable-werror это связано с тем, что по умолчанию GCC трактует предупреждения как ошибки, что не есть гуд! Требуется дополнительно установки libncurses5-dev
  12. проблема с Openocd

    Да нет, меня RedBoot вполне устраивает, иногда возникает ситуация, когда требуется отладка в пошаговом режиме.. короче, я под Windows поставил набор GCCDF из CD, прилагаемого к эмулятору Olimex ARM-USB-Tiny, там все окей, достаточно ввести всего две строчки mon soft_reset_halt load Мне вот интересно, под Win версия OpenOCD 1.0 , а под Linux стоит 0.5.0, причем файлы конфигурации несовместимы, хотелось бы понять какая линуховая версия является аналогом 1.0-версии openocd под Win? Ставил линуксовый 0.1.0, но это не то же самое, что 1.0 виндовая..
  13. проблема с Openocd

    Нормальный способ это какой? Через RedBoot все окей, но только бинарники, я бы воспользовался IAR, к которому я привык, но вся библиотека написана с использованием eCOS, вынужден в Линуксе на GNUtools программировать..
  14. проблема с Openocd

    Похоже никто не может ответить на мой вопрос, выскажу свою мысль, если что, поправьте пожалуйста.. Я так понимаю, что иницализацию контроллера SDRAM делает встроенный RedBoot (не мною создан и встроен), когда устанавливается связь gdb с openocd, gdb сбрасывает процессор и соответственно все регистры "обнуляются", что вследствии процессор не видит SDRAM, попробывал ввести команду программного сброса типа mon soft_reset_halt, ситуация аналогична, где ошибка, не могу понять.. в Eclipse в настройках Debug configuration мне досталось по умолчанию 'run' в таком виде: target remote localhost:3333 mon reset halt load Может не стоит сбрасывать процессор, а сразу остановить halt и загрузить прошивку load?
  15. Россия тут ни причем, я имею ввиду eCOS PRO, который небесплатно поставляется ecoscentric.. Ну ладно, вот такой вопрос, можно ли восстановить конфигурационный файл ecc имея папку Install, который включает в себя include и lib и ничего больше? К сожалению, такое жалкое наследие оставили предыдущие разработчики..
  16. проблема с Openocd

    Просьба помочь новичку разобраться с OpenOCD 0.5.0 + Eclipse, процессор AT91SAM9263, мне нужно загрузить прошивку во внешную SDRAM в режиме отладки, но она не загружается, хотел бы понять ошибки. Первое что я сделал, запустил демон telnet openocd -f my_openocd_tiny.cfg Open On-Chip Debugger 0.5.0 (2011-08-26-10:27) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html Info : only one transport option; autoselect 'jtag' trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain adapter_nsrst_delay: 300 jtag_ntrst_delay: 200 RCLK - adaptive 1 Info : RCLK (adaptive clock speed) not supported - fallback to 3 kHz Info : JTAG tap: at91sam9263.cpu tap/device found: 0x0792603f (mfg: 0x01f, part: 0x7926, ver: 0x0) Info : Embedded ICE version 6 Info : at91sam9263.cpu: hardware has 2 breakpoint/watchpoint units конфигурационный файл достаточно прост #daemon configuration telnet_port 4444 gdb_port 3333 # include the FT2232 interface config source [find interface/olimex-jtag-tiny.cfg] # include the target config source [find target/at91sam9263.cfg] далее запускаю arm-eabi-gdb с подключением к telnet, данная утилитка взята из ecoscentric (gdb) target remote localhost:3333 Remote debugging using localhost:3333 0x00000000 in ?? () (gdb) mon reset halt JTAG tap: at91sam9263.cpu tap/device found: 0x0792603f (mfg: 0x01f, part: 0x7926, ver: 0x0) target state: halted target halted in ARM state due to breakpoint, current mode: Supervisor cpsr: 0x000000d3 pc: 0x00000000 MMU: disabled, D-Cache: disabled, I-Cache: disabled NOTE! DCC downloads have not been enabled, defaulting to slow memory writes. Type 'help dcc'. NOTE! Severe performance degradation without fast memory access enabled. Type 'help fast'. (gdb) load No executable file specified. Use the "file" or "exec-file" command. (gdb) load pio_test Loading section .rom_vectors, size 0x40 lma 0x2001b300 Loading section .text, size 0x1670c lma 0x2001b840 Ignoring packet error, continuing... Ignoring packet error, continuing... Ignoring packet error, continuing... Ignoring packet error, continuing... Ignoring packet error, continuing... Loading section .rodata, size 0x4668 lma 0x20031f4c Ignoring packet error, continuing... Loading section .data, size 0x2df8 lma 0x200365b4 Ignoring packet error, continuing... Start address 0x2001b840, load size 121772 Ignoring packet error, continuing... Transfer rate: 620 bytes/sec, 12177 bytes/write. (gdb) как видно gdb пытается залить elf- прошивку в SDRAM по адресу 0x2001b300, но стучится лбом об стену, что не так? Может скрипт понадобится для инициализации EBI0? Спасибо за любую помощь. Кстати, чуть не забыл, во флеше RedBoot, при загрузке выдает сообщение об ограничении возможности использования оперативки, поэтому в lds-файле указал стартовый адрес доступной памяти RAM: 0x20000000-0x24000000 [0x2001b300-0x238ed000 available] FLASH: 0x10000000-0x107fffff, 128 x 0x10000 blocks
  17. я порт достал на просторах интернета, с этим я разобрался, вопрос новичка, как настроить eclipse под ecos и его gnu toolchain, где можно об этом почитать? на сайте ecoscentric в документации предполагается, что диск приоберетен, и пользователь может приступить к работе сразу, понятное дело все это вкусности за деньги, офис позволить такие роскоши не может. Какие ide обычно используются при разработке приложений с применением eCOS? Было бы здорово, если подскажете где такое чудо скачать, можно в личку.
  18. Скажите пожалуйста, я новичок в eCOS, пока только осваиваю, меня интересует, где можно достать порт AT91SAM9263-EK под eCOS? Я так понял из описания на сайте eCOS, что такой порт сушествует, но его предоставляют небесплатно, и что многие умудряются портировать вручную, это так? Кто нибудь занимался, можете ли подкинуть пару примеров с портированием на плату AT91sam9263-ek? Спасибо
  19. Может кто посоветует, где взять порты под ecos на плату at91sam9263-ek?
  20. Вопрос новичка, у нас проблема с сетью, контроль трафика, прокси в домене и все такое, я хочу поставить на виртуальную машину ecos без подключения к сети, закачал два архива из http://sources-redhat.mirrors.airband.net/ecos/ , поставил без проблем gnutools, достаточно разархивировать и прописать путь в PATH, теперь хочу установить сам ecos, закачал из http://sources-redhat.mirrors.airband.net/...ses/ecos-3.0b1/ , далее я так понимаю нужно откомпилировать или что с ним делать? На официальном сатйе приводится порядок установки с помощью скрипта sh ecos-install.tcl, но у меня этот номер не работает, поскольку требует подключения сети, прошу помочь разобраться, как установить ecos не подключаясь к сети? Спасибо.
  21. uC/OS-II

    Хотел бы уточнить, uCOS II-порты, которые можно скачать из сайта, по заявлению разработчика в данном случае micrium, является эволюшн-версией, я так понимаю в серьезных проектах их лучше не использовать? В чем проявляется эволюшн и как их обойти? Спасибо.
  22. Доброе время суток! Поскольку тема про ecos, чтобы не создавать новый топик, хотел бы спросить где можно скачать полноценный пакет ecos с сопутствующими средствами разработки? Я в этом деле начинающий.. Зашел как-то на сайт https://www.ecoscentric.com/cgi/nph-epdk.cgi чтобы скачать пакет для at91sam9263-ek, но при попытке скачать, ругнулся что нужен контракт, eCOS разве несвободный?
  23. at91sam9263 jtag

    Ясно, он и так в воздухе, а на что посоветуете обратить внимание?
  24. at91sam9263 jtag

    Просьба помочь чайнику, только что устроился на работу. Мне подкинули отладочную плату atmel at91sam9263-ek, у меня задача - скорректировать ошибки прошивки, написанная в среде IAR и Crossworks с использованием Olimex-Usb-Jtag-Tiny, только вот рядом не оказалось человека, который смог бы мне помочь. Открыл в ИАРе проект GettingStarted, пытался прошить через MT-link ничего не получилось, ругается на отсутствие высокого уровня на TCK, TMS и т.д., посмотрел в Crossworks, при попытке подключиться через Olimex-ARM-USB-Tiny ругается Cannot identity JTAG-connection, please check JTAG and target power, запустил SAMBA из компакта-диска, прилагаемого к комплекту, там есть пример, который мне удалось прошить и запустить. Посмотрел документацию, там есть не запаянная перемычка питания JTAGSEL для переключения режима ICE/JTAG, может быть прична в ней? На что нужно обратить внимание?
  25. шрифты в PCAD

    Я новичок, только изучаю PCAD, закачал форматки по ГОСТу, установив страницу с форматкой, вижу вместо русских букв крякозябры, помнится где то говорили что нужно добавить шрифты в папку fonts в самом windows, а вот какие я не помню, буду благодарен за помошь, что нужно сделать, чтоб отображались нормально русские шрифты в рамках?
×
×
  • Создать...