Jump to content

    

Benon

Новичок
  • Content Count

    2
  • Joined

  • Last visited

Community Reputation

0 Обычный
  1. Добрый день! Есть модуль EB-600, сконфигурировал его в 10Hz @ 38400, все работало нормально. Решил немного поиграться с настройками - запросил параметры командой $PSTMGETPAR,1200 получил значение ответа - 0x363940 После этого решил изменить некоторые параметры (в частности, используемые созвездия, в ответе были отключены GPS), для чего послал команду $PSTMSETPAR,1200,0x733942 На что модуль ответил ОК, после этого сохранил параметры в память. После сброса питания модуль превратился в кирпич, ничего не шлет и не реагирует на команды. Что могло произойти?
  2. Цель работы - удалить заданный (скажем 0x9000) сектор в 64Кб flash памяти, которая подвязана как внешняя к MCS 51. Процессор ND3260, память - Pm39LV512. По сути это небольшая модификачия прошивки кард-ридера. Прочитав мануал по памяти был сделан код:КодERASE_SECTOR:     mov DPTR, #0x5555     mov A, #0xAA     movx    @DPTR, A     mov DPTR, #0x2AAA     mov A, #0x55     movx    @DPTR, A     mov DPTR, #0x5555     mov A, #0x80     movx    @DPTR, A     mov DPTR, #0x5555     mov A, #0xAA     movx    @DPTR, A     mov DPTR, #0x2AAA     mov A, #0x55     movx    @DPTR, A     mov DPTR,#0x9000     mov A, #0x30     movx    @DPTR, A     ret он просто проводит инициализацию режима удаления блока и затирает блок 0x9000-0xA000. Дело в том, что в начале работы прошивки я по определенному условию, либо передаю управление на стандартную прошивку, либо применяю свою из flash. В обычном режиме (лампочками помигать и тп ) все работает как надо. Если же вызвать мою функцию ERASE_SECTOR то очистка проходит верно (я смотрю дамп flash в hex редакторе),но почему-то после выполнения Кодmovx    @DPTR, A автоматически запускается стандартная прошивка и Windows определяет кард-ридер Т.е. дальше я ничего уже сделать не могу. Т.е. как я понял, во время стирания проц пытается обратиться к внешней флеш, а она занята, следовательно контроллер рестартиться. Т.е. надо каким-то образом заморозить контроллер пока не выполнится стирание блока из флеш. Вся проблема в том, что прошивка находится в той же флешке, в которой я стираю блок. Разъясните пожалуйста.