Форумы Modlabs.net: USB LCD HOWTO - Форумы Modlabs.net

Перейти к содержимому

  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

USB LCD HOWTO

#241 Пользователь офлайн   ZPS 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 682
  • Регистрация: 28 Февраль 03

Отправлено 08 Август 2004 - 23:14

listener
а оригинальную прошивку (с hc08web.de) можно залить через USBICP.exe ?
что-то у меня не получается. говорит, что прошил нормально, а стартует всёравно как ICP
0

#242 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 09 Август 2004 - 00:23

ZPS
Оригинальную нельзя. Там надо поправить vecjb8 по образу и подобию. )(Там находятся переходы на обработчики прерываний. В прошивке с бутом они лежат в другом месте)
0

#243 Пользователь офлайн   ZPS 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 682
  • Регистрация: 28 Февраль 03

Отправлено 09 Август 2004 - 17:44

не получается ;)
прошил, он перестал определяться как ICP, но и как новая железка не определяется.
выходит я что-то не так сделал
0

#244 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 09 Август 2004 - 17:50

Странно ... А обратно в icp заходит? (По кнопке)
И что прошил - оригинальную прошивку?
0

#245 Пользователь офлайн   ZPS 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 682
  • Регистрация: 28 Февраль 03

Отправлено 10 Август 2004 - 00:39

listener
да, с нажатой кнопкой он стартует как ICP.
Я просто совсем не разобрался с кодом. Только запутался.
Сейчас попробую залить стандартную прошивку без изменений через обычный программатор, если запустится, остановлюсь пока на этом.
А потом буду читать доки и разбираться.

Добавлено спустя 2 часа 33 минуты 4 секунды :

Бл*, как меня это за******
не могу уже. таже херня что и с прошлой железкой - не принимает драйвер и всё. Ставится как "неизвестное устройстов" или "усб девайс"
VID и PID совпадают, а драйвер не принимает.
Драйвер то с того же сайта что и прошивка.
У меня осталось 20 дней чтобы сделать этот долбаный диплом, у меня есть все матерьялы, но нихрена не работает и нихрена не понятно.
0

#246 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 10 Август 2004 - 10:32

ZPS
С кодом там, если разобраться, все просто: в конце адресного пространства есть таблица векторов прерываний. Когда возникает прерывание - оттуда читается адрес, куда переходить. Если мы делаем bootloader - то эти адреса должны указывать на прерывания нормальной прошивки (потому что переключения таблицы векторов, какэто сделано, например, в AVR, здесь нет).
Чтобы не привязывать все обработчики в прошивке к фиксированным адресам, мы делаем в ней массив из конструкций вида JMP isr_routine, и кладем в фиксированное место (у меня - 0xf7e6). После таблицы помещается контрольная сумма. Загрузчик, запустившись, считает контрольную сумму прошивки. Если она совпадает - считает, что загружена корректная прошивка и передает на нее управление, если не совпадает - запускается сам

Это все, как бы, описано в AN2398 - но пока разберешься, что там написано ...

