Jump to content

    

vmp

Свой
  • Content Count

    422
  • Joined

  • Last visited

Everything posted by vmp


  1. Проблема с LPC1768

    Этот же баг обнаружился в LPC1759, SN1566.1 01 ZSD1009-. Версия загрузчика 4.2. Кстати, чтобы собрать всю информацию в одном месте: Если смотреть память процессора через SWD с притянутой к земле P2.10 (запуск загрузчика), то по нулевым адресам видно ПЗУ загрузчика. Если с отпущенной - видно зашитую программу. То же самое происходит при попытке верификации 0 сектора через ISP - возникает ошибка верификации.
  2. Для кортексов-M3: #include <core_cm3.h> ....... NVIC_SystemReset();
  3. LPC2368

    Спасибо. На всякий случай, если кому-то еще понадобится - есть утилита lpc21isp, которая может шить и хексы, и бинарники. http://sourceforge.net/projects/lpc21isp/ Шьет LPC17xx, в исходниках, собирается под линукс и под винды (MS Visual C).
  4. LPC2368

    Подскажите, а есть утилита, которая позволяет шить в LPC17xx не HEX, а binary файл? Разумеется, в режиме командной строки.
  5. Дает. Этот резистор и служит для того, чтобы компьютер смог опознать факт подключения устройства по USB и начал с ним работать. Даже неисправное устройство или со слетевшей прошивкой будет определяться компьютером как "неопознанное устройство". Ваш USB-контроллер PDIUSBD12D самостоятельно работать не может, им должен управлять центральный процессор устройства. Если процессор точно работает, то проверяйте входные цепи и USB-контроллер. http://www.nxp.com/acrobat_download2/expir...PDIUSBD12_9.pdf
  6. Ложка в USB USB во рту Для обнаружения подключенного устройства достаточно резистора в 1.5 кОм от линии данных к питанию. Ну или просто замыкания, как в истории с ложкой.
  7. STM32F10x

    Преимущество - в DMA контроллере STM32, который умеет работать в режиме кольцевого буфера. Поэтому достаточно один раз предвычислить буфер и запрограммировать DMA. Дальше процессор может вообще не отвлекаться. Если речь идет о выдаче синусоиды, то можно например иметь одну фиксированную таблицу синуса и манипулировать только частотой таймера.
  8. У ST это называется Readout protection или read protection. Описано в PM0075 - Programming manual.
  9. О! Поздравляю! Значит действительно серьезная компания. По теме - на мой взгляд стандартный класс предпочтительнее. В этом случае не нужно заниматься написанием и сертификацией в Микрософт собственного драйвера, а можно воспользоваться готовым, встроенным в Windows: Drivers for the Supported USB Device Classes. Исходя из вышеизложенных требований, я бы тоже посоветовал HID. Единственное сомнение - даст ли он требуемую скорость передачи.
  10. Для начала выбейте от руководства серьезной компании $4000 на членство в USB Implementers Forum или хотя бы $2000 на покупку Vendor ID. Рекомендую еще заказать книжки USB System Architecture и USB Complete.
  11. Отключен. Висит внешний pull-up (1 кОм). Ножку через небольшой резистор (27 Ом) корочу на землю и смотрю осциллографом уровень непосредственно на выводе. Когда честный open drive, на ножке уровень около нуля. При выбранном PWM напряжение около 0.5 вольта. То же самое при выключенном OD. Если вместо замыкания работает touch memory, то уровень "нуля" около 1.2 вольта.
  12. Есть LPC1759. Пытаюсь сделать работу с Touch Memory через PWM1. Для вывода использую P1.26 как PWM1.6, для ввода - P1.28 как PCAP1.0. Выводы на плате подключены параллельно. Для P1.26 устанавливаю бит OPEN DRAIN. Проблема следующая - режим OPEN DRAIN не работает, логическая единица на выходе - твердая. Для контроля в отладчике (IAR J-Link в режиме SWD) переключаю пин на вывод GPIO - в этом случае open drain работает как положено, при выводе логической 1 вывод отключен (работает внешняя подтяжка). Кто-нибудь сталкивался с такой ситуацией? Или же Open Drain работает только в режиме GPIO, а не с периферией?
  13. Может быть у gcc что-то в инклюдах про spintf прописано? Попробуйте для контроля обозвать вызываемую функцию по-другому.
  14. Это для защиты памяти при многозадачной работе в общем адресном пространстве. Типа каждой задаче - свой домен, чужие объявляем недоступными. Я бы порекомендовал использовать возможности компилятора: #pragma location="NO_CACHE" unsigned int variable; variable = 1234; // А вот тут без звездочки В файле конфигурации линкера надо объявить секцию NO_CACHE и разместить ее в соответствующих адресах. В этом случае можно будет достаточно просто объявлять множество таких переменных, не занимаясь ручным заданием адресов Кстати, даже первый вариант можно описать в виде: #define variable (*(unsigned int *) (0x2350 0000))
  15. И какие в этом проблемы? В моем примере так и сделано.
  16. Очень опасный совет. Дело в том, что у ARM9 кеш-контроллер и DMA ничем не связаны, так что если работать по DMA с кешируемой памятью, то можно поиметь целую кучу непонятных глюков. Поэтому про кеши надо помнить, чтобы не создать буфер DMA в кешируемой области памяти. В том примере у меня один из 32 мегабайтов ОЗУ отводился именно под такие буфера. Заодно туда и TLB засунул. Адреса в примере определяются конфигурацией железа (SAM9XE).
  17. Вас случайно не Владимир Владимирович зовут? :))) http://premier.gov.ru/events/news/13474/ В Зеленограде в понедельник был полный п... И визит состоялся как раз в то здание, где находится Резонит.
  18. Не просто PWM, а Motor Control PWM - это совсем другой модуль. Там 3 независимых таймера, у каждого свой счетчик и регистр лимита (до скольких считать). А вот регистр с битами запуска - общий, так что стартовать они будут синхронно. Так что читайте Chapter 25 User Manual.
  19. А почему бы не использовать Motor Control PWM? Три независимых канала, синхронный запуск.
  20. Есть более простое решение. Запаяйте резистор наглухо на +3.3V. Когда вам надо его отключить, просто переводите ножку микроконтроллера, подключенную к D-, в ноль. Эффект будет тот же, что и при отключении подтяжки - со стороны хоста стоит резистор на землю. Немного не по стандарту, но и сама реализация USB на меге8 тоже не совсем стандартная.
  21. А если функцию описать как static, чтобы компилятор знал, что это локальная функция и из других файлов вызываться не будет?
  22. Проблема с LPC1768

    А про Flash Patch and Breakpoint (FPB)? Как я понимаю, надо читать документацию от ARM, а не от NXP.
  23. Проблема с LPC1768

    А после дизассемблирования алгоритм записи в память не появился? Если напрямую, без использования их ПЗУ работать? И как еще один вариант. Попробовать настроить регистры отладчика или MPU на перехват обращения к глючной части теневого ПЗУ и подправить результат.
  24. Как в IAR записать дополнительный файл во flash, по заданному адресу.
  25. Мда... Антиквариат 1994 года выпуска. http://www.altera.com/literature/lit-mature.jsp#max9000 Тогда или прошивать с писюка через байт-бластер, или вам правильно посоветовали jbc player.