Jump to content

    

Установка Option Bytes v850

При переходе на последний 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;

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

Edited by Newegor

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this