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

 
 
> Переезд из CVAVR в Atmel Studio, Xmega, пара нюансов
ffs2001
сообщение May 25 2016, 19:57
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 3-12-14
Пользователь №: 83 971



Коллеги, может, кто сталкивался,

перевожу проект из CVAVR в Atmel Studio 7.
Код проверенный и 100% рабочий.

В Studio заработало, но с нюансами:

код, нормально выполняющийся в CVAVR:
(читаем уникальный код Атмеги, SP-драйвер родной Атмелевский)
Код
    uint8_t i;
    uint8_t addr[11] ={0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x10,0x12,0x13,0x14,0x15};      
    for (i=0; i<11; i++){
        
        SP_WaitForSPM();        
        int2hexstr(SP_ReadCalibrationByte(addr[i]),guid,i*2);
    }


код, работающий в Studio
Код
    uint8_t i;
    uint8_t addr[11] ={0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x10,0x12,0x13,0x14,0x15};
    
    [b]_delay_ms(2);[/b]      
    for (i=0; i<11; i++){
        
        SP_WaitForSPM();        
        int2hexstr(SP_ReadCalibrationByte(addr[i]),guid,i*2);
        [b]_delay_ms(2);[/b]
    }

Без делея выдаёт фуфло. На что ему делей?


И ещё непонятный момент.
Работа начинается с bootloader'а, в некоторый момент происходит jump 0x00. Иногда в application section пусто (так задумано), и контроллер "по нолям" снова приходит в бутлоадер.

Код
void jump_to_0(){
            
    CCP = CCP_IOREG_gc;
    PMIC.CTRL = 0;

    asm volatile("jmp 0x00");
}

После CVAVR всё происходит без проблем, а после Студии – начинает глючить USART, например.
Правильно ли я понимаю, что в Студии нужно делать что-то вроде pmic_set_vector_location(PMIC_VEC_APPLICATION) перед jump 0x00 и, соответственно, принудительный перевод векторов на бутлодер в начале бутлодера?

Сообщение отредактировал ffs2001 - May 26 2016, 08:30
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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