Jump to content

    

poq12

Участник
  • Content Count

    36
  • Joined

  • Last visited

Everything posted by poq12


  1. Чуда не произошло. Тема закрыта. Китайцы написали, что они это делают вручную. :cranky: :cranky: :cranky: :cranky:
  2. Пробовал teardrop в Altium 15.1.х, добиться данного эффекта как на картинке в начале - не удавалось.
  3. Исходники конечно лучше не давать. Вопрос поэтому и возник, что исходники давать не хочется, а завод в Китае требует платы с данными штуками (уширениями). (Менять завод никто не будет.) Вопрос в том, как это делается.
  4. Они присылали *.pcb файл, в котором данные правки сделаны линиями и полигонами (Place=>Fill). Значит правили исходники, а не гербер файлы. При открытии данного файла в AltiumDesigner он его сначала импортирует, затем файл нормально открывается. Если открыть исправленный ими файл в текстовом редакторе, то первой строчкой будет PCB FILE 6 VERSION 2.80 Google выдает, что это Protel. Есть ли у Protel данная фича ?
  5. Здравствуйте. Платы разрабатываются в AltiumDesigner. После того как исходные файлы Altium-а попадают к китайцам, то приходят платы, которые явно пост обработаны какой-то программой. Это видно по тому, что идет дорожка более тонкая, затем она расширяется до размера площадки и идет уже по самому паду чуть дальше него. В оригинале расширения дорожки до размера площадки нет. В Altium-е есть teardrops, но это не то. Как они добиваются данного эффекта и при помощи какой программы, знает ли кто-нибудь ? Спасибо.
  6. Среда разработки uVision3, компилятор RealView, процессор LPC2148. Что делалось: Написал программу, уарт в ней не используется, операционная система тоже, никаких дополнительных библиотек типа "stdio.h , stdlib.h" не подключал. Скомпилировал, зашил, смотрю - не работает. Вижу, что не доходит до main(), смотрю дальше R14 link register и вижу в окне дизассемблера, что программа "виснет" в функции "_ttywrch". В "_ttywrch" запускается SWI и так как у меня supervisor mode никак не обрабатывается, то она бесконечно работает в SWI_HANDLER. Смотрю хелп и вижу что _ttywrch отвечает за вывод символа в консоль. Псомотрел retarget.c файлы в хелпе. Добавил "#include <stdio.h> " и написал функцию "int fputc(int ch, FILE *f) { return (sendchar(ch));}". Скомпилировал, зашил - ура, все работает как надо. Вопрос: 1) Почему появляется _ttywrch если у меня нигде оно не нужно в программе и нигде про него слова нет (т.е. если я не подключаю никаких библиотек) ? Должно ли так и быть или у меня где-то логическая ошибка ? :laughing: 2) Есть ли способ узнать максимальную глубину той части стека программы, которая используется ? Есть вариант заполнить выделенный стек одинаковыми числами и посмотреть насколько вглубь он поменяется при различных вызовах всяких разных функций. При компиляции программы создается файл "Название проекта.htm", в котором описаны функции, стек который они используют, какие функции вызывают и кем вызываются. Т.е. получается, нужно брать бумажку и прикидывать кто-кого вызывает и сколько памяти съедает .... так ? :blink: Если функций с десяток, то мощности мозга может и хватит ..., а что делать если их сто :unsure: :maniac: ? Вопрос заключается в том - правильно ли, что нужно сидеть-кропеть над этим файлом прикидывая сколько стека нужно выделить, или есть какой-нибудь волшебный способ узнать эту информацию ?
  7. Можно начать с того, что просмотреть книгу "Тревор Мартин Микроконтроллеры ARM7 Семейство LPC2000 компании Philips" - там есть описание железа + описание того, какие кнопки тыркать в среде разработки (в книжке используется среда Uvision). Скачать среду разработки. + нужно учесть, что в книжке используется старый компилятор CARM, а сейчас в среде Uvision идет компилятор RealView, так что примеры нужно смотреть из экзамплов от компилятора. Подцепить отладчик, прописав ему лицензию (видимо идет у вас в комплекте (у меня мт-линк, что то же самое) ). Научиться светодиодиком помигать, таймера позапускать и т.п. C:\Keil\ARM\Boards\Keil примеры и т.п + читать хелп на среду и даташит на процессор. Как-то так :happy: Я так делал. Есть еще среда IAR, но я с ней не работал. P.S. Ох и нифига у вас платка отладочная, аж слюни потекли... :w00t:
  8. Спасибо за ответы :)
  9. Четкого ответа на данный вопрос я для себя найти не смог, поэтому решил задать его здесь. Собственно вопрос: (использую LPC2148, среда Uvision3, компилятор RealView) Я продумал алгоритм как должна работать программа, чтобы железо выполняло желаемые действия, написал её, скомпилировал, зашил в процессор - все работет, претензий нет. Впроцессе написания нужно задать размер стэков для разных режимов работы процессора в файле "startup.s", в частности например, режимов "supervisor mode" - 8bytes, "interrupt mode"- 80 bytes, "user/system mode" - 400bytes. Количество отводимых байт я брал "от балды" исходя из того сколько указано в идущих примерах. Теперь сам вопрос - как узнать сколько байт для стэка нужно выделять данным режимам, с чего например брать 400, а не 300 ... и так и так будет работать ... Как узнать сколько байт под стэк нужно выделить, чтобы и мало не было и слишком много не дать ... :smile3046:
  10. :smile3046: Народ, подскажите пожалуйста, как определить какой функции main() передается управление в данном проекте ? (имеется ввиду пост сразу перед моим вопросом) там в файле Sturtup.s написано: IMPORT __main LDR R0, =__main BX R0 Если воспользоваться "find in files", то вылезает три функции main() в файлах - mcitest.c, rtctest.c, tmrtest.c, а ни один из этих файлов в проект не включен ... или все же включен ? :smile3046: Вопрос снят. Управление передается функции int main (void) в первом файле fat_mci_demo.c :laughing: (у меня она почему-то не находилась поиском, нашел при шагании симулятором) (как удалить сообщение не знаю. :laughing: )
  11. ниже по форуму, буквально на следующей странице, есть нужная информация. http://electronix.ru/forum/index.php?showt...65532&st=30 тему наверное можно удалить, чтобы не плодить одинаковые вопросы :laughing:
  12. Вопрос касательно MT-LINK. Будет ли он работать с ATMEL-овскими процессорами на базе ядра arm7 ? Насколько я понимаю будет .... или все же нет ? вопрос возник из-за описания данного отладчика, приведенного на сайте мегаэлектроники, там написано: "MT-LINK - надежный и высокоскоростной JTAG адаптер для отладки ARM микроконтроллеров PHILIPS семейства LPC2000, подключаемый по шине USB." http://megachip.ru/item.php?item_id=545153 Непонятно почему упор делается на процессора PHILIPS... А с ATMEL или ST он что, работать не будет ? :cranky: (сам отлаживал на филипсовских, хочу попробовать поковырять другие на досуге) Я так понимаю на сайте описание не соответствует действителоности ... или все же ...
  13. Не знаю насколько вам это поможет http://elm-chan.org/fsw/ff/00index_e.html там исходники были. исходники: http://elm-chan.org/fsw/ff/ff007c.zip Можно в поиске на форуме еще набрать lamerok - там проект был тоже с исходниками, в которых была реализована работа с sd-флэшкой. http://electronix.ru/forum/index.php?showt...t=0&start=0
  14. Обнаружил сегодня в столе данный девайс и решил посмотреть еще раз. Сравнил разводку сигналов от PIC-a до CYPRESS, отвечающего за USB, со схемой которую дал MisterDI в документе ICD2_DOC.pdf со своей платой (в данном документе в отладчике используется тот же CYPRESS и тот же ПИК). Итог такой, что разодка сигналов вообще другая, т.е. от одной ноги USBишной микросхемы CYPRESS в разных платах сигнал приходит к разным ногам пика. Похоже нужно просить прошивку у олимекса, если они конечно дадут. Похоже плата убирается в стол до ее следующего бнаружения еще через пол года B)
  15. попробовал залить прошивку, идущую для данного девайса с процессором cypress... работать не захотело ... на этапе обновления операционной системе опять вылет :unsure: .... может чего в железе просмотрел и че-то дохлое .... пока видимо это все убирается в ящик до лучших времен свою я сжег, так что терять нечего если что, то сгорит рабочий отладчик, хотя конечно повторения не хочется.... видимо при необходимости иметь собственную шайбу придется воспользоваться утюгом и сделать по тем схемам, что выкладывались для шайб с pic18f4550 на usb. :maniac: :maniac:
  16. Только примеры в этой книге написаны вроде для старого компилятора CARM, а в нынешнем дистрибутеве среды разработки идет другой компилятор ... нужно иметь это ввиду :smile3046: http://electronix.ru/forum/index.php?showt...70&hl=poq12
  17. так наверное ограничения по току, текущего через защитный диод не стояло, вот и сгорел от мощного разряда защита в процессор встроена - в виде диодов на плюс питание, однако они слабые и сгорают при превышении максимального тока , текущего через них... если нужна защита от статики, то tvs диоды лучше ставить, особенно на ноги процессора где выводятся штыри и разъемы, которые пользователь может хватануть рукой... и добавить последовательное сопротивление пусть и небольшое после диода, подключенного к ноге процессора для ограничения по току помехи\разряда который твс диод будет глотать
  18. дебаг и релиз

    Всмысле прошиваете дебаггером, отключаете дебаггер и процессор не работает ? Если так, то чтобы работало при отключенном отладчике - программу нужно прошивать выбрав режим "программатор". Прочитал название темы "дебаг и релиз" .... :05: с помощью debug и release можно задавать две разные версии configuration bits например... у меня все configuration bits прописываются в тексте программы т.е. стоит галка "configuration bits set in code", а в тексте программы написано нечто вроде: #define RELEASE // VERSION DEBUG #ifdef DEBUG __CONFIG(1,HS & FCMDIS & IESODIS); __CONFIG(2,PWRTDIS & BORDIS & BORV20 & WDTDIS & WDTPS4K); __CONFIG(3,CCP2RC1 & PBDIGITAL & LPT1DIS & MCLREN ); .... #endif // VERSION RELEASE #ifdef RELEASE __CONFIG(1,HS & FCMDIS & IESODIS); __CONFIG(2,PWRTEN & BOREN & BORV20 & WDTDIS & WDTPS2K); __CONFIG(3,CCP2RC1 & PBDIGITAL & LPT1DIS & MCLRDIS ); .... #endif насчет выпадающего списка в самом мплаб с двумя вариантами либо debug либо release ничего сказать не могу (не пользовался), да и на мой взгляд оно не работет :05: хотя я вероятно ошибаюсь, иначе нафига оно вообще сделано :rolleyes:
  19. Спасибо большое :rolleyes: Обязательно попробую, честно говоря Вы открываете мне глаза :1111493779: . Я и не знал что раньше усб был реализован на этом процессоре - я думал это своего рода рукотворство олимекса :smile3046:
  20. USB в клоне реализован на контроллере CYPRESS CY7C64613 0549. Написано что полная реализация USB.
  21. Не хочут... Накопал на том сайте три различных прошивки для pic16f877a - ни с одной нормальной работы нет. С двумя ввобще нет коннекта, с третьей как и описано выше усб работает,мигает, селф тесты удачны, однако когда download operation system, вылетает unable to connect... :( Походу у олимекса своя прошивка... блин. :(
  22. Недавно из-за неисправного блока питания наводившего фазу на корпусе умер клон PIC-ICD2 от Olimex. Сгорел процессор, один транзистор и один из буферов. Железо было заменено. Вопрос встал в прошивке. USB рабочий, поскольку он коннектится, правильно определяется, мигает светодиодом "бизи" при отправке команд с компьютера в отладчик и правильно определяет напряжения. Какой бутлоадер заливать в пик 16F877a ? Заливал BL010101.hex из мплабовской папки - не фурычит. Заливал 16F877ABoot.hex - тоже не пашет. Заливал ICD2877A.hex - отладчик коннектиться, проходит правильно все селфтесты, определяет напряжения питания, программирования. Но на стадии заливки операционной системы вылетатет Unable to connect with MPLAB ICD2 (USB). Может кто считает из своего такого же прошивку если она не залочена, или подскажет что нужно менять в прошивке и желательно как это лучше сделать ?
  23. MPLAB DANGER

    Скачать-то можно... наверное даже нужно, :05: у коллег стоит и не сказал бы что подобных "фишек" у них резко уменьшилось... опять же в 8ом mplabe помнится фича с убитым ком портом есть. я естественно пользуюсь usb, но... бывает что лучшее враг хорошего :1111493779: (но периодически все же обновляться стоит )
  24. pic icd2

    Что такое Десси не знаю, но пользовал клон от Olimex (с усб и ком портом без корпуса). Все норм. :beer: Только внчале повышающий преобразоваетль питания заставлял индуктивность на феррите гудеть на границе звуковой чувствительности - входило прямо в мозг. Решилось переводом частоты генерации преобразователя путем замены смд конденсатора и использования термоусадки на гудящей фигне. Сейчас все ОК.
  25. MPLAB DANGER

    :( Пол дня пытался потратить на решение проблемы: MPLAB7.62, компилятор HI-TECC 9.50. проект полностью компилится, все хорошо, но при попытке установить BREAKPOINT в одном из файлов MPLAB отказывается это делать... мол нельзя, но прикол в том, что в этих местах breakpoint-ы ДОЛЖНЫ ставиться. после того как мозг перегрелся :07: проблема решилась... пересобрал проект тупо в папку "C:\temproject\" (акцент на коротком путе), до этого проект располагался по достаточно длинному пути, состоящему из английских букв (без русских) - все заработало. :maniac: так что не используйте длинных путей :) (под путем понимается меторасположение проекта на компе)