Ящур
Гость
|
|
« : 20-01-2004 11:34 » |
|
Может ли программа работающая из внешней Flash программировать эту же самую Flash, данные соответственно будут писаться в другую область не там где программа. Flash-ка Am29LV800B, по интерфейсу программирования совместимая с AT49BV1604
|
|
|
Записан
|
|
|
|
Lex
|
|
« Ответ #1 : 20-01-2004 12:03 » |
|
Ящур, нет. Тебе надо переписывать код программирования куда-нить в ОЗУ и оттуда исполнять. Или у твоего процессора должен быть кеш команд на 16, тогда можно попробовать на этом сыграть.
|
|
|
Записан
|
Megabyte be with you!
|
|
|
Ящур
Гость
|
|
« Ответ #2 : 20-01-2004 12:16 » |
|
Ящур, нет. Тебе надо переписывать код программирования куда-нить в ОЗУ и оттуда исполнять. Или у твоего процессора должен быть кеш команд на 16, тогда можно попробовать на этом сыграть. А ты не знаешь как подобное осуществить для AT91M63200.
|
|
|
Записан
|
|
|
|
Lex
|
|
« Ответ #3 : 20-01-2004 12:21 » |
|
Ящур, А в чем проблема? у твоего контроллера 3К ОЗУ, в которые можно впихнуть код программирования слова во флэшке. Займет это от силы байт 200.
|
|
|
Записан
|
Megabyte be with you!
|
|
|
Ящур
Гость
|
|
« Ответ #4 : 20-01-2004 12:33 » |
|
Ящур, А в чем проблема? у твоего контроллера 3К ОЗУ, в которые можно впихнуть код программирования слова во флэшке. Займет это от силы байт 200. Вся проблема в реализации этой идеи. Как этот код откомпилировать(это должен быть отдельный проект или часть загрузчика), как правильно запустить этот кусок с учетом того что программа пишется на С ?
|
|
|
Записан
|
|
|
|
Lex
|
|
« Ответ #5 : 20-01-2004 12:51 » |
|
Ящур, Код программирования флешки пишешь в отдельном файле. Затем в файле где у тебя задается карта памяти просто указываешь, что этот файл содержит код, который должен запускаться из ОЗУ. Ну и в сартап коде дописываешь код по копированию данных из флеша в ОЗУ. Для разных компиляторов это реализуется по разному
|
|
|
Записан
|
Megabyte be with you!
|
|
|
Cholerik
Гость
|
|
« Ответ #6 : 21-01-2004 06:35 » |
|
Ящур, нет.
A po4emu net? Programmu xranish` v odnom sektore flash, a pishesh` v drugoj?
|
|
|
Записан
|
|
|
|
Cholerik
Гость
|
|
« Ответ #7 : 21-01-2004 06:44 » |
|
No kod programmirovanija flash vseravno pridetsia kopirovat v OZU :oops:
|
|
|
Записан
|
|
|
|
SlavaI
Главный специалист
Offline
|
|
« Ответ #8 : 21-01-2004 07:07 » |
|
Просто для сведения. Я собирал систему на базе Windows CE(токо не обзывайтесь), сидящую во флэшке от M-Systems, она(ОС) могла перепрограммировать флэшку(ОС обновляла сама себя), так как затягивала себя полностью в оперативку, после чего ей на флэшку было параллельно.
|
|
|
Записан
|
|
|
|
Ящур
Гость
|
|
« Ответ #9 : 21-01-2004 07:57 » |
|
Для уточнения , все вышесказанное мне надо реализовать в ARM Development Toolkit 2.5 для AT91M63200 Есть мнение , что пересылку в ОЗУ части кода можно сделать с помощью scatter-a . Кто-нибудь работал с ним?
|
|
|
Записан
|
|
|
|
Lex
|
|
« Ответ #10 : 21-01-2004 10:50 » |
|
Ящур, чем тебя обычное копирование не устраивает. 4/5 команд цикл копирования + около 5 команд на начальную инициализацию. Все это делается в момент старта программы из флеши. Как я понимаю ты хочешь писать какие-нить настройки во флеш
З.Ы. По поводу как сделать код исполняемый из ОЗУ и хранящийся во флеши, почитай руководство к ARM Development Toolkit главу Writing Code for ROM. Там достаточно подробно описано как это делать.
|
|
|
Записан
|
Megabyte be with you!
|
|
|
Ящур
Гость
|
|
« Ответ #11 : 22-02-2004 09:34 » |
|
Возникла новая проблема, беру проект который программирует Flash-ку на моей Evalution board, удаляю из него все лишнее , оставлюю только часть определения ID flash-ки. Почему то после этого удаления , проект перестает работать, в режим программирования flash-ка не входит, вместо id выдает содержимое flash-ки.
|
|
|
Записан
|
|
|
|
Lex
|
|
« Ответ #12 : 24-02-2004 10:50 » |
|
Ящур, значит удалил лишнее. Смотри описание флешки
|
|
|
Записан
|
Megabyte be with you!
|
|
|
Ящур
Гость
|
|
« Ответ #13 : 24-02-2004 15:18 » |
|
Lex, Вроде разобрался. А ты с Dataflash AT45DBxxx не работал. Пробую с ней общаться , а в ответ тишина.
|
|
|
Записан
|
|
|
|
Lex
|
|
« Ответ #14 : 24-02-2004 16:01 » |
|
Ящур, не работал. А в чем у тебя проблемы? Посмотрел доку. Вроде ничего хитрого нет. Плюс все необходимые диаграмы нарисованы. Попробуй осцилографом посмотреть чего у тебя идет на флэшку. в первую очередь CS. Он у тебя должен оставаться активным в течении всего времени обращения к флэши т.е. минимум 4 байта. Если используешь аппаратный SPI, то эта зараза может дергать CS в процессе.
|
|
|
Записан
|
Megabyte be with you!
|
|
|
Ящур
Гость
|
|
« Ответ #15 : 25-02-2004 06:09 » |
|
Lex, SPI аппаратный , пользуюсь Atmel-ской библиотекой. Данные к Flash-ке идут (насчет CS не уверен), а обратно какая-то хренотень не понятная идет.
|
|
|
Записан
|
|
|
|
little
|
|
« Ответ #16 : 26-02-2004 10:03 » |
|
А что за библиотека? ссылку можешь дать?
|
|
|
Записан
|
|
|
|
Lex
|
|
« Ответ #17 : 26-02-2004 11:21 » |
|
Ящур, цепляй осцилограф, а лучше анализатор и разматывай, что у тебя идет в флэши. МОжет где полярность клоков не та или еще какая-нить хрень лезет
|
|
|
Записан
|
Megabyte be with you!
|
|
|
Ящур
Гость
|
|
« Ответ #18 : 26-02-2004 12:19 » |
|
little, библиотетка At91LibV214_light.zip лежит на сайте atmel-a
Lex, Похоже, что этот SPI не всегда CS генерит зараза.
|
|
|
Записан
|
|
|
|
|