Jump to content

    

Maddy

Участник
  • Content Count

    55
  • Joined

  • Last visited

Everything posted by Maddy


  1. мдя послали А кстати - вариант с offsetof не подходит для данного извращения ?
  2. Хм ... Кодlong handleTimersISR(void); static U8 data[]={0,0,((U32)handleTimersISR >>24)& 0xff,((U32)handleTimersISR >>16)& 0xff,((U32)handleTimersISR >>8)& 0xff,((U32)handleTimersISR )& 0xff }; Цитата..\072-cxxV2\fwcommon\boards\072-Cxx\bsp_hw_timersInit.c:17: error: initializer element is not constant ..\072-cxxV2\fwcommon\boards\072-Cxx\bsp_hw_timersInit.c:17: error: (near initialization for 'data[2]') ..\072-cxxV2\fwcommon\boards\072-Cxx\bsp_hw_timersInit.c:17: error: initializer element is not constant ..\072-cxxV2\fwcommon\boards\072-Cxx\bsp_hw_timersInit.c:17: error: (near initialization for 'data[3]') ..\072-cxxV2\fwcommon\boards\072-Cxx\bsp_hw_timersInit.c:17: error: initializer element is not constant ..\072-cxxV2\fwcommon\boards\072-Cxx\bsp_hw_timersInit.c:17: error: (near initialization for 'data[4]') ..\072-cxxV2\fwcommon\boards\072-Cxx\bsp_hw_timersInit.c:17: error: initializer element is not constant ..\072-cxxV2\fwcommon\boards\072-Cxx\bsp_hw_timersInit.c:17: error: (near initialization for 'data[5]') И я ему верю Ибо все-таки адрес функции хоть и константа , но на этом этапе не определена Цитатаavr32-gcc.EXE (AVR_Toolchain_3.0_124) 4.3.3 или опять приколы Атмеловцев ? НЕ winAVR но gcc ж)
  3. ну таки я об этом и говорю - тут на этапе формирования массива автор пытается пользовать данные ,которых еще нет . Если просто класть указатель на функцию - да , ld автоматом подсунет нужный адрес , но автор-то хочет вычеслений ... И как быть бедному gcc ?
  4. Хм ... а можно дурацкий вопрос ? откуда компилятор возмет адрес функции что-бы вычислить значение adr(x) ?? IMHO адрес может проявиться только на этапе сборки (если не выпендриваться с __attribute__ ) ?
  5. FreeRTOS + LwIp + PPP

    Цитата(cpl @ Sep 21 2010, 00:15) Это место я нашел, но неочень понимаю что этим хотели выразить.... Ну раньше это так выглядило... Сейчас для более гибких настроек свсарганили костыль .... но суть та-же Кодtypedef enum {   MEMP_PBUF,   MEMP_RAW_PCB,   MEMP_UDP_PCB,   MEMP_TCP_PCB,   MEMP_TCP_PCB_LISTEN,   MEMP_TCP_SEG,   MEMP_NETBUF,   MEMP_NETCONN,   MEMP_API_MSG,   MEMP_TCPIP_MSG,   MEMP_SYS_TIMEOUT,      MEMP_MAX } memp_t; Цитата(cpl @ Sep 21 2010, 00:15) Я правильно понимаю что чтоб отключить ethernet в стеке определяем LWIP_ARP=0 ? Нет ... Это отключает именно ARP грубо говоря это преобразование MAC адреса интрефейса (или подобного) в IP адрес ... подробнеесюда. Чтоб убить езернет просто не вкючайте ethernetif.c из порта в проект (ну и macb.c соответственно не нужен ...) Цитата(cpl @ Sep 21 2010, 00:15) мой lwipopts.h Ну явного с памятью не видно ... Все-таки где lwip рушится на memp_malloc или mem_alloc ? далее , Вы уверены что за 20ms стек успевает инициализироваться ? Код tcpip_init(NULL, NULL);     vTaskDelay(20); может родную методу попробывать ? Кодsys_sem_t sem; sem = sys_sem_new(0); // Create a new semaphore. tcpip_init(tcpip_init_done, &sem); sys_sem_wait(sem); // Block until the lwIP stack is initialized. sys_sem_free(sem); // Free the semaphore. Это вроде авторы рекомендуют ...
  6. FreeRTOS + LwIp + PPP

    Цитата(cpl @ Sep 16 2010, 21:18) попытался найти MEMP_MAX в исходниках, не нашел, как и откуда берется-формируется непонятно ?! плохо искали ... lwip-1.3.0\src\include\lwip\memp.h Кодtypedef enum { #define LWIP_MEMPOOL(name,num,size,desc)  MEMP_##name, #include "lwip/memp_std.h"   MEMP_MAX } memp_t; c ppp на авр32 дело не имел еще (тьфу*3)... но с езернетом наигрался вволю ... собственно чего в lwipopts.h нарисовано в части памяти ? Кстати , mem_malloc и memp_malloc это разные сущности ...
  7. да , бинарник прожигается 0x80000000 ... Кодuc3a0512-boot-072.elf  : section              size         addr .reset               0xc8   0x80000000 .xflash              0x42   0x800000c8 .lalign               0x6   0x8000010a .dalign               0x4          0x4 .data                0x28          0x8 .bss                0x620         0x30 .stack              0x400        0x650 .const             0x2734       0x2000 .comment            0x1b8          0x0 .debug_aranges      0x7d8          0x0 .debug_pubnames    0x1585          0x0 .debug_info       0x10221          0x0 .debug_abbrev      0x1d4b          0x0 .debug_line        0x8430          0x0 .debug_frame       0x1384          0x0 .debug_str         0x282c          0x0 .debug_loc         0x4843          0x0 .debug_ranges      0x3a40          0x0 Total             0x2b374 и в принципе тоже основная прога лежит в раме .... lds - перекуроченый от демки uart-загрузчика из asf 2.0 .. А как описана Ваша секция в lds ?
  8. Странное что-то у вас творится ... Кодavr32-objcopy -O binary uc3a0512-boot-072.elf uc3a0512-boot-072.bin 14.09.2010  14:44            10 348 uc3a0512-boot-072.bin 14.09.2010  14:44           181 798 uc3a0512-boot-072.elf Живой проект загрузчика ... Кодavr32-objcopy --version GNU objcopy (atmel-1.2.0-(mingw32_special)) 2.19.20081016 может таки тама реально гиг адресов получается ?
  9. тож смотрел с сторону гита ... но на момент просмотра под форточками он адекватно не работал ... В итоге сел на меркуриал(тогда он был 0.9) и на нем и сижу ... В принципе пользую командную строку( в силу привычки) , но коллеги активно используют черепаху(TortoiseHg) ... Она(TortoiseHg) кстати, дерево веток нормально рисует ... IMHO плохо только одно - мерк очень плохо относиться к файлам >10Mb ....
  10. AVRONE! и XMEGA 16 A4

    Цитата(Leonmezon @ Aug 31 2009, 01:06) И В чем принципиальная разница между Вашими кодами? (А на каком компиляторе работаете). а что , если скормить -Os gcc ? первый вариант не будет оптимизирован ? и фор останется ? таки разница IMHO есть все-таки
  11. AVR32 uC3B

    Цитата(zltigo @ Jun 22 2009, 14:23) Вот это писанное левой ногой, "прожорливое", использущее малую толику возможностей железа и не поднимается рука написать "рабочим" без кавычек . Не , ну я малость по нудю Что в драйверах из sf писано "левой ногой" Хотя-бы пару примеров можно ? Может я и лох полный , но я предпочитаю собрать из готовых кирпичиков макет , малость попинать его , а потом уж заниматьмся оптимизацией всего щасться .... И как-то пока получалося ... Но бороться в основном приходилось торько за память - производительности и размера флеша заглаза хватало ... А камушки приятственные IMHO PS вот завтра плату на живучесть в печке бум гонять поглядим какой он Сухов .....
  12. AVR32 uC3B

    Цитата(Visor @ Jun 21 2009, 11:32) М-да, не густо, это что-ж получается, на этом форуме только один человек взялся использовать AVR32. Неужели всё так бесперспективно с семейством AVR. ну еще меня посчитать можно ... 3 железяки на UC3A512 сварганили ... из фреймворка править только драйвер macb пришлось , дабы реагировать на появление линка ... А так - почти все сразу завелося ... Грабли только с evk1100 были , пока es на нормального не переставили Цитата(zltigo @ Jun 21 2009, 12:22) Мгновенно вспомнилось бессметнтое "Кому и кобыла невеста". Если кому-то, то что в примерах идет есть "рабочее", то тогда и редькинское гуано (даже так - отборнейшее гуано) несомненно шедевр. А в двух словах можно - чего там не работает ? По ресурсам - да - прожоливо , но кажись все заявленное вполне адекватно себя ведет .... ЗЫ про редькина не спрашиваю - доку предпочитаю в оригинале читать
  13. jtag для AVR32

    Хм .... а нескромый вопрос можно ? Нафига для AP jtag сдался ? оно-ж вроде нормально с sd\flash\по сетке грузиться ? Что ngw что stk ? У меня был mk2 купленный еще с stk500 - он их (ap7 uc3a uc3b) нормально видит и програмит ... но реально он мне пригодился только для базовой отладки uc3a. Щаз вот на avrOne облизываюсь - в одной железке nanoTrace хочу поиметь ... а mk2 его не тянет ... Жмоты они , но ведь придется брать - клонам таких вещей както не очень доверяю - время затраченное на трахач что клона оживить часто всю экономию съедает(у коллег наблюдал историю)
  14. ATxmega

    Цитата(zltigo @ Apr 17 2009, 21:16) Да? http://shop.efo.ru/cgi-bin/shop.pl?categor...p;mh=50&a=1 Гы .... А интересно , но ничего не доказвает Так-как этот вариант поиска у них диико кривой (Вместо Альтеровского Стратикса Мерка выдавал ) Завтра отпишусь нашему менеджеру и спрошу о перспективах ...
  15. ATxmega

    Цитата(Petka @ Apr 16 2009, 20:23) Зайдите на efind + "xmega". Продаются только инженерные образцы, даже 100шт на складах Родины нету. Один пиар. www.efo.ru Цитата13.03.2009 На склад поступила первая партия новых микроконтроллеров семейства XMEGA - ATXMEGA128A1-AU. ы ? PS Я им как-то доверяю ... Железки нужные все привозили ... и Армы и Меги и АВР32 ..... Будет время - посмотрю и на ХМегу - Нужон тупой переходник RS->Ethernet портов на 6-8 .... Так-что бум считать что они есть ...
  16. Допустимые параметры PLL у UC3

    Гы .... А кстати, да .... явных ограничений диапазонов PLLMUL/PLLDIV нет ..... PLLMUL>1 и все ... завтра попробую поигратся .... А сколько надо получить то ?
  17. Мдяяя ... попробывал я щаз по исходникам newlib'a поползать .... Весело ... В принципе все заканчиваеться на _write , как я раньше и писал .... Но с бееееешанными накрутками по буферизации и вызовом пачки нафиг не нужных проверок ( в данном случае) .... Так-что IMHO я _это_ у себя юзать пока не буду ... обойдусь printf_stdarg'ом и добавками
  18. это был пост из армовской ветки про newlib .... Железки у меня дома нема - попробывать щаз не могу Если есть желание - просто опиши их (read и write ) в своей проги и посмоти чего будет ... Хоть лампочкой по write помигай
  19. ну вообщето winavr тут саавсем не при делах - avr32 юзает newlib сам не пробывал - хватает пока print_stdarg'а .... CODEWithout changing any other functions from syscalls.c, change only _read and _write functions like following. int _read (int file, char *ptr, int len) { /* GetChar : Your implementation to receive the character from the serial port.*/ //*ptr=GetChar(); return (1); } int _write(int file,char *ptr,int len) { int i; /* PutChar : Your implementation to send the character to the serial port.*/ for(i=0;i<len;i++) { //PutChar(*ptr++); } return len; } This implementation of redirecting stdin and stdout to serial port will override default implementation of stdin and stdout. Do not forget to include directories with required header files in your project. Тобишь _read и _write пишешь и вперед .... Если ртось буш прикручивать - мутекс не забудь .... PS Хотя на фреках(avrfreaks) народ при адекватном размере стека не смог подружить rtos и принтф из newlib
  20. Хм , а прога-то что пользует ? Голый С ? SoftwareFramework ? Или нечто с FreeRtos (другой операционкой) ? Про голый С - не скажу я Uc3a пльзую с FreeRtos/lwip и компанией для быстрых поделок - остальное SwFw от атмела - в каталоге Drivers\usart\usart_example лежит пример использования кома без всего тяжелого ... или в сторону \UTILS\DEBUG\print_funcs.h не принтф но .... для отладки сойдет если freertos не пугает - из applications\control_panel легко выдираеться printf_stdarg (этому прафда и ртос не нужон - переопределяеться int putchar(int c); через тот-же usart.c и вперед) - легкая леализация printf/sprintf (но перед использованием смотреть чего могет) и tracedump.c - тож помогает при отладке (но уже с rtos'ом) и все прекрасно работает .... ЗЫ сорри что сумбурно - пробегом с одного поезда на другой Если что-то конкретное интересует - спрашивайте две железяки на uc3 сделали ....
  21. ATmega 8 <=> ISA

    ЦитатаВпервые шина ISA появилась на компьютерах IBM PC/XT в 1981 году. Это была 8-ми битная шина с тактовой частотой 4,77 МГц и скоростью передачи данных 4,77 МБ/с. Разъём состоял из 62-х контактов, из них 8 — для данных, 20 — линии адреса, 6 — для прерываний от IRQ2 до IRQ7. В 1984 году шина была усовершенствована — стала способной передавать 16-бит данных за такт, увеличена тактовая частота до 8 МГц, размер адресуемой памяти был увеличен с 4 МБ до 16 МБ. Разъём увеличили на 36 контактов, при этом он остался совместим с 8-битными картами расширения, под данные теперь отводилось 16 линий, под адрес 24 линии и под прерывания 11 линий шины. http://ru.wikipedia.org/wiki/ISA Насчет меги не скажу - таким извратом не занимался , но в свое время 51 к Изе Прикрутили и работал он более-менее нормально .... Мама была - 486 кажись
  22. В догон - с форума FreeRtos тут ЦитатаIt is definitely possible, and the tasks get served in priority order. If a high and low priority task are blocked on the same queue and data arrives the high priority task will get the data, if the high priority task reads the queue again without blocking in between then it will also get the next data. If the high priority task blocks or delays, then the low priority task is the only task waiting on data and will get the next data to arrive.
  23. Запись во внешнею flash-память

    флеши-то разные бывают .... по конкретнее тафай ... -Петька приборы ?! -"300" -что "300" ? -а что "приборы" ?
  24. Цитата(Kirill Trusov @ Oct 29 2008, 23:24) спасибо, зайду на опеннет , посмтарю что да как, я мало знаком с программированием под линем Будут проблемы - пиши в личку постораюсь помочь .... Я щаз правда свалился на uc3 с freertos , но пингвин - основная платформа
  25. Цитата(Kirill Trusov @ Oct 29 2008, 22:55) если ли документация вообщее? вообще есть все .... только вопрос - что конкретно интересует ? рисовать свой модуль для ядра(драйвер) - www.opennet.ru там были статьи по программироваию ядра , потом googla в помощь....Програмирование в юзверь-пространстве ? Таки ничем (почти) от обычного пингвина не отличаеться .... Опять-таки на опенете можно пошарться ... 1000 стк в руках не держал,но для ngw образ с прогой(своей) собрал за 30 минут (прога писалась с нуля и изображала транскодер для двух комов в тсп-сокеты) - вроде до сих пор в сегфолт не свалилась Хотя через месяц наверное тоже 1000 буду брать - хочу большой монитор присобачить и посмотреть на производительность