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

 
 
> Курьезная ошибка в стандартной программе BOARD_GetRemap от Атмеля :), В пакете для AT91SAM7S-EK
Dir
сообщение Apr 3 2011, 14:06
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 201
Регистрация: 6-01-05
Пользователь №: 1 830



При разборе чужих полетов обнаружил курьезную ошибку в стандартной программе определения наличия ремапа (для AT91SAM7S-EK). Вот она

Код
static unsigned char BOARD_GetRemap( void )
{
    unsigned int *remap = (unsigned int *) 0;
    unsigned int *ram = (unsigned int *) AT91C_ISRAM;
    // Try to write in 0 and see if this affects the RAM
    unsigned int temp = *ram;
    *ram = temp + 1;
    if (*remap == *ram) {
        *ram = temp;
        return BOARD_RAM;
    }
    else {
        *ram = temp;
        return BOARD_FLASH;
    }
}


При определении ремапа пишут не в *remap, а в *ram. Таким образом есть существенная вероятность неправильной работы. Плата периодически вела себя странно при старте, но никак не предполагали, что именно поэтому. Проверьте, пожалуйста, ничего я не напутал? Ведь тысячи же, наверное, людей пользовались этим пакетом. Неужели крохотная програмка так и осталась до сих пор неисправленной? По крайней мере с IAR EWB 6.10 она идет в комплекте.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 20:41
Рейтинг@Mail.ru


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