|
Память (внешняя память), Как устроена память??? |
|
|
|
Sep 4 2007, 11:26
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-08-07
Из: MockBa
Пользователь №: 29 658

|
Помогите разобраться как устроена память:
1. как устроена адресация памяти (т.е. как выставляются адреса для записи, чтения) 2. как записывать, читать данные.
в принципе общее устройство памяти понятно - данные забиваются в конкретные адреса памяти.
хотелось бы понять как прописывать адреса для нескольких записей в память (при чтении).
Вот, например, есть строка n-символов (пусть будет 80 бит), периодически строка меняется (кол-во символов не меняется), т.е каждую строку нужно записывать в свой конкретный адрес. как нужно учитывать это при простановке адреса для записи??
затем надо считывать записанные строки из памяти, как узнать по какому адресу находятся конкретная записанная строка???
Если можно покажите код на Си для реализации данного дела (желательно с пояснениями).
использую компилятор CodeVision, в качестве памяти используется FL25L256, микроконтроллер мега128, соединены по интерфейсу SPI.
Заранее извините за безграммотность по данному вопросу, и заранее всем спасибо!!!
|
|
|
|
|
 |
Ответов
|
Sep 4 2007, 14:56
|
Участник

Группа: Участник
Сообщений: 35
Регистрация: 8-08-07
Из: MockBa
Пользователь №: 29 658

|
Цитата(vesago @ Sep 4 2007, 18:48)  Если второе, заводите пару функций типа u8_t Read_EEPROM(u16_t addr, u8_t len, u8_t *buf); u8_t Write_EEPROM(u16_t addr, u8_t len, u8_t *buf); Если несколько одинаковых записей, в качестве addr передаете номер записи, умноженный на размер записи ну и опционально плюс смещение. Более конкретно интересует этот вопрос. Если можно распишите пожалуйста более детально ("Если несколько одинаковых записей, в качестве addr передаете номер записи, умноженный на размер записи ну и опционально плюс смещение"). С памятью никогда не работал, а требуется сделать описанное выше. Так что более подробная инфа по данной теме никогда не помешает. Очень интересует реалиазация процедур на Си.
|
|
|
|
|
Sep 5 2007, 09:48
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Цитата(satnettv @ Sep 4 2007, 18:56)  Более конкретно интересует этот вопрос. Если можно распишите пожалуйста более детально ("Если несколько одинаковых записей, в качестве addr передаете номер записи, умноженный на размер записи ну и опционально плюс смещение"). С памятью никогда не работал, а требуется сделать описанное выше. Так что более подробная инфа по данной теме никогда не помешает. Очень интересует реалиазация процедур на Си. Пусть у вас есть структура typedef struct { ///все, что угодно, в том числе ваша строка } TStruct; TStruct a, b, c, d; и вам надо их хранить в памяти начиная с адреса ADDR друг за другом. Тогда адрес первой структуры будет ADDR, второй - ADDR + sizeof(TStruct), n-ой ADDR + sizeof(TStruct) * (n-1). Этот адрес вы и передете вышеуказанным ф-циям. Как реализовать эти ф-ции для вашео типа памяти - надо почитать даташит. Скорее всего, есть некие опкоды записи и чтения, вы сначала передаете опкод, затем адрес, а затем либо пишите либо читаете информацию. Запись может быть более сложная, если стирание происходит секторами; часто запись ограничена 1-й страницей. Но тут вам надо прочитать даташит, и если будут конкретные вопросы - задавайте.
Сообщение отредактировал Непомнящий Евгений - Sep 5 2007, 09:48
|
|
|
|
Сообщений в этой теме
satnettv Память (внешняя память) Sep 4 2007, 11:26   satnettv Цитата(Непомнящий Евгений @ Sep 5 2007, 13... Sep 5 2007, 10:11    satnettv Цитата(satnettv @ Sep 5 2007, 14:11) Со с... Sep 5 2007, 14:29     Непомнящий Евгений Все
Цитата(satnettv @ Sep 5 2007, 18:29)... Sep 5 2007, 15:05 satnettv Делаю для себя, микроконтроллер mega128, внешняя п... Sep 5 2007, 14:36 satnettv Цитата(satnettv @ Sep 5 2007, 18:36) Дела... Sep 6 2007, 11:46 satnettv Цитата(satnettv @ Sep 4 2007, 15:26) Помо... Sep 6 2007, 11:45 satnettv даташит на память - http://www.compel.ru/images/ca... Sep 6 2007, 12:21 thorium Цитата(satnettv @ Sep 6 2007, 15:21) дата... Sep 6 2007, 12:33 Kuzmi4 Ну и зачем плодить кучу тем?? Sep 6 2007, 12:32 zltigo Moderator:
Все темы объеденены в разделе "В п... Sep 6 2007, 12:44 Непомнящий Евгений Уважаемый satnettv!
Насколько я понимаю, вы по... Sep 7 2007, 06:31 Devin 001 Помоему такую тему уже видел. Sep 11 2007, 16:29
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|