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

dimone

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

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

  • Посещение

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


  1. -чисто технически, по отношению к МК со встроенной флеш-пямятью, программа превышает допустимый ее размер, и требует загрузки, что несомненно.) Внешняя FLASH как вариант, что позволит не заморачиваться с загрузчиками, но уже имея установленную внешнюю SDRAM и внешнюю SPI non-volatilе память, хотелось попробовать с имеющимися средствами запустить хотя-б "хелло ворлд" из внешей памяти.. Осозню, что это костыли, тем более ST за 10 лет так и не удосужились сделать как Атмел САМБу, что-б можно было лить во внешний чип, но
  2. Извиняюсь, что привел пример программы со шрифтами в основе, оно направляет мышление в другое русло, -подкачки, фс, ttf.. Пусть будет сферическая программа в вакууме, но с покером и ..... , т.е. значительного размера (превышающего 2 Мб для stm)) монопрогрмма , с сегментированнием, без и использования MМU и оверлеев.
  3. Почему non-volatile? Если линкеру указать адресное пространство внешнеи SDRAM и загрузить в оную при старте ОДИН , (как это делается в ПЛИС ),как вы сказали оверлей, то разве не будет работоспособным такое решение?.. п.с. с LPC действительно давно не работал, но насчет указаной фичи таки вспомнил, ее часто в холварах называют
  4. Прошивки более 2Мб (для STM32)

    Хотел задать вопрос. Если случится так, что программа усложнится настолько, что вынуждена будет превысить максмальное доступное кол-во внутренней флеш-памяти для семейства STM32 (насколько знаю и LPC) в два мегабайта, насколько рациональным будет использование внешней sdram для хранения исполняемого кода программы и данных? Если да, то какое усложнение это за собой влечет (шаманство с линкером, загрузчики, data\nor spi мс памяти и тд..)? Например реализация программы с вкомилированными растровыми фонтами всех видов и размеров для 429 или 769 дискавери.. Понимаю, что альтернатива , это какой-нибудь Аllwinner-овский soc и Линукс+Qt, но всё-же?.
  5. -естесствнно пробовал, но не подошло, ведь по-сути необходимо что-б синтезатор собрал не итеративное , а параллельное деиство
  6. Подскажите пожалуйста, как имея сто байтовый массив эстетичней записать параллельний декремент каждого байта при ненулевом содержмом ибо портянка из ста строк кажется не комильфо : 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
  7. вроде начиная с С99 -есть.. я как нуб догадался, что можно сделать побитовое ОR и присвоить биту, но думал, что возможно есть подобное <stdbool.h> , раз Verilog "C"-like.. Большое спасибо за подсказки.
  8. Подскажите пожалуйста ,можно ли в verilоg регистр перевести и присвоить биту, без исползования сравнений как в Си: bit=(bool)byte; .... reg [3:0]cnt; bit Out; .... Out<=(bool)cnt; /? ...
  9. Подскажите пожалуйста, куда к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
  10. Скажите пожлуйста, а эта последняя версия ,что для для S6 Win10, требует танцов с dll -ками, или работает из коробки? Если у кого есть скачанная инстляшка ,буду очень признателен..
  11. STM32 USB_FS HAL

    USBD_MAX_STR_DESC_SIZ если 256 поменяйте на 512
  12. Всё оказалось прозаично. Как в одном из законов программизма сказано, величина мистичиских действий программы пропорциональна сделанной программистом глупости.. В коде USB задачи была вставлена систмная задержка, которая заставляла всё ползать и лагать.. А некий Superloop, это основное тело сорокакилобайлной программы, до этого существовавшей на 649Меге.. и перенесенная\портрованная в песочницу на STМ под Rtos.. с передефайном даже имен портов, настолко срaочно было нужно.. С прикрученными после свистелками ..главное, что всё заработалo. -Большое спасибо за посильную помощь.
  13. проблема с 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 приводят нарушению работы..
  14. Да мне надо вживую сравнивать три копии большой управляющеи структуры, которая как раз по высоте и помещается.. Соответственно в двух окнах -две, а надо -три, а фапскролить и дебажить одновременно , это изврат.. ,советовать монитор повернуть на 90 -градусов не надо; Названия переменных, действительно -от лукавго, буду лучше разноцветными маркерами в дампе выделять поля.. Была надежда, что количество окон не вкомпилено намертво, а доступно в каком- нибудь конфиге, или где-то волшебное число
  15. Вот и не понятно, почему Me-mo-ry -целых четыре, а Watch 1 и 2
  16. -нужно знать где какие заголовки и поля, окна дампа не то..
  17. -так то оно так, но с многомерными массивами быват не влазит, особенно когда несколько копий дескрипторов сравнивать надо.. - хотелось бы видеть параллельно..
  18. Watch -окна отладчика

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

    Использую STM32L152VBT6A , при попытке откатится к его "предшественнику" STM32L152VBT6 , обнаружились проблемы с записью во внутреннюю ЕЕPRОМ, а точнее оказалось, что стирание\запись слова (32) бит происходит нормально, но полуслово или байт вешают шину намертво. Понижение частот, эксклюзивный доступ из критической секции, выравнивание памяти -не помогает.. Хоть программа и сдефайнена на STM32L152VBT6,на STM32L152VBT6A всё нормально, а на искомом обращение в HAL_StatusTypeDef HAL_FLASHEx_DATAEEPROM_Erase(uint32_t TypeErase, uint32_t Address) *(__IO uint32_t *) Address = 0x00000000; // -работает...... *(__IO uint16_t *) Address = (uint16_t)0x0000; // *(__IO uint8_t *) Address = (uint8_t)0x00; // -HEТ!! Подскажите пожалуйста, куда копать .. UPD: -поборол, выравнивание по границе слов -таки помогает! т.е. расход ЕЕПРОМа увеличился соответственно П.С. может кто-то подскажет, почему ВЕЗДЕ (дигикей, маузер, т.д. и даже у китайских подрядчиков) пропали STM32L152VBT6A?
  20. меню в emWin

    -спасибо большое, я это уже видел, думал может у кого есть простенький пример: графический индикатор + кнопки без всяких "тачей") Не могу взвесить сложность, чтобы определиться, что лучше для монохромного индикатора (но с градациями)-рисовать самостоятельно или пользовать виджеты?
  21. меню в emWin

    Есть графичиский дисплей и кнопки, может кто поделится примером построения элементарной одноуровневой менюшки с использованием emWin WM с самописной графикой или виджетами
  22. Есть задача сформировать импульс (длиной около десятков mS) величиной в +150 В, но стартуя с уровня в +100 В , при этом необходимо следить за фронтами, т.е. при наличии паразитной емкости в линии ,при возвращении к пьедесталу в +100В -побыстрей рассасывать избыточный заряд.. Может кто подскажет дискретно-транзисторное решение попроще..
  23. -так наверно и получилось в Кеиле, -имена есть, а иерархии -нет, но вы держитесь (с))
×
×
  • Создать...