Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PIC24F Записать строку в память программ
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
Andrey_M
Доброго времени суток!

Помогите разобраться с записью во FLESH.
MPLAB V8.88
Компилятор MPLAB C30 V3.30
процессор PIC24FJ128GA006

Есть переменная char buff [14]={"Slovo "}; //
Текст в переменной изменяется в ходе программы (получается от другого процессора).
Требуется сохранить его в памяти программ чтобы можно было восстановить после снятия питания.
С чтением из программной памяти проблем нет а вот записать никак не могу.
Подскажите какую библиотеку для этого надо и если не составит труда накидайте пример как это делается.

Заранее спасибо за любую помощь.
Danis
Цитата(Andrey_M @ Jan 24 2013, 09:16) *
Подскажите какую библиотеку для этого надо и если не составит труда накидайте пример как это делается.
Заранее спасибо за любую помощь.


Просто записывать несколько байт строки не получится, нужно будет сначала стереть страницу памяти flash, а это может быть 1024 byte или более, надо смотреть на чип. Поэтому нужно

1 – Разместить буфер по указанному адресу во flash, размер буфера должен быть кратен размеру стираемой странице.

__attribute__((space(psv),address (0x7000)))
volatile const unsigned char Buff[1024];

2 – Пишите / считывайте flash.

Тут вам в помощь

MPLAB® C30 C COMPILER USER’S GUIDE
и даташит на Ваш контроллер.
skyv
Цитата(Andrey_M @ Jan 24 2013, 10:16) *
Доброго времени суток!

Помогите разобраться с записью во FLESH.
..


Посмотрите статьи по реализации загрузчиков (Bootloader) для PIC.
Там все подробно описано. Примеры рабочие.


Andrey_M
Спасибо откликнувшимся.
Стирание и запись массивов в память программ у меня получается с помощью
_init_prog_address(p,Flash_var); //
_erase_flash(p); //
_write_flash16(p,Var); //
но это массивы int, а функции работающие с текстом требуют char.
при попытке передать на запись переменную строки char компилятор ругается и после стирания ничего не пишет во FLESH.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.