Перейти к содержанию
    

PIC24F Записать строку в память программ

Доброго времени суток!

 

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

MPLAB V8.88

Компилятор MPLAB C30 V3.30

процессор PIC24FJ128GA006

 

Есть переменная char buff [14]={"Slovo "}; //

Текст в переменной изменяется в ходе программы (получается от другого процессора).

Требуется сохранить его в памяти программ чтобы можно было восстановить после снятия питания.

С чтением из программной памяти проблем нет а вот записать никак не могу.

Подскажите какую библиотеку для этого надо и если не составит труда накидайте пример как это делается.

 

Заранее спасибо за любую помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите какую библиотеку для этого надо и если не составит труда накидайте пример как это делается.

Заранее спасибо за любую помощь.

 

Просто записывать несколько байт строки не получится, нужно будет сначала стереть страницу памяти 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

и даташит на Ваш контроллер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доброго времени суток!

 

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

..

 

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

Там все подробно описано. Примеры рабочие.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо откликнувшимся.

Стирание и запись массивов в память программ у меня получается с помощью

_init_prog_address(p,Flash_var); //

_erase_flash(p); //

_write_flash16(p,Var); //

но это массивы int, а функции работающие с текстом требуют char.

при попытке передать на запись переменную строки char компилятор ругается и после стирания ничего не пишет во FLESH.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...