Полная версия этой страницы:
Глюка с флеш C8051F120
stalko
Nov 12 2005, 18:34
Ситуация такая:
моя программа хранит данные в Scratchpad Flash. Задачка не бей лежачего:
эти данные изменяются по команде от управляющего устройства по SPI, при пуске производится перегрузка в массив в ОЗУ. Чтобы в флеш были хоть какие-то членораздельные данные при старте проверяю первые четыре байта и если они 0xFF, то считаю, что массив не инициализирован и я записываю туда некие данные по умолчанию.
Так вот: у меня 5 комплектов плат, на 4-х из них все великолепно, а вот на одной в последнее время пару раз видел вот какой прикол: Даю команду записать, все вроде проходит, работает. Но перегружаюсь, проц зависает наглухо. Перешиваю, все стартует, но данные из флеш прогружаются такие: первый байт правильный, дальше одни 0xFF, т.е. такое чувство, что флеш стерлась, первый байт записался и все... Но это тоже странно: если бы не вставал флаг готовности флеш, то я бы после первой же команды ушел в ступор (само собой, там прерывания запрещены), но я продолжаю работать и отвечать на команды...
Понятно, где нужно искать: "сдох проц", "непропай" и т.д., но... Подскажите спецы по Keil, можно ли просмотреть/изменить/инициализировать флеш из под оболочки?
flashutil возьми и посмотри где и что записано
берется на сайте производителя
stalko
Nov 13 2005, 17:02
Цитата(net @ Nov 13 2005, 17:13)

flashutil возьми и посмотри где и что записано
берется на сайте производителя
Видимо, я неправильно сформулировал вопрос: содержимое при старте я могу посмотреть из своей проги.
Меня интересует ВИДЕТЬ/ИЗМЕНЯТЬ содержимое, например, после точки останова, а еще лучше, если бы можно было создать файл (или указать в виде переменных в некоем сегменте), который при прошивке бы инициализировал указанные адреса флеша...
Charley
Nov 13 2005, 18:27
Привет!
Вообще говоря, IDE от Silicon Laboratories все это позволяет, и сам Keil здась совершенно не причем!!!
Проверять надо схемотехнику!!!
Вообще для микроконтроллеров SiLabs существует свой сайт со своим форумом www.silabs.ru где такие вопросы обсуждают опытные специалисты, работающие на микроконтроллерах SiLabs!
stalko
Nov 13 2005, 21:19
Цитата(Charley @ Nov 13 2005, 21:27)

Привет!
Вообще говоря, IDE от Silicon Laboratories все это позволяет, и сам Keil здась совершенно не причем!!!
Проверять надо схемотехнику!!!
Вообще для микроконтроллеров SiLabs существует свой сайт со своим форумом www.silabs.ru где такие вопросы обсуждают опытные специалисты, работающие на микроконтроллерах SiLabs!
Проверять надо не схемотехнику, а изготовление. И это я сам знаю (о чем даже уже написал)
А посмотреть флеш я хочу независимо от этого. И при чем тут IDE? Я работаю в Кейл, мне так больше нравится, а это дело вкуса. Вот, собственно, при чем Кейл.
one_man_show
Nov 14 2005, 15:05
Уважаемый stalko, не отвлекайтесь от основной идеи, просто Charley опять заносит в сторону рекламы альтернативного ресурса, что явно начинает мешать.
stalko
Nov 14 2005, 21:36
Цитата(one_man_show @ Nov 14 2005, 18:05)

Уважаемый stalko, не отвлекайтесь от основной идеи, просто Charley опять заносит в сторону рекламы альтернативного ресурса, что явно начинает мешать.
Сайтик, кстати, весьма слабоватый.
Что я единственный, у кого были глюки с записью во флеш? Я просто опасаюсь, что может это таки мой глюк? А не железки...
_Andu_
Aug 17 2006, 07:08
Скорее всего программный глюк т.к. ятоже для своей работы пишу данные в Scratchpad Flash и ни каких проблем устройств уже за 500 шт. Попробуйте просмотреть программу может найдете недочет.
Igor_K
Aug 17 2006, 15:38
Imho, можно посмотреть питание - может контроллер начинает работу с scratchpad при еще неустановившемся питании.
И второе - проверить, запрещаются ли прерывания перед записью.
Попробуйте вставить в start.asm (если вы его используете в Keil) пустой цикл с задержкой примерно в 100мс в самом начале файла. Это поможет устранить проблемы с установлением питания, если таковые имеются.
Да, а на кейловском форуме пробовали спрашивать? Иногда дают толковые ответы.
Keil
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.