Jump to content

    
Sign in to follow this  
Newegor

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

Recommended Posts

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this