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

 
 
> Установка Option Bytes v850
Newegor
сообщение Dec 15 2010, 18:05
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 2-03-06
Из: Минск
Пользователь №: 14 879



При переходе на последний IAR для NEC v850 столкнулся с проблемой установки байт конфигурации контроллера. До этого это делал в ассемблерном файле вот так:

Код
#include "config.h"


        ASEG
        NAME    RSU
        COMMON    INTVEC:CODE:ROOT(4)

        ORG    0x70

        PUBLIC    IDCODE
        PUBLIC    MASK_OPTIONS

IDCODE:    DB    IDCODE_BYTE1_CONFIG
        DB    IDCODE_BYTE2_CONFIG
        DB    IDCODE_BYTE3_CONFIG
        DB    IDCODE_BYTE4_CONFIG
        DB    IDCODE_BYTE5_CONFIG
        DB    IDCODE_BYTE6_CONFIG
        DB    IDCODE_BYTE7_CONFIG
        DB    IDCODE_BYTE8_CONFIG
        DB    IDCODE_BYTE9_CONFIG
        DB    IDCODE_BYTE10_CONFIG
        
MASK_OPTIONS:    DB    MASK_OPTIONS_CONFIG1
                DB    MASK_OPTIONS_CONFIG2

        END

Но в последней версии IAR что-то подправили в компиляторе ассемблера и он перестал воспринимать длинные строки на русском. Такие строки с комментариями находятся в файле config.h, который и подключается.
Попробовал устанавливать из C кода:
Код
//ID Code:

__root const unsigned char IDC1 @ 0x00000070 = IDCODE_BYTE1_CONFIG;
__root const unsigned char IDC2 @ 0x00000071 = IDCODE_BYTE2_CONFIG;
__root const unsigned char IDC3 @ 0x00000072 = IDCODE_BYTE3_CONFIG;
__root const unsigned char IDC4 @ 0x00000073 = IDCODE_BYTE4_CONFIG;
__root const unsigned char IDC5 @ 0x00000074 = IDCODE_BYTE5_CONFIG;
__root const unsigned char IDC6 @ 0x00000075 = IDCODE_BYTE6_CONFIG;
__root const unsigned char IDC7 @ 0x00000076 = IDCODE_BYTE7_CONFIG;
__root const unsigned char IDC8 @ 0x00000077 = IDCODE_BYTE8_CONFIG;
__root const unsigned char IDC9 @ 0x00000078 = IDCODE_BYTE9_CONFIG;
__root const unsigned char IDC10 @ 0x00000079 = IDCODE_BYTE10_CONFIG;

//Mask Options:
__root const unsigned char OB_7A @ 0x0000007A = MASK_OPTIONS_CONFIG1;
__root const unsigned char OB_7B @ 0x0000007B = MASK_OPTIONS_CONFIG2;

Но в этом случает что-то проходит не так. Не работаю прерывания таймера да и вообще, система ведет себя неадекватно. Смотрел дебагером память, константы лежат в нужном месте. Кто-нибудь сталкивался с такой проблемой?

Сообщение отредактировал Newegor - Dec 15 2010, 18:06
Go to the top of the page
 
+Quote Post

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


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

 


RSS Текстовая версия Сейчас: 25th June 2025 - 17:15
Рейтинг@Mail.ru


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