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

    

dimone

Участник
  • Публикаций

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

  • Посещение

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


  1. Подскажите пожалуйста, как имея сто байтовый массив эстетичней записать параллельний декремент каждого байта при ненулевом содержмом ибо портянка из ста строк кажется не комильфо : always@(posedge CLK ) begin if(CNT[0])begin CNT[0] <= CNT[0]-1;end if(CNT[1])begin CNT[1] <= CNT[0]-1;end if(CNT[2])begin CNT[2] <= CNT[2]-1;end .... if(CNT[99])begin CNT[99] <= CNT[99]-1;end end
  2. тормознутый J-link

    UPD:таки да,-заменил кварц , было 18,4295 и все пошло.. Ситуация вполне куръезная. -Имеется стадо J-link-ов (клонов).. Не секрет, что их прошивке своиственно иногда "слетать".. Такие окирпиченные экземяры собираются в ящике, по достижении критического кол-ва которых выделяется человек, который нехитрой процедурой стирания и восстановления заводского загрузчика , с последующей загрузки J-link-овской прошивки Самбой, приводит их в рабочее состояние, с последующим обновлением прошивки до текущей. Таквот есть один экземляр , который при обновлении, а оно предлагается повидимому всегда, при исользованнии Сеггеровских драйверов , начинает обновляться, и не вкладываятся в отведенный на эту процедур таймаут буквально на несколько миллисекунд, обратно окирпичивается.. Причем ,если не обновлять его прошивку, то он работает нормально, но окно о необходимом обновлении появляется при каждом обращении к программатору, и если по-запарке нажать не "no", то результат -предсказуем( Может кто подскажет, что можно сделать, чтоб он не выбивался из "стада"?.. ,-кварц менять что-ле?
  3. Прошивки более 2Мб (для STM32)

    Хотел задать вопрос. Если случится так, что программа усложнится настолько, что вынуждена будет превысить максмальное доступное кол-во внутренней флеш-памяти для семейства STM32 (насколько знаю и LPC) в два мегабайта, насколько рациональным будет использование внешней sdram для хранения исполняемого кода программы и данных? Если да, то какое усложнение это за собой влечет (шаманство с линкером, загрузчики, data\nor spi мс памяти и тд..)? Например реализация программы с вкомилированными растровыми фонтами всех видов и размеров для 429 или 769 дискавери.. Понимаю, что альтернатива , это какой-нибудь Аllwinner-овский soc и Линукс+Qt, но всё-же?.
  4. Прошивки более 2Мб (для STM32)

    в EmWin-е вроде свои RLE есть, крупных шрфтов избыточность очевидна, со шрифтами то я управлюсь , мне было интересно решение вопроса мегапрошивки в принципе.
  5. Прошивки более 2Мб (для STM32)

    -это разрешение ОЛЕД индикатора. Попробуйте растеризовать кириллицу+латинницу и указаный вами диапазон для одного лишь нежирного Аrial 48 для LCD естесственно понадобятся значительно большие, если на пол-высоты крана цифири, а хотя бы на треть сообщния.. Естесственно соглашусь , что технически это всё тем или иным способом решается, просто было интересно, как можно обоити ограничения
  6. интересно, когда придется работать с трехбайтовыми адресами, в мегах выше 64-й, из-за 16-ой флеш адресации, и побайтовой Озу, при описании движения констант меж ними потребуют работу с модификаторами generic (IAR) ,куча мата от линкера, и прочая..
  7. Прошивки более 2Мб (для STM32)

    В существующем дивайсе, на растеризованыйи Arial шести минимально необходимых размеров, где лишь кириллица и цифры, причем большие размры лишь цифры, для оледа 256х 64 , уже тянет на 1Mб.. для LCD этого явно не хватит.. аналог https://www.systecnet.com/en/products/IT3.html
  8. Прошивки более 2Мб (для STM32)

    ..ну, к примеру ,раз про шрифты зашло, -движок распаковки ttf, кодеки, микропитон, ТСР\ІР все протоколы..
  9. как бородатый вариант, допаять линейку памяти, таки да, СД -шку, запустить на (лучше 20Мгц) Мег виртуалку, и поднять Линуху)))) https://habr.com/post/177425/
  10. Прошивки более 2Мб (для STM32)

    -чисто технически, по отношению к МК со встроенной флеш-пямятью, программа превышает допустимый ее размер, и требует загрузки, что несомненно.) Внешняя FLASH как вариант, что позволит не заморачиваться с загрузчиками, но уже имея установленную внешнюю SDRAM и внешнюю SPI non-volatilе память, хотелось попробовать с имеющимися средствами запустить хотя-б "хелло ворлд" из внешей памяти.. Осозню, что это костыли, тем более ST за 10 лет так и не удосужились сделать как Атмел САМБу, что-б можно было лить во внешний чип, но
  11. Прошивки более 2Мб (для STM32)

    Извиняюсь, что привел пример программы со шрифтами в основе, оно направляет мышление в другое русло, -подкачки, фс, ttf.. Пусть будет сферическая программа в вакууме, но с покером и ..... , т.е. значительного размера (превышающего 2 Мб для stm)) монопрогрмма , с сегментированнием, без и использования MМU и оверлеев.
  12. Прошивки более 2Мб (для STM32)

    Почему non-volatile? Если линкеру указать адресное пространство внешнеи SDRAM и загрузить в оную при старте ОДИН , (как это делается в ПЛИС ),как вы сказали оверлей, то разве не будет работоспособным такое решение?.. п.с. с LPC действительно давно не работал, но насчет указаной фичи таки вспомнил, ее часто в холварах называют
  13. -естесствнно пробовал, но не подошло, ведь по-сути необходимо что-б синтезатор собрал не итеративное , а параллельное деиство
  14. Подскажите пожалуйста ,можно ли в verilоg регистр перевести и присвоить биту, без исползования сравнений как в Си: bit=(bool)byte; .... reg [3:0]cnt; bit Out; .... Out<=(bool)cnt; /? ...
  15. вроде начиная с С99 -есть.. я как нуб догадался, что можно сделать побитовое ОR и присвоить биту, но думал, что возможно есть подобное <stdbool.h> , раз Verilog "C"-like.. Большое спасибо за подсказки.
  16. Подскажите пожалуйста, куда к0пать: Если Impаст запускается из ISE navigator, то USB программатор опредляется и нормально работает: КодCPROGRESS_START - Starting Operation. Connecting to cable (Usb Port - USB21). Checking cable driver. Driver file xusb_xlp.sys found. Driver version: src=1029, dest=1029. Driver windrvr6.sys version = 10.2.1.0. WinDriver v10.21 Jungo (c) 1997 - 2010 Build Date: Aug 31 2010 x86_64 64bit SYS 14:14:44, version = 1021. Cable PID = 0008. Max current requested during enumeration is 74 mA. Type = 0x0004. Cable Type = 3, Revision = 0. Setting cable speed to 6 MHz. Cable connection established. Firmware version = 1303. File version of C:/Xilinx/14.7/ISE_DS/ISE/data/xusb_xlp.hex = 1303. Firmware hex file version = 1303. PLD file version = 0012h. PLD version = 0012h. PROGRESS_END - End Operation. Но если из "Plan Аheаd"-, то не опредляется , и пишетКод: PROGRESS_START - Starting Operation. Connecting to cable (Usb Port - USB21). Checking cable driver. Source driver files not found. The Platform Cable USB is not detected. Please connect a cable.If a cable is connected, please disconnect and reconnect to the usb port, follow the instructions in the 'Found New Hardware Wizard', then retry the Cable Setup operation. Cable connection failed. Connecting to cable (Parallel Port - LPT1). Checking cable driver. Your driver installation is not complete. Please re-run your application or run install_drivers.exe from the ISE installation area as an Administrator to complete the driver installation. Service using windrvr6.sys : SYSTEM\CurrentControlSet\Services\windrvr6. ImagePath = \SystemRoot\System32\drivers\WINDRVR6.SYS. DisplayName = windrvr6. Start = 2. ErrorControl = 1. Type=1. Service using windrvr6.sys : SYSTEM\CurrentControlSet\Services\WinDriver6. ImagePath = \SystemRoot\system32\drivers\windrvr6.sys. Start = 3. ErrorControl = 1. Type=1. Cable connection failed. Connecting to cable (Parallel Port - LPT2). Checking cable driver. Your driver installation is not complete. Please re-run your application or run install_drivers.exe from the ISE installation area as an Administrator to complete the driver installation. Service using windrvr6.sys : SYSTEM\CurrentControlSet\Services\windrvr6. ImagePath = \SystemRoot\System32\drivers\WINDRVR6.SYS. DisplayName = windrvr6. Start = 2. ErrorControl = 1. Type=1. Service using windrvr6.sys : SYSTEM\CurrentControlSet\Services\WinDriver6. ImagePath = \SystemRoot\system32\drivers\windrvr6.sys. Start = 3. ErrorControl = 1. Type=1. Cable connection failed. Connecting to cable (Parallel Port - LPT3). Checking cable driver. Your driver installation is not complete. Please re-run your application or run install_drivers.exe from the ISE installation area as an Administrator to complete the driver installation. Service using windrvr6.sys : SYSTEM\CurrentControlSet\Services\windrvr6. ImagePath = \SystemRoot\System32\drivers\WINDRVR6.SYS. DisplayName = windrvr6. Start = 2. ErrorControl = 1. Type=1. Service using windrvr6.sys : SYSTEM\CurrentControlSet\Services\WinDriver6. ImagePath = \SystemRoot\system32\drivers\windrvr6.sys. Start = 3. ErrorControl = 1. Type=1. Cable connection failed. Connecting to cable (Parallel Port - LPT4). Checking cable driver. Your driver installation is not complete. Please re-run your application or run install_drivers.exe from the ISE installation area as an Administrator to complete the driver installation. Service using windrvr6.sys : SYSTEM\CurrentControlSet\Services\windrvr6. ImagePath = \SystemRoot\System32\drivers\WINDRVR6.SYS. DisplayName = windrvr6. Start = 2. ErrorControl = 1. Type=1. Service using windrvr6.sys : SYSTEM\CurrentControlSet\Services\WinDriver6. ImagePath = \SystemRoot\system32\drivers\windrvr6.sys. Start = 3. ErrorControl = 1. Type=1. Cable connection failed. PROGRESS_END установка не помогает: Кодwdreg.exe -inf C:\Xilinx\14.7\ISE_DS\ISE\bin\nt64\xusbdrvr.inf install WDREG utility v10.21. Build Aug 31 2010 14:21:54 Processing HWID USB\VID_03FD&PID_0008 Installing a signed driver package for USB\VID_03FD&PID_0008 Device node (hwid:USB\VID_03FD&PID_0008): exists and is configured. Installing. CM_Get_DevNode_Status ret value 0, status 180600a, problem 0 LOG ok: 1, ENTER:  DriverPackageInstallA LOG ok: 1, ENTER:  DriverPackageInstallW LOG ok: 1, Looking for Model Section [DeviceList.ntamd64]... LOG ok: 1, Installing INF file 'C:\Xilinx\14.7\ISE_DS\ISE\bin\nt64\xusbdrvr.inf' (Plug and Play). LOG ok: 1, Looking for Model Section [DeviceList.ntamd64]... LOG ok: 1, Installing devices with Id "USB\VID_03FD&PID_0008&REV_0000" using INF "C:\WINDOWS\System32\DriverStore\FileRepository\xusbdrvr.inf_amd64_1af2fe242bfdedb1\xusbdrvr.inf". LOG ok: 1, Will force install because driver is not better and force flag is set. LOG ok: 1, ENTER UpdateDriverForPlugAndPlayDevices... LOG ok: 0, RETURN UpdateDriverForPlugAndPlayDevices. LOG ok: 1, Installation was successful. LOG ok: 1, Installing devices with Id "USB\VID_03FD&PID_000F&REV_0000" using INF "C:\WINDOWS\System32\DriverStore\FileRepository\xusbdrvr.inf_amd64_1af2fe242bfdedb1\xusbdrvr.inf". LOG ok: 1, Installation did not occur because the hardware isn't currently present. LOG ok: 1, Phantom Device with Hardware/Compatible Id 'USB\VID_03FD&PID_000F&REV_0000' already has 'C:\WINDOWS\System32\DriverStore\FileRepository\xusbdrvr.inf_amd64_1af2fe242bfdedb1\xusbdrvr.inf' installed on it. LOG ok: 0, Install completed LOG ok: 1, RETURN: DriverPackageInstallW  (0x0) LOG ok: 1, RETURN: DriverPackageInstallA  (0x0) difx_install_preinstall_inf: err 0, last event 0, last error 0. SUCCESS install: completed successfully
  17. Скажите пожлуйста, а эта последняя версия ,что для для S6 Win10, требует танцов с dll -ками, или работает из коробки? Если у кого есть скачанная инстляшка ,буду очень признателен..
  18. STM32 USB_FS HAL

    USBD_MAX_STR_DESC_SIZ если 256 поменяйте на 512
  19. проблема с VCP CDC от "куба"

    Программа зачата "Кубом", работает с интрфейсами USАRT и USB -устройством (виртуальным СОМ-портом) под FreeRtos ,соответственно работа с интерфейсами вынесена в задачи, основное тело -Superloop, вертится в фоне.. Обмен по системе запрос-ответ, кол-во байт не больше десятка,частота запросов 10Гц и тут интересное, если обмен по USАRT не вызывает никаких нареканий, и спокойно пропускает и 100Гц и пол-кило.. то тот-же обмен , только по VCP -глючит.. Каждый новый запрос вызывает подвисание системы, и на 10Гц при мизерных количиствах принятых-переданых данных фоновая программа практически еле шевелется!.. соответственно, при прикращении подачи запросов программа отмерзает.. Естесственно возникает два вопроса: первый, как заставить USB stаste maschne шевелиться быстрее? (предполагаю, что она какие-то mallос-и делает..) и второй, как противостоять "флуду" , т.е. блокировать прием запросов по vcp таймаутом? СDC LL_suspend\resumuе,start\stop отваливают СОМ-порт - попытки отобрать приоритет у USB приводят нарушению работы..
  20. проблема с VCP CDC от "куба"

    Всё оказалось прозаично. Как в одном из законов программизма сказано, величина мистичиских действий программы пропорциональна сделанной программистом глупости.. В коде USB задачи была вставлена систмная задержка, которая заставляла всё ползать и лагать.. А некий Superloop, это основное тело сорокакилобайлной программы, до этого существовавшей на 649Меге.. и перенесенная\портрованная в песочницу на STМ под Rtos.. с передефайном даже имен портов, настолко срaочно было нужно.. С прикрученными после свистелками ..главное, что всё заработалo. -Большое спасибо за посильную помощь.
  21. Watch -окна отладчика

    Возникла необходимость в более двух (доступных по умолчанию) "Watch" оконах отладки.. Не знаю в какие конфиги лезть, может кто-то с этим уже сталкивался?
  22. Watch -окна отладчика

    Цитата(ViKo @ Aug 22 2017, 17:01) Наверное, наблюдать дамп памяти проще, чем переменные с именами. Я же пишу, растяните watch на столько, чтобы всё влезло. Хватаете мышой за заголовок окна, и ну его мутузить по экрану. Пока в нужное место не станет. Да мне надо вживую сравнивать три копии большой управляющеи структуры, которая как раз по высоте и помещается.. Соответственно в двух окнах -две, а надо -три, а фапскролить и дебажить одновременно , это изврат.. ,советовать монитор повернуть на 90 -градусов не надо; Названия переменных, действительно -от лукавго, буду лучше разноцветными маркерами в дампе выделять поля.. Была надежда, что количество окон не вкомпилено намертво, а доступно в каком- нибудь конфиге, или где-то волшебное число
  23. Watch -окна отладчика

    Цитата(ViKo @ Aug 22 2017, 14:11) 4 окна Me-mo-ry Вот и не понятно, почему Me-mo-ry -целых четыре, а Watch 1 и 2
  24. Watch -окна отладчика

    -нужно знать где какие заголовки и поля, окна дампа не то..