С драйвером ... Попробуй поискать в registry эти VID и PID - может быть, для них что-то уже есть? У меня в `98 тоже ставилось не с первого раза.
0

#247 Пользователь офлайн   ZPS 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 682
  • Регистрация: 28 Февраль 03

Отправлено 10 Август 2004 - 12:59

listener
теорию работы бутлодера я вроде понял прочитав апноту, мне не понятно как это описано в программе. Почему именно такой массив и почему он оказывается по нужному адресу.
Я изменил vecjb8, сделал как в твоей прошивке, бутлодер вроде начал запускать программу, но сама программа не подает признаков жизни. Надо попробовать мигнуть диодом на выходе, тогда узнаю что именно не работает УСБ или вся прошивка.

Добавлено спустя 6 минут 44 секунды :

Да, ещё заметил одну странную вещь.
когда прошиваю прошивку для LCD, в программаторе справа прогресбар идет медленно и равномерно до конца. Когда щью свою, он идет медленно совсем немного, потом делает рывок вниз и пишет "готово". Прошивается получается быстрее в несколько раз.
Может он вобще эту прошивку не заливает как надо?

Добавлено спустя 12 минут 31 секунду :

Кстати, установка 97 офиса не помогла решить проблему с запуском USB программатора. Может она использует ДЛЛку от MSVC? он у меня не установлен, а на втором компе есть.

Добавлено спустя 49 минут 42 секунды :

Проверил, прошивка моя вобще не подает признаков жизни :gent:
0

#248 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 10 Август 2004 - 17:11

ZPS
Необязательно, чтобы это был массив. В буте есть набор фиксированных адресов, по которым должны находиться переходы на соответствующие обработчики. Покажи vecjb8

Прошивка - зависит от объема. У меня занята весь флэш - соответственно шьется медленно. У тебя, наверное, маленький кусочек в начале и таблица переходов в конце - все, что между ними просто пропускается.
0

#249 Пользователь офлайн   ZPS 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 682
  • Регистрация: 28 Февраль 03

Отправлено 10 Август 2004 - 18:38

оригинал:
http://zps-electroni...s/orig_vecjb8.c
вот что я из него сделал пытаясь переделать:
http://zps-electroni.../files/vecjb8.c

Без твоей помощи мне явно не справится.
0

#250 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 10 Август 2004 - 19:32

А таймерная функция у тебя есть? И, если нет, то как оно линкуется?
0

#251 Пользователь офлайн   ZPS 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 682
  • Регистрация: 28 Февраль 03

Отправлено 10 Август 2004 - 19:34

в main.c пустая
void isrTimer (void) {

}
0

#252 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 10 Август 2004 - 19:39

А перед ней есть:

#pragma interrupt_handler isrTimer
0

#253 Пользователь офлайн   ZPS 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 682
  • Регистрация: 28 Февраль 03

Отправлено 10 Август 2004 - 19:51

да есть
0

#254 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 10 Август 2004 - 20:12

Странно это все ... Если у тебя обычный программатор подключен, попробуй поставить на начало кода брэкпойнт и посмотреть в отладчике.
0

#255 Пользователь офлайн   ZPS 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 682
  • Регистрация: 28 Февраль 03

Отправлено 10 Август 2004 - 21:19

я в отладчике вобще ничего не пойму, там чистый асм.

Добавлено спустя 13 минут 34 секунды :

Сейчас получается такая ерунда:
подключаю - ничего не происходит, после жму кнопку и он определяется как ICP, отпускаю кнопку - он становится USB Device (с ошибкой)

Добавлено спустя 4 минуты 42 секунды :

listener
может у тебя аська есть? там быстрее разобраться можно. (68228969)
0

#256 Пользователь офлайн   dt 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 6
  • Регистрация: 11 Август 04

Отправлено 12 Август 2004 - 02:05

Во! Здесь люди знающие собрались, спрошу, хоть и оффтоп некоторый...
Штука такая: в прошлом году задумал сделать некое устройство, которое управляло бы вентиляторами в компе, но не просто так, "термодатчик-вентилятор@линейная зависимость", а более хитро, например, по более горячему из нескольких датчиков управлять несколькими же вентиляторами, причем тоже по-разному, или еще что-нибудь в таком же духе, причем чтобы для перенастройки не требовалось лезть в аппаратную часть. И все эти чудеса, естественно, в исполнении микроконтроллера :lol: Также, начитавшись разнообразных "lcd howto", захотелось прицепить экранчик, на котором оперативно отображалась бы вся эта информация - температура, обороты, и т.д. Плюс все это подключалось бы через USB и с помощью соответствующего софта могло бы использоваться как обычный ненавороченный USB LCD.
И тут произошел облом - если в софте и всяких прошивках я еще способен разобраться (по крайней мере знаю приблизительно, в каком направлении копать), то микроконтроллеры и вообще аппаратная часть... вводят меня в зависание :lol: В общем, хелп. Требуется инфа (в варианте "для чайников") про различные МК, как подключать к ним те же вентиляторы, термодатчики, lcd-дисплеи, и прочую периферию (только не так что "это припаять сюда, а это - туда", а чтобы можно было действительно понять как оно работает и пытаться сделать что-то самому). Можно на английском.
Сразу спасибо всем ответившим :)
0

#257 Пользователь офлайн   ProniX 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 744
  • Регистрация: 25 Ноябрь 03

Отправлено 12 Август 2004 - 08:08

2 dt: Советую почитать эпохальный труд Федоркова/Телец "Микроконтроллеры"... Выпущен еще в 89-м, вроде... Но в качестве учебника для начинающих - рулез. Ну, или пиши мне на мыло, постараюсь рассказать.
0

#258 Пользователь офлайн   dt 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 6
  • Регистрация: 11 Август 04

Отправлено 13 Август 2004 - 01:54

ProniX
Где б его только достать... Там, насколько я понимаю, общие принципы работы, двоичная логика и тому подобное, густо замешанное на микросхемах тех времен? Это-то я как раз более-менее перевариваю, все-таки как бы закончил техникум по специальности "вычислительные машины, комплексы, и так далее" :) Доводилось программировать и чудо советской науки и техники КР580 (в составе учебного стенда) в машинных кодах, и диплом по асму для х86 писал, так что основы - не проблема. Нехватает конкретики применительно именно к современным МК (хотя это, если подумать, наверное уже больше проблема программирования - особой разницы между тем, как подключать какую-нибудь железку к микрочиповским и мотороловским МК, насколько я понимаю нет)...

Хотя вообще-то чего это я? :down: До сих пор учился глядя на чужие успехи, тот же асм тому пример. Вот разве что... Знающие люди, посоветуйте мне плиз вот что: Какой конкретно микроконтроллер можно было бы взять для всего того, что я выше описал? (это для меня и есть главный затык, дальше уж попробую сам разобраться :puke:) Если я все правильно понимаю, нужен АЦП (4+ каналов), ШИМ (аналогично), USB и 1-2К памяти. Крайне желательна возможность прошивания собственными средствами МК, или в крайнем случае собираемым за 15 минут на коленке программатором.

PS: мыло чего-то не работает у меня сейчас. Читать могу, а посылать - нет :gigi: Если что - dt0 {собака} pisem.net
0

#259 Пользователь офлайн   ProniX 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 744
  • Регистрация: 25 Ноябрь 03

Отправлено 13 Август 2004 - 08:18

Понимаешь, проблема выбора микроконтроллера - это почти расовая война :) У каждого инженера сложилось свое устойчивое мнение о разных типах контроллеров. Мне иногда приходится программить всё, что программируется, но личные симпатии лежат на стороне 8051 архитектуры :) Поэтому посоветую тебе C8051F321 - сигналовская вещь, много на ней уже сделано чего :) Люблю я этот камешек :)
0

#260 Пользователь офлайн   Эдуард 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 1
  • Регистрация: 13 Август 04

Отправлено 13 Август 2004 - 08:28

To moderator: Сильно не бейте за оффтоп...
Уважаемый Listener! Очень хотелось бы с Вами связаться по поводу не совсем стандартного LCD и кнопках на нем, как это все изготовить. А то руки есть (и паяльник держут уже давно, но все как-то в аналоговой области), а вот программировать научиться не сподобился. Думаю, что могу быть полезен в других областях. В общем вот.
0

Поделиться темой:


  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

3 человек читают эту тему
0 members, 3 guests, 0 anonymous users