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

Jurdens

Свой
  • Постов

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

  • Посещение

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


  1. Tracealyzer для FreeRTOS

    Добрый день !! Немогу скачать по ссылке написано файл недоступен . Написал в личку подробности.
  2. Tracealyzer для FreeRTOS

    Спасибо Unisoft в очередной раз!!!! Забрал по ссылке выше объект T . У меня FireFox не хотел читать сайт rgho.st .Нужно поставить расширение (в настройках) называется browsec . Сначала написал запрос в личку но теперь разобрался так что спс.
  3. Tracealyzer для FreeRTOS

    Большой респект участнику UniSoft За помощь!!!
  4. Tracealyzer для FreeRTOS

    Скачал, проверил на LPC1768 , Работает ограничения по времени работы нет . Я не умер но болел долго!
  5. Tracealyzer для FreeRTOS

    Antivira ругается что сайт фишинговый . Отключить и все равно качать?
  6. У меня только положительные эмоции от этой ОС как и от ее документации Работал и с арм7 и кортексами M3 все нормально Если и находились зависухи то в конечном итоге это были мои ляпы Мне кажется надо оставить такой высокомерный тон типа "тупейшие глупейшие " Не этично к уважаемым инженерам. А ошибки у всех бывают. Не использую так как на предприятии отказались Минус ее высокая цена Впрочем как у всех платных
  7. После какого то времени использования ЮКОС стал замечать что приложение под ЮКОС стало вылетать , зависать. Причем ставишь оптимизацию среднюю то работает высокую не работает ? Ага подумал я ИАР кривой Ставлю без оптимизации тоже виснет. Точно кривой! Работаю дальше пишу код дальше, теперь и при средней не стал работать. Причем вылетает так что JTAG перестает функционировать. Начинаю разбираться вижу что стек разрушается и при выходе из исключения(прерывания) улетает не туда. Вспоминаю что при дебаге ИАР все о каком то несоответствии стека предупреждал The stack pointer for stack 'SVC_STACK' (currently 0x40003088) is outside the stack range (0x40007C18 to 0x40009C08) Но по совету людей из форума я не обращал на это внимание .Решил обратить Разобрался .Оказывается (хотя многие может и знают об этом) все задачи в ЮКОСе стартуют в режиме супервизора и рабочим указателем стеком является стек SVC_STACK в ИАРе так называется , хотя реально это регистр R13 из набора регистров режима супервизора Юкос ,при переключении задач, постоянно его переинициализирует, значениями которые мы ему прописали Например стеки задачь выглядят так OS_STK AppTaskDyspStk[APP_TASK_DYSP_STK_SIZE]; // Отображение на дисплей OS_STK AppTaskTouchscreenStk[APP_TASK_TOUCHSCREEN_STK_SIZE]; // точскрин OS_STK AppTaskKeyStk[APP_TASK_KEY_STK_SIZE]; // кнопки Размеры стека определяются где ни будь в app_cfg.h #define APP_TASK_KEY_STK_SIZE 128 // ОС вью диагностика #define APP_TASK_TOUCHSCREEN_STK_SIZE 255 // Стартовая задача #define APP_TASK_DYSP_STK_SIZE 512 // Дисплей ……. В процессе работы ОС постоянно перезаписывает значение указателя стека r13 значением адреса одного из массивов, AppTaskTouchscreenStk, AppTaskKeyStk, AppTaskDyspStk в зависимости от текущей задачи Поэтому иаровский плагин стека ничего не понимает и выдает предупреждение ,которое я привел выше, и в поле SVC_STACK показывается не верный стек. И в этом смысле обращять внимание на это окошко ненужно и вообще отключить этот плаг можно Но вот вопрос А куда будут грузится локальные данные программы обработки прерывания ? ОПА! Многие годы не задавался этим вопросом и все работало. Так вот есть такой os_cpu.h Там и описан стек для прерываний (исключений ) OS_CPU_EXT OS_STK OS_CPU_ExceptStk[OS_CPU_EXCEPT_STK_SIZE]; Его размер OS_CPU_EXCEPT_STK_SIZE Определен там же выше #define OS_CPU_EXCEPT_STK_SIZE 128 И всего 128 байт видимо для большинства приложений достаточно так как в прерываниях стараются минимизировать затраты на выполнения программы и выделения ресурсов. Но если превысить этот порог то последствия могут быть весьма плачевны, как в моем случае.После того как я увеличил этот стек в соответствии с потребностями все заработало как часы! И я уже не ругал не ИАР не ЮКОС Вот такая история.
  8. А кто нибудь скажет в какой стек (или куда) будут помещатся автоматические данные ,локальные данные в функции прерывания? в юкосе (использую иар)
  9. GUI

    А какую если не секрет ?
  10. попробую уточнить предидущего оратора "А не пополнились ли наши закорма этим заморским продуктом?" и на какои полочке он лежит
  11. Точно!!! все разобрался реально перепроверил выключение I2S происходит при манипуляции pinsel11(а не при включении частоты LCD ка я писал выше) у олимекса как раз и идет настройка на цвет 24bit в сдедующих строках PINSEL11&= BIN32(11111111,11111111,11111111,11110000); PINSEL11|= BIN32(00000000,00000000,00000000,00001111); установка младших единиц означает - включение LCD 1 в нулевом разряде - и следующие 3 бита это тип панели - число 7 это 24bit TFT переписал понятней и исправил на 16 bit PINSEL11_bit.LCDPE=1; //Разрешение LCD PINSEL11_bit.LCDM=5; // режим 5-6-5 bpp !!!!!!!число 7 (24bit)неработает i2s У меня мануал от июля 2008 там это на 322 стр. спасибо
  12. Настроил работу модуля LCD (инициализация от платы OLIMEX) стал подключать другие узлы UART SDRAM SPI ... Все работает все включилось.Стал подключать I2S (звуковой интерфейс не путаем с I2C) выход этого интерфейса подключен к цапу HT82V731 Сигналы (clk ws sda) появятся и пропадают тут же. Выяснил что сначала идет инициализация I2S потом LCD и после прохождения этой инициализации прекращаят свою работу I2S. Когда меняешь местами инициализации этих блоков I2S вообще не работает хотя все битики в регистрах модуля I2Sустанавливаются верно. Когда я закоментировал инициализацию LCD все стало работать нормально. Когда раскоментировал ини LCD и прошел ее в отладчике увидел что все прекратилось при установке бита PCONP_bit.PCLCD = 1; // enable LCD controller clock Кто то сталкивался с подобным?
  13. Я не написал , в куче своих опытов я провел и такой как просто копирование всей папки PCAD с другого рабочего компьютера. Это ни к чему не привело. И еще - дело не в отсутствии ассоциации файлов *.pcb программе PCB.exe, а в том что сама программа когда ее запускаешь не запускается и непишет что ей надо. Видимо надо что то в винде править.
  14. Я не написал , в куче своих опытов я провел и такой как просто копирование всей папки PCAD с другого рабочего компьютера. Это ни к чему не привело. И еще - дело не в отсутствии ассоциации файлов *.pcb программе PCB.exe, а в том что сама программа когда ее запускаешь не запускается и непишет что ей надо. Видимо надо что то в винде править.
  15. Все работало вчера. система WIN XP Сегодня запустил pcb файл ничего не произошло. никаких пояснений ни окон с предупреждениями. Попробовал pcb.exe ничего Все остальные составляющие(схематик, редактор УГО ,редактор патернов....) работают. 1. удалилPCAD6.установил заново - непомогло 2.удалилPCAD6. Стер в рег эдите что удалось найти поиском на слово pcad.Установил заново - не помогло 3.Повторил пункт 1 с перезагрузкой и выключением компа- не помогло. 4.Повторил пункт 1 с установкой в другой директорий- не помогло 5 Поставил pcad4 pcb от него работает. Потом поставил PCAD6.pcb от него не работает все файлы у меня в 6 пикаде сохранены загрузка их в 4 неполучается. 6.Повторил пункт 1 взял установочные файлы у другого человека. пробовал без SP2, с SP1 и SP1+SP2- не помогло Кроме переустановки винды что то можно еще поделать? (Может комп в окно выбросить)
  16. Неработает пример вирт. порт для IAR из его (иаровских примеров) Причем такой же пример для LPC2368 успешно работает(на такой же плате но спроц2368) может кто занимался этим вопросом? В двух словах как я понял непроходит конфигурирование USB. Ходит по циклу - функция IsUsbCdcConfigure() возвращает false потом уходит на проверку if(CdcConfigureStateHold == TRUE) но это тоже невыполняется переход на if(UsbCdcIsNewLineCodingSettings()) переход на UartSetUartLineState(UART_1,UsbCdcGetBreakState()); и обратно на IsUsbCdcConfigure() Кто разбирался в этом примере будет понятно что происходит Комп пишет что найдено новое устройство (ножка DUSB подтягивается к +5) но когда указываешь драйвер (*.inf) он пишет что устройство не найдено. на +D и -D импульсы есть. Спасибо если кто поможет.
  17. Вышла uCOS-II 2.89

    Cпасибо тоже не знал поставлю себе.
  18. Управление ЖКИ

    А можно ли использовать LCD_LPBASE в режиме TFT ?Установив LCD_CTRL_bit.LcdDual=1; для автоматического переключения страниц?
  19. Наверно от .20 так как я взял от .30 и все проканало в твоем первом лекарстве хвост лицензии "16_WIN" во втором 17_WIN а я уже поставил с лекарством от 30 а хвост "2.1_WIN" Но вторую установкуИАР я с нашего аплоадаа а первый раз евалюэйшин с сайта иара. Ну вобщем поставилась и в нем появилась галочка "юкос 2.86 и рашьше" и просто юкос. в настройках плагинов дебагера
  20. Спасибо ALEX ясно где править А плагин в ИАРе 540 поддерживает новые изменения с именами? memo777 Настойка не подошла Пробовал на демке скаченной с ИАРа
  21. А настойка для него старая или новую кто даст ?
  22. Работаю под иаром Написано что нужно новый плагин newer version of the Kernel Awareness plug-in which is compatible with V2.87 там видимо перешли к другому вмду хранения имен (наверно через указатели) а плагин не знает У меня ИАР для АРМ 5.30 проц LPC Перешел с 2.86
  23. Переделал все по даташиту убрал константы с длиной имени OS_TASK_NAME_SIZE заменил на OS_TASK_NAME_EN а имена пропали хотя прошел по шагам в контрол блок задачи они прописываются
  24. AVR и Siemens M55

    У меня дисплей s65 на контроллере L2F50126 а даташит на L2F50052T01 Там я не нашел команду записи точки по координатам X,Y. COLOR Есть только команды установки координат окна ввода X1,X2 Y1,Y2 и записи точки RAMWR с авто инкриментом координат рисования внутри окна. Для рисования шрифта это удобно - установил окно размером со знакоместо и далее подрят передаешь команду RAMWR с коответствующим светом символа или фона. А когда рисуешь графики это неудобно потому что избыточно В контроллере LPH было по другому. У кранца тоже нет рисования точки для этого контроллера. ниже привожу процедуру рисования точки (с условной трансляцией по параметру DyspType ) //***************************************************************************** // Name: LCD_PixelPut(unsigned char x, unsigned char y, unsigned char color) // Copyright: Free to use at will & at own risk. // Author: JCP // Date: 03.30.06 17:10 // Description: Отрисовка точки // Useage: LCD_PixelPut(param X,param Y,param Col) // // param X: x direction 0-131 // param Y: y direction 0-176 // param Col: Color of Pixel, RRRGGGBB format // Example: LCD_PixelPut(30,30,0x62) // отрисовка точки в координатах 30,30 цвета 62 // // Notes: Нет проверки на выход за пределы экрана.Вывод производится в текущее окно //******************************************************************************* void LCD_PixelPut(unsigned char x, unsigned char y, CPU_INT16U color) { #if DyspType == l2f50 LCD_CS_LOW(); // Выбор дисплея // x координаты окна lcd_cmd_l2f50(SD_CSET); lcd_dat0_l2f50(0x08+y); // start is 8, not 0 lcd_dat0_l2f50(0x01); lcd_dat0_l2f50(0x08+y+8-1); // end is 00x8B = 0x83+8 lcd_dat0_l2f50(0x01); // Y координаты окна lcd_cmd_l2f50(SD_PSET); lcd_dat0_l2f50(x); lcd_dat0_l2f50(x+8-1); //запись цвета точки lcd_cmd_l2f50(RAMWR); lcd_dat16_l2f50(color); LCD_CS_HIGH(); //дезактивация #endif #if DyspType == lph LCD_CS_LOW(); // Выбор дисплея // вывод точки в текущее окно вывода lcd_comtype(0x21); // 21 регистр данных(цвета) одной точки lcd_comdat(x,y); // координаты lcd_comtype(0x22); // регистр данных lcd_write(0x76); // команда записи lcd_write16(color); // цвет точки LCD_CS_HIGH(); // deselect display #endif } Видно что для LPH контроллера число передачь для отрисовки точки меньше.
  25. uC/OS-View + nxp

    Может быть вот что 1 если в системе есть еще программы работающие с ком портом то возможен конфликт и частичная работа порта.Иногда программы некорректно закрывают последовательный порт после выхода из них и работа с портом невозможна.Вьювер ругается что не могу открыть порт. И только перезагрузка исправляет дело. 2Может быть это несоответствие скоростей компа и твоего девайса - попробуй перейти на другую скорость . посмотри что получится 3 Твая программа(или еще что то, может стек маленький) может искажать подготовленные для передачи данные и тогда байты принимаются вьювером а контрольная сумма пакетов не сходится ,так как часть пакета искажена, и пакеты незащитываются как принятые. 4 Также желательно посмотреть осцилографом качество сигнала - иногда барахлят преобразователи уровня RS232.
×
×
  • Создать...