Jump to content

    

d__

Свой
  • Content Count

    197
  • Joined

  • Last visited

Community Reputation

0 Обычный

About d__

  • Rank
    Частый гость
  1. FATAL ERROR Failed to initialize driver: error 0x20000009 ("No valid license") Венда 10 лицензионная. IDE: IAR AVR 6706 лицензионный
  2. Ну дык сними эту галку, толку от нее немного, зато появится лишний бряк. Все как-то чуть легче выкручиваться будет... И еще, используй хороший, толстый УСБ кабель, на тонких китайских кабелях возможны глюки. И еще, между J-Link и отлаживаемой схемой провода должны быть, как можно короче, вплоть до того, что стандартный шлейф снимается, а вместо него подсоединяются отдельные проводники длиной 40-50мм. И еще, если контроллер толстый, и размер ОЗУ позволяет разместить код и данные в ОЗУ, на период отладки скомпилируй проект полностью в ОЗУ. Это намного упростит отладку и снимет проблемы с количеством точек останова... Вот так...
  3. Ну в свойствах проекта "Debugger->Run to main" стоит галка? Стоит. Одного брякпойнта как не бывало. И еще по проекту пошарить не забыть "Debugger->J-Link/J-trace->Breakpoints"...
  4. Цитата(Dr.Alex @ Apr 3 2015, 14:15) Вопрос не в этом. А в принципе. Что именно происходит с брекпойнтами/степами и можно ли этого избежать. Читать https://www.segger.com/jlink-unlimited-flas...reakpoints.html Там написано, что на ARM 7/9 2 быстрых брекпойнта, на Cortex-M 4-6, а больше только через перешивку флеша...
  5. Новый STM32F4

    Чето скайп у тебя не работает...
  6. В среду или в четверг проездом через Питер будет ехать мой человек. Или я туплю или не ловлю, но на сайтах фирм чето все под заказ 2-3 недели. Может кто-то знает, где можно зайти и купить...
  7. Можно попробовать механизм setjmp & longjmp. При этом не забыть в контроллере прерываний деинициализировать текущее прерывание.
  8. Ну пробовали инициализационные скрипты, как я на Телесиськах рекомендовал?
  9. ucGoZilla

    Я бы посоветовал автору все таки не увлекаться экзотикой. Да, да, для подавляющего количества любителей эти лвц и ахлвц совершенно не доступны и гдето их можно раздобыть урывками со страшной переплатой. ИМХО наилучший кандидат на место преобразователя в SPI/PDI/JTAG это LM311 aka КР554СА3. Его можно включать в больших диапазонах как питающих так входных и выходных напряжений. Выход отключаемый и его можно использовать как в схеме с общим коллектором, так и в схеме с общим эмиттером. Питание преоразователя независимое как от входных, так и выходных напряжений, также его можно подключать как в режиме инверсии входного сигнала, так и в режиме без инверсии...
  10. STM32_USB-FS-Device_Driver usb_mem.c

    Цитата(ar__systems @ Nov 27 2009, 23:26) Не где-то, а в имени функции. И делает это компилятор только в C++ режиме Может быть, может быть, у меня ИАР так скрипит, что сил нет... Что с плюсами, что без плюсов... Я бы написал вот так, по моему так ближе к оригиналу: CODEvoid UserToPMABufferCopySTM(uint8_t *pbUsrBuf, uint16_t wPMABufAddr, uint16_t wNBytes) { register int nw= (wNBytes + 1) >> 1; register uint16_t *pdwVal = (uint16_t *)(wPMABufAddr * 2 + PMAAddr); do { *pdwVal=(uint16_t)pbUsrBuf[0]|((uint16_t)pbUsrBuf[1]<<8); pdwVal+=2;pbUsrBuf+=2; } while((--nw)!=0); } Пожалуйста скомпилируй и поругай, а то под руками у меня нет твоего компилера под Кортекс... ... Пришлось устанавливать RIDE7: CODE void UserToPMABufferCopySTM(uint8_t *pbUsrBuf, uint16_t wPMABufAddr, uint16_t wNBytes) { 0: f101 5100 add.w r1, r1, #536870912 ; 0x20000000 4: 3201 adds r2, #1 6: f501 5140 add.w r1, r1, #12288 ; 0x3000 a: b510 push {r4, lr} c: 0049 lsls r1, r1, #1 e: 4604 mov r4, r0 10: f04f 0c00 mov.w ip, #0 ; 0x0 14: 1050 asrs r0, r2, #1 16: eb04 030c add.w r3, r4, ip 1a: 785a ldrb r2, [r3, #1] 1c: f814 300c ldrb.w r3, [r4, ip] 20: f110 30ff adds.w r0, r0, #4294967295 ; 0xffffffff 24: ea43 2302 orr.w r3, r3, r2, lsl #8 28: f821 301c strh.w r3, [r1, ip, lsl #1] 2c: f10c 0c02 add.w ip, ip, #2 ; 0x2 30: d1f1 bne.n 16 <UserToPMABufferCopySTM+0x16> 32: bd10 pop {r4, pc} }
  11. STM32_USB-FS-Device_Driver usb_mem.c

    Дык счас строчка с типами параметров и типом возвращаемого значения запоминается где-то внутри обьектного модуля и при линковке линкер начинает скрипеть что типы не совпадают и типа эта фигня называется подписью функции. Ну где-то может я переврал, пусть меня поправят...
  12. STM32_USB-FS-Device_Driver usb_mem.c

    Ты не прав Аркаша! У тебя подпись функции поменялась...
  13. STM32_USB-FS-Device_Driver usb_mem.c

    Ну дык назад они как раз проще вываливают, правда я не разбирался как они обрабатывают пакеты с нечетным количеством байтов... Ну а что можно требовать от смуглолицых програмеров, начитались книжек по 150$ за штуку и хренячат не разбираясь что как и почем... In the following pages two location addresses are reported: the one to be used by application software while accessing the packet memory, and the local one relative to USB Peripheral access. To obtain the correct STM32F10xxx memory address value to be used in the application software while accessing the packet memory, the actual memory location address must be multiplied by two. The first packet memory location is located at 0x4000 6000. The buffer descriptor table entry associated with the USB_EPnR registers is described below.