реклама на сайте
подробности

 
 
> Программнай запись во флеш память, dsPIC33FJ128MC506
Iptash
сообщение Oct 17 2015, 12:24
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 613
Регистрация: 2-09-08
Из: г.Набережные Челны
Пользователь №: 39 936



Здравствуйте все.

Пытаюсь использовать возможность записи во флеш из программы, но почему то при стирании зависает процессор в железе, а в симуляторе нормально.
вот написал код в начале программы
Код
        // начало
        page =__builtin_tblpage(&MyRowData5InFlash[0]);
    offset =__builtin_tbloffset(&MyRowData5InFlash[0]);
        // читаем из флэшки
        TBLPAG = page;
        MyRowDataInRam[0] = __builtin_tblrdl(offset);
        MyRowDataInRam[1] = __builtin_tblrdh(offset);
        // стираем страницу
        NVMCON = 0x4042;
        offset = offset & 0xFF00;
        TBLPAG = page;
        __builtin_tblwtl(offset, 0); // Dummy TBLWT to load address
        __builtin_disi(5); // Disable interrupts for NVM unlock
        __builtin_write_NVM(); // Start write cycle
        // пишем в флешку
        MyRowDataInRam[0] = 0x1234;
       // MyRowDataInRam[1] = 333;
        NVMCON = 0x4001;
        offset = (offset & 0xFFFE);
        TBLPAG = page;
        __builtin_tblwtl(offset, MyRowDataInRam[0]); // Load write latches
        __builtin_tblwth(offset, MyRowDataInRam[1]);
        __builtin_disi(5); // Disable interrupts for NVM unlock
        __builtin_write_NVM(); // Start write cycle
        __builtin_disi(0);
        // конец

может есть еще какие то установки?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 23:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01913 секунд с 7
ELECTRONIX ©2004-2016