реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> ATMega, создание программатора
bav
сообщение May 15 2007, 01:47
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 21-06-05
Из: Санкт-Петербург
Пользователь №: 6 184



привет всем!

пишу программатор для меги. что-то как-то плохо получается:

-делаю ресет

-разрешаю последовательное программирование, получаю эхо (последовательное включилось)

-стираю кристалл

-устанавливаю сектор

-пишу в него данные

-устанавливаю следующий

.....

-читаю все данные



в итоге:

1. нулевой сектор пустой (записано 0xff)

2. в каждом первые два слова пустые.

делал задержку после выбора сектора - не помогло.

делал чтение после выбора и перед началом записи - избавился от второго глюка

вопрос: как заставить писать в нулевой сектор? что делаю не так? crying.gif
Go to the top of the page
 
+Quote Post
bodja74
сообщение May 15 2007, 02:36
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Сначала загружаете страницу данными ,а потом команда "запись страницы"
Второй глюк нужно подождать ,пока не запишется страница.

ЗЫ я через бутлоадер писал ЕЕПРОМ 512байт ,у меня по флагам (тоесть максимальная скорость)
уходило около 2сек на запись.
Go to the top of the page
 
+Quote Post
bav
сообщение May 15 2007, 02:45
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 21-06-05
Из: Санкт-Петербург
Пользователь №: 6 184



страницу я пишу целиком. пишутся все, кроме нулевой.
задержки делал до секунды на блок - не помогало.
уточнусь, программирование делаю по SPI с помощью USB-byteblaster для Altera.
Go to the top of the page
 
+Quote Post
CD_Eater
сообщение May 15 2007, 03:06
Сообщение #4


Частый гость
**

Группа: Новичок
Сообщений: 173
Регистрация: 3-09-04
Из: Moscow
Пользователь №: 595



Проверьте длительность ожидания выполнения ChipErase. Увеличьте на всякий случай раза в 2.
Go to the top of the page
 
+Quote Post
bav
сообщение May 15 2007, 03:56
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 693
Регистрация: 21-06-05
Из: Санкт-Петербург
Пользователь №: 6 184



увеличение длительности до 10 секунд не помогло sad.gif
посмотрел внимательней что и как шьется. оказолось, что прога шьется со смещением на один сектор. т.е. что должно быть по адресу 0x0000 шьется по адресу 0x0100
сделал программное смещение, т. е. начинаю шить с адреса 0xff00 ( -256) и все работает хорошо.
кто что может сказать по этому поводу?

нашел проблему:
сначало пишим блок данных в сектор, а затем даем команду, в какой сектор записываем. поэтому и получалось что устанавливал номер следующего сектора.
правда, в доке об этом ничего не нашел.
Go to the top of the page
 
+Quote Post
defunct
сообщение May 15 2007, 08:38
Сообщение #6


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(bav @ May 15 2007, 05:56) *
т.е. что должно быть по адресу 0x0000 шьется по адресу 0x0100
сделал программное смещение, т. е. начинаю шить с адреса 0xff00 ( -256) и все работает хорошо.
кто что может сказать по этому поводу?

Ищите ошибку в вашей программе.
Чип работает как по даташиту.

Цитата
правда, в доке об этом ничего не нашел.

А что там находить то?
После загрузки данных в буфер страницы,
командой записи страницы - указывается куда записать данные буфера.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th June 2025 - 10:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.0137 секунд с 7
ELECTRONIX ©2004-2016