Привет. sd-карта подключена к Ардуине, и на карте есть файл.Как можно сделать программу,в которой бы считывался файл с sd-карты во флеш-память Atmega в Ардуине следующим образом: считываем байт в ячейку флеш-памяти по определённому адресу, дальше допустим передаём его ещё куда-то, очищаем эту ячейку, считываем в эту же ячейку следующий байт и так до конца файла. Или может можно поблочно считывать не по байту а по 256 или 512 байт во флеш-память с карточки?))
Стоп. В какую память вы собрались считывать: персистентную (EEPROM) или оперативную (SRAM)? В первом я особого смысла не вижу, хотя может он есть — расскажите. Если речь идёт просто о том, чтобы в итоге передать файл с SD куда-нибудь ещё (Ethernet, Xbee, Wifi, Serial, whatever), то это делается просто. В цикле читаем по 512 байт в буфер, передаем буфер и повторяем процедуру пока файл не закончится. Очень похожая тема, о передаче SD по Ethernet обсуждалась буквально на днях.
У меня как бы задача стоит сначала передать этот файл с Sd-карты в память Ардуино, а потом передать его по JTAG в ПЛИС. Просто я нашёл программу,где для передачи по JTAG считывается файл постранично(512 байт вроде страница памяти) из флеш-памяти AtMega. Вот я и хочу для использования этой готовой программы в качестве куска своей сделать так,чтобы файл считывался с SD-карты во флеш-памяти AtMega. EEPROM и флеш - это 2 разных вида энергонезависимой памяти в Ардуине или флеш-часть EEPROM?))
Флеш — это память, где хранится программа, её 32 кб. Туда можно прошивать прошивку, но сама прошивка туда (то есть сама в себя) писать не может. Поправьте меня если я не прав. EEPROM — это память для хранения данных между включениями, её 1 кб. В неё можно спокойно писать и читать. Может вы дадите программу, о которой говорите? Станет понятнее.
Если проблемы с архивом,то вот ссылка тогда: http://we.easyelectronics.ru/AVR/sverhmobilnaya-proshivalka-avr-po-jtag.html