Полная версия этой страницы:
Помогите с AT25F1024
Проблема такая. Пытаюсь зашит в микросхему(AT25F1024) ldr файл, от BlackFin 537, в процессе прошивки, в любом месте памяти, может возникнуть ошибка(и файл записывается неправильно). Помогите пожалуйста из-за чего это происходит. Возможно есть какие-нибудь особенности программирования данной памяти?
Заранее спасибо!
aaarrr
Oct 24 2011, 19:51
Хоть бы примеры привели - что куда пишете, и что в результате читается. "Любое место" имеет постоянный адрес, или же он меняется от случая к случаю? Если не записываются именно определенные комбинации, то не грех было бы их здесь привести.
Никаких особенностей программирования у AT25F1024 нет, все работает, как написано в документации.
pavel-pervomaysk
Oct 24 2011, 20:06
Перед тем как ее записать нужно сначала стереть ее.
CODE
[_SENDBYTE]
LOOP=(7,0){SI=R0[I],SCK=1,SCK=0}
[_SENDADR]
LOOP=(23,0){SI=ADR[I],SCK=1,SCK=0}
[_WREN]
SCK=0
CS=0
_SENDBYTE(00000110b) ; Write enable
CS=1
[_WAITWR] ;Wait for end write memory...
SCK=0
LOOP=(0,10000){
_RDSR
R1[0]?0{BREAK} ;WIP bit
P=10
}
[WRITEBLOCK]
SCK=0
_WREN
CS=0
_SENDBYTE(00000010b) ; Write
_SENDADR
LOOP=($BLOCKSIZE){ ; размер блока 256 байт
_SENDBYTE(DATA)
ADR=+1
}
CS=1
_WAITWR
Пишется в микросхему ldr файл, т.е. я его полностью записываю в память(с 0 адреса), записываю с помощью программы написанной на С#, которая передаёт по RS485 пакеты в 256 байт, и уже процессор ADSP BlackFin 537 по SPI магистрали передаёт данные в микросхему AT25F1024. Одна из комбинаций которую я получил: записано 0x51 считано 0x11 по адресу 0x54FF, и также записано 0xa6 считано 0x26 по адресу 0x54FE. Микросхему я стираю.
pavel-pervomaysk
Oct 25 2011, 19:11
Есть вариант что читаете неверно.
читать нужно после спада SCK предыдущего клока.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.