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

 
 
> Запись во внутреннюю flash ADuC7060
Croman13n3c
сообщение May 4 2011, 00:13
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 1-02-11
Пользователь №: 62 630



Пытаюсь записать во flash контроллера

Код
void Write2Flash (void)
{
unsigned short i=0;
unsigned short *tempd= (unsigned short*)&uCalibrate; //указатель на структуру данных
unsigned short data;
unsigned short     AppStartAddr =0x7400; //адресс начала данных во flash


for(i = AppStartAddr; i < 0x7800; i += 0x200)   //очистим 2 блока по 512 байт
    {
    FEEMOD =0x0108;//разрешить запись
    FEEADR = AppStartAddr;                 // set data address
    FEECON = 0x05;                         // erase page command
    while (!(FEESTA & 0x03)){ }
    }

for(i=0;i<(sizeof(struct CalibrateStruct));i+=2)
            {
            data = (*(tempd+i));
             FEEMOD = 0x0108;                     //разрешить запись
            FEEADR = AppStartAddr;        // set data address
            FEEDAT = data;                // set data value (16 bit register)
            FEECON = 0x02;            // single Write command
            while (!(FEESTA&0x03)){ }
                
            AppStartAddr += 1;                
            }
}


И считать при старте:

Код
void ReadFlash (void)
{

unsigned short i=0;
unsigned short *tempd= (unsigned short*)&uCalibrate;
unsigned short     AppStartAddr =0x7400;

for(i=0;i<(sizeof(struct CalibrateStruct));i+=2)
            {
                FEEMOD = 0x0100;
                FEEADR = AppStartAddr;  
                FEECON = 0x01;              //Single Read
                *(tempd+i)=FEEDAT;
                 AppStartAddr += 2;                                
            }

}


В результате имеем чистую структуру (что совсем не то, что ожидалось), или считаны/записаны (проверить не могу из-за отсутствия jtag ) только первые 2 байта.

Собственно вопрос - как писать и читать с флэша ?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 11:29
Рейтинг@Mail.ru


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