Jump to content

    

Gizma

Участник
  • Content Count

    57
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Gizma

  • Rank
    Участник
  1. Всем привет! Уже года два спокойно шил свои Атмеги16 и 8 по тупому *5 проводков* с резисторами и Понипрогой* Проблем не было вообще ни с чем и никогда... И вдруг в один прекрасный день включаю машину начинаю заливку на Мегу которая еще прошлым вечером отлично шилась, бац... Девайс пони прог не видет... :crying: Поменял чип на юзаный но 100% рабочий - не видет... Ставлю чип новый с завода, видет, зашил прогу поставил фьюзы... все больше его не видет... хотя нужный кварц стоит... и значение фьюзов 100% правильные (да и чип работает по прошивке как надо)... вчера с ними же работал... да и с аналогичными уже не один десяток пашет в таких же условиях... Попробовал поставить еще *с завода*... все даже их больше не видет... Думаю, может порт умер, поставил NetMosовскую PCI 2 COM+ 1 LPT... до этого юзал LPT на материнке... ПониПрог нихрена этот новый LPT не видет что только не пробовал(причем новые COM он видет)*( А кодвиженский прошивальщик у меня никогда не получалось заставить работать, чип не видет и все тут... В инете перечитал уже все что можно... Даже не знаю... может подскажите в чем проблема? (идти купить нормальный программатор, советовать не надо*))... уже думаю но нет времени, срочно нужно хотя бы до завтра закончить проект...) Спасибо!
  2. Всем привет! Прочитал море всего, пообщался с разными людьми... Но так и не смог сделать однозначный выбор... Итак мне нужна цифровая паяльная станция... 1. Двухканальная(желательно)... 2. Легко доставаемыми жалами, нагр. элем, доп. паяльниками...(обязательно) В общем если что то слетит, что бы не ждать месяц-другой заказа... я из Питера 3. Надежная как танк(обязательно), возможны частый транспортировки... Будет использоваться каждодневно и не по одному часу, посему надежность и удобство в работе все таки самое основное... Будет работать в основном с выводными компонентами посему мощность аля ERSA Digital2000 Power... Так как предвидится активное использование не хотелось бы иметь дорогие расходные материалы... К примеру у Hakko для цифровиков жала не дешевле 30 баксов... А у того же Quick'a 2-3 бакса за китай и 3-6 баксов за Японию... Действительно ли жала от Hakko или Ersa служат в !!10!! раз дольше обычных китайских? И настолько же удобны? Много ли платится за бренд? Мне не нужны всякие изощренные жала и комплектующие, хватит абсолютно стандартного набора, главное что бы его было не можно достать... В инете читал мнения(и не одно) что Quick одно из самых лучших решений из среднего ценового диапазона, и по надежности не уступают Hakko! Жесткого бюджета нет рассмотрю все варианты до 700-800 баксов... за эти деньги хочется получить профессиональный инструмент, если ни на всю жизнь то хотя бы на лет 5*) Спасибо!
  3. Не думаю что этот вектор переписываеться дольше нескольких тактов, соответственно вероятность 1 к X миллионам, при условии что сбой происходит всегда при перепрошивки, однако еще надо учесть вероятность возникновение ситуации для сбоя, и это веротность далеко даже не 1\100! гораздо больше вероятность что мне попадеться чип с браком, или какой-нить компонент в схеме, помрет раньше срока... что так или иначе приведет к необходимости ремонта...
  4. В таком случае у меня получаються 2 полностью одинаковых бутлодера просто с разными исполнительными параметрами... Еще один довод, к примеру у меня поддержка только FAT16 в будующем потребуеться что бы работал и с FAT32 и еще несколькимим ФС да и еще просто по USB, пользователю будет не очень удобно прошивать по нескольку раз сначала перешивать лодер лодера*)) потом сам лодер, потом прогу*)) А чем собсна мой вариант плох? всегда есть возможность бэкапа или релода!
  5. Привет! Значит нужно реализавать следующую штуку... Есть некий девайс в который пользователь вставляет флешку, выбирает функцию смены прошивки, девайс находит *.hex в roote и себя перешивает, причем он должен перешиваться полностью, вместе с лодером с помощью которого он перешиваеться (лодер также должен уметь сгружаться с флешки некие параметры для проги...)... это все на LPC2468... Как я себе это представляю... в начале в память зашит лодер потом прога... Как только юзер выбирает смену прошивки, происходит проверка на валидность прошивки, потом лодер копируеться в самый конец памяти и устанавливает старт контроллера на себя, запускаеться оттуда и начинает переписывать прошивку, как только она произведена успешно, лодер устанавливает старт на начало новой прошивки т.е. на новый лодер... в таком раскладе если запись прошивки произошла неудачно, к примеру питание упало, тогда прога стартует со старого лодера и сразу автоматом грузит новую прошивку, если прошивка записалась криво, будет возможность вернуться к стаарому работающему лодеру и повторить прошивку... Но это все мои измышления, наверняка сея проблема распространена и есть какие либо классические решения... Может чего присоветуете? П.С. Как можно програмно переустанавливать точки старта в LPC? Можно ли вообще?
  6. Я тоже это сразу заметил, наверное ошибка в комметариях... Ведь прерывание все равно включаеться в конце функции... А в начале отключаеться пока не проиниться хост, решение разумное! Да! Но оригинальное значение, являеться по мануалу на LPC2468 несколько некорректным! Что этим хотел сделать автор я не понял*) Да тут вы правы внимание не обратил, спасибо! Все проблемы решены, все работает на железе как надо! Меня тоже несколько удивила такая котовасия, вопрос зачем она нужна? Ну да ладно, ну тут вы правы*) Просто раз уж ПРОИЗВОДИТЕЛЬ выкладывает пример, то он по моему разумению, должен идеальным и вылизанным до нельзя*)
  7. Да.... я уже и сам заметил что fdr знаковое, просто как то не сразу не подумал, что в этом месте от отрицательности есть какой либо смысл... Сейчас полностью разобрался и все запустил, когда смотришь JTAGом все работает правильно файл открываеться, читаеться, и записываеться... но когда просто запускаешь чип, ничего не происходит... также если просто запустить JTAG Runoм с начала до конца... Обнаружил что во время инициализации хоста... Если эту строчку проходит JTAGом по шагово то все ок! А если Runом то прога навсегда вываливаеться в стартап в эту строчку...
  8. Отловил еще пару багов, совсем мелких, и теперь УРА комраде! И хост и массорадж*))(masstorage) и даже файловая система иниться, и флешечка огоньком замигала*) но.... Это финальный код где содержимое одно файлика плавно кочует в другой... fdr = FILE_Open(FILENAME_R, RDONLY); возвращает не 0!! А некое 0xFFFFFFEC, но этот if (fdr > 0), почему то считает что в его условии FALSE*((
  9. не работает вообще*) до тех мест которые я описал*)))... если бы работало я бы довольный вписал то что мне нужно и шли они все лесом*))... ибо сразу видно пример дико кривой и учиться по нему не особо приятно... Скажу больше он сразу даже не скомпилиться! ибо есть 2 ошибки в названии дефайнов! благо они находяться за 2 секунды... немного продвинулся попробовал поставить OTGStCtrl |= 0x00000001; да бы 1 порт стал не просто host, а host (OTG)(ну тут вопросы ко мне, ибо мог бы и сразу сам догадаться), получилось! теперь в злосчастном HcInterruptStatus все по мануалу и как доктор nxp прописал... далее пришлось ставить адрес HcRhPortStatus для первого порта(О чудо, я наконец то узнал на какой порт nxp повесили свой хост!)... далее пока в процессе разбора... но пока все равно не работает*))
  10. Я все прекрасно понимаю! Все что вы сказали естественно и понятно... 1. Я не нашел в мануале, что регистр HcInterruptStatus одноразовый для чтения... 2. Смотрел без JTAGа до куда добираеться программа, ровно до того же места... Кое что еще нашел, когда Host_Isr, принимает нулевой HcInterruptStatus, он заверщает прерывание простым return;, добавил для корректности VICVectAddr = 0; перед return;... Теперь прерывание вызываеться через равные временные промежутки, постоянно, также независимо от того висит ли что-нибудь на хосте или нет...
  11. Смотрю JTAGом... в Keile, MT-Linkом, пошагово... Indicates the status on various events that cause hardware interrupts by setting the appropriate bits. это говорит даташит про HcInterruptStatus... походу хоть зачитайся*)) Вопрос в том почему генериться прерывание по USB, когда по идеи ничего не происходит? думаю это и есть причина нулёвости HcInterruptStatus
  12. Всем привет! Работаю с стартер китом с lpc2468... В апноуте на UsbHostLite пишут что *Загрузите этот пример на нашу борду и наслаждайтесь?*... Но как он может заработать если там даже не настроены порты USB? Даже в USBClkCtrl какой то бред пытаються записать... Лопачу под себя Поставил 1ый порт хостом, и настроил по мануалу USBClkCtrl... USBClkCtrl = 0x0000001A; OTGStCtrl |= 0x00000003; Ноst_Init(); проходит... в самом конце разрешают прерывание для USB, VICIntEnable = (1 << 22)... Через небольшое время не зависимо от того вставлено что либо в разъем хоста(да и вообще в любой usb порт) или нет срабатывает это прерывание, но функция обработчик( Host_Isr() ) толком ничего не делает, т.к. Host_Isr спрашивает у HcInterruptStatus что там случилось, но там всегда одни нули... Далее в функции Host_EnumDev(), навечно заваливаюсь в while (!HOST_RhscIntr); HOST_RhscIntr должна изменяться в Host_Isr, но из-за вечной нулевости HcInterruptStatus этого никак не сделать... Также еще раз отмечу прерывание для Host_Isr вызываеться только один раз через некоторое время после VICIntEnable = (1 << 22), не зависимо от того вставлено что либо в хост или нет... Позже это прервывание не вызываеться вообще... Может подсобите чем нибудь, я пока в ступоре...
  13. Можно поподробнее плз... В каком смысле? (Копирайт Гайдай*))
  14. bool Keil не понимает*( Если бы понимал все было бы просто и красиво*) Все, написал на сдвигах, масках там итд Взял массив из 128 unsigned long long*) Но битовая матрица штука крайне полезная, обидно что в Keil ее не реализовать в прямом виде