|
|
  |
Write/Read data in flash ARM7 |
|
|
|
Jan 2 2011, 22:58
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 2-01-11
Пользователь №: 61 990

|
Здравствуйте,
у меня стоит задача на контроллере LPC2148 по усарту читать и записывать константы во флэш, как это лучше всего сделать? с помощью IAP, или можно ли как-то проще?
Спасибо, Иван.
|
|
|
|
|
Jan 3 2011, 07:50
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 2-01-11
Пользователь №: 61 990

|
А можно примерчик? Бо я с этой архитектурой только знакомлюсь. Спасибо
|
|
|
|
|
Jan 11 2011, 18:47
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 2-01-11
Пользователь №: 61 990

|
А как занести переменную по определенному адресу (сектор)? С константой ясно, например #define a 100 @ 0x10000000
А переменную как объявлять?
Спасибо
|
|
|
|
|
Jan 12 2011, 05:02
|
■ ■ ■ ■
    
Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443

|
Цитата Бо я с этой архитектурой только знакомлюсь. С поиском бы лучше ознакомились. Хотя бы вот http://electronix.ru/forum/index.php?showt...l=iap*&st=0
--------------------
Делай что должен и будь что будет.
|
|
|
|
|
Jan 18 2011, 12:22
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 2-01-11
Пользователь №: 61 990

|
Спасибо всем, немного освоил IAP. Вот только последний момент остался, подскажите что нужно и где написать в scatter-файле чтобы правильно данные разместить по нужному адресу Среда Кейл Как сделать чтобы память данных была в IROM2? Код LR_IROM1 0x00000000 0x0003FFFF { ; load region size_region ER_IROM1 0x00000000 0x0003FFFF {; load address = execution address *.o (RESET, +First) *(InRoot$$Sections) .ANY (+RO) } RW_IRAM1 0x40000000 0x00008000 {; RW data .ANY (+RW +ZI) } }
LR_IROM2 0x00040000 0x00008000 { ER_IROM2 0x00040000 0x00008000 {; load address = execution address .ANY (+RO) } }
Сообщение отредактировал S1LENCE - Jan 18 2011, 12:23
|
|
|
|
|
Jan 18 2011, 13:17
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(S1LENCE @ Jan 18 2011, 15:22)  Вот только последний момент остался, подскажите что нужно и где написать в scatter-файле чтобы правильно данные разместить по нужному адресу Оформить данные в отдельную секцию (см. #pragma arm section), секцию разместить в требуемом регионе в scatter'е. Цитата(esaulenka @ Jan 18 2011, 16:11)  Если отдать это линкеру, данные будут "плавать", и как работать с IAP'ом, непонятно. Куда это они будут плавать, если адрес секции жестко привязан?
|
|
|
|
|
Jan 18 2011, 15:13
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 2-01-11
Пользователь №: 61 990

|
Так а записать во флэш с помощью IAP можно только минимум 512 байт (256 у меня не вышло почему-то - пишет не правильно задано количество байт). Для этого прийдется создать буфер на 512 байт - вначале считать все данные с памяти - потом изменить пару байт и записать?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|