Ignore:
Timestamp:
Feb 2, 2016, 9:54:35 PM (8 years ago)
Author:
coas-nagasima
Message:

SDカードの中身を/~/でアクセスできるよう変更

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uKadecot/trunk/ssp/arch/rx630_ccrx/prc_sil.h

    r108 r154  
    4343#define TOPPERS_PRC_SIL_H
    4444
     45#define TOPPERS_OMIT_SIL_ACCESS
    4546
    4647#ifndef TOPPERS_MACRO_ONLY
     
    106107 *  プロセッサのエンディアン
    107108 */
     109#ifdef __LIT
    108110#define SIL_ENDIAN_LITTLE                       /* リトルエンディアン */
    109 
     111#endif
     112#ifdef __BIG
     113#define SIL_ENDIAN_BIG                          /* ビッグエンディアン */
     114#endif
     115
     116
     117/*
     118 *  8ビット単位の読出し/書込み
     119 */
     120#ifdef UINT8_MAX
     121
     122#pragma inline(sil_reb_mem)
     123static uint8_t
     124sil_reb_mem(const volatile uint8_t __evenaccess *mem)
     125{
     126        uint8_t data;
     127
     128        data = *mem;
     129        return(data);
     130}
     131
     132#pragma inline(sil_wrb_mem)
     133static void
     134sil_wrb_mem(volatile uint8_t __evenaccess *mem, uint8_t data)
     135{
     136        *mem = data;
     137}
     138
     139#endif /* UINT8_MAX */
     140
     141/*
     142 *  16ビット単位の読出し/書込み
     143 */
     144
     145#pragma inline(sil_reh_mem)
     146static uint16_t
     147sil_reh_mem(const volatile uint16_t __evenaccess *mem)
     148{
     149        uint16_t        data;
     150
     151        data = *mem;
     152        return(data);
     153}
     154
     155#pragma inline(sil_wrh_mem)
     156static void
     157sil_wrh_mem(volatile uint16_t __evenaccess *mem, uint16_t data)
     158{
     159        *mem = data;
     160}
     161
     162#ifdef SIL_ENDIAN_BIG                   /* ビッグエンディアンプロセッサ */
     163
     164#define sil_reh_bem(mem)                sil_reh_mem(mem)
     165#define sil_wrh_bem(mem, data)  sil_wrh_mem(mem, data)
     166
     167#ifndef TOPPERS_OMIT_SIL_REH_LEM
     168
     169#pragma inline(sil_reh_lem)
     170static uint16_t
     171sil_reh_lem(const volatile uint16_t __evenaccess *mem)
     172{
     173        uint16_t        data;
     174
     175        data = *mem;
     176        return(TOPPERS_SIL_REV_ENDIAN_UINT16(data));
     177}
     178
     179#endif /* TOPPERS_OMIT_SIL_REH_LEM */
     180#ifndef TOPPERS_OMIT_SIL_WRH_LEM
     181
     182#pragma inline(sil_wrh_lem)
     183static void
     184sil_wrh_lem(volatile uint16_t __evenaccess *mem, uint16_t data)
     185{
     186        *mem = TOPPERS_SIL_REV_ENDIAN_UINT16(data);
     187}
     188
     189#endif /* TOPPERS_OMIT_SIL_WRH_LEM */
     190#else /* SIL_ENDIAN_BIG */
     191#ifdef SIL_ENDIAN_LITTLE                /* リトルエンディアンプロセッサ */
     192
     193#define sil_reh_lem(mem)                sil_reh_mem(mem)
     194#define sil_wrh_lem(mem, data)  sil_wrh_mem(mem, data)
     195
     196#ifndef TOPPERS_OMIT_SIL_REH_BEM
     197
     198#pragma inline(sil_reh_bem)
     199static uint16_t
     200sil_reh_bem(const volatile uint16_t __evenaccess *mem)
     201{
     202        uint16_t        data;
     203
     204        data = *mem;
     205        return(TOPPERS_SIL_REV_ENDIAN_UINT16(data));
     206}
     207
     208#endif /* TOPPERS_OMIT_SIL_REH_BEM */
     209#ifndef TOPPERS_OMIT_SIL_WRH_BEM
     210
     211#pragma inline(sil_wrh_bem)
     212static void
     213sil_wrh_bem(volatile uint16_t __evenaccess *mem, uint16_t data)
     214{
     215        *mem = TOPPERS_SIL_REV_ENDIAN_UINT16(data);
     216}
     217
     218#endif /* TOPPERS_OMIT_SIL_WRH_BEM */
     219#else /* SIL_ENDIAN_LITTLE */
     220
     221#error Neither SIL_ENDIAN_BIG nor SIL_ENDIAN_LITTLE is defined.
     222
     223#endif /* SIL_ENDIAN_LITTLE */
     224#endif /* SIL_ENDIAN_BIG */
     225
     226/*
     227 *  32ビット単位の読出し/書込み
     228 */
     229
     230#pragma inline(sil_rew_mem)
     231static uint32_t
     232sil_rew_mem(const volatile uint32_t __evenaccess *mem)
     233{
     234        uint32_t        data;
     235
     236        data = *mem;
     237        return(data);
     238}
     239
     240#pragma inline(sil_wrw_mem)
     241static void
     242sil_wrw_mem(volatile uint32_t __evenaccess *mem, uint32_t data)
     243{
     244        *mem = data;
     245}
     246
     247#ifdef SIL_ENDIAN_BIG                   /* ビッグエンディアンプロセッサ */
     248
     249#define sil_rew_bem(mem)                sil_rew_mem(mem)
     250#define sil_wrw_bem(mem, data)  sil_wrw_mem(mem, data)
     251
     252#ifndef TOPPERS_OMIT_SIL_REW_LEM
     253
     254#pragma inline(sil_rew_lem)
     255static uint32_t
     256sil_rew_lem(const volatile uint32_t __evenaccess *mem)
     257{
     258        uint32_t        data;
     259
     260        data = *mem;
     261        return(TOPPERS_SIL_REV_ENDIAN_UINT32(data));
     262}
     263
     264#endif /* TOPPERS_OMIT_SIL_REW_LEM */
     265#ifndef TOPPERS_OMIT_SIL_WRW_LEM
     266
     267#pragma inline(sil_wrw_lem)
     268static void
     269sil_wrw_lem(volatile uint32_t __evenaccess *mem, uint32_t data)
     270{
     271        *mem = TOPPERS_SIL_REV_ENDIAN_UINT32(data);
     272}
     273
     274#endif /* TOPPERS_OMIT_SIL_WRW_LEM */
     275#else /* SIL_ENDIAN_BIG */              /* リトルエンディアンプロセッサ */
     276
     277#define sil_rew_lem(mem)                sil_rew_mem(mem)
     278#define sil_wrw_lem(mem, data)  sil_wrw_mem(mem, data)
     279
     280#ifndef TOPPERS_OMIT_SIL_REW_BEM
     281
     282#pragma inline(sil_rew_bem)
     283static uint32_t
     284sil_rew_bem(const volatile uint32_t __evenaccess *mem)
     285{
     286        uint32_t        data;
     287
     288        data = *mem;
     289        return(TOPPERS_SIL_REV_ENDIAN_UINT32(data));
     290}
     291
     292#endif /* TOPPERS_OMIT_SIL_REW_BEM */
     293#ifndef TOPPERS_OMIT_SIL_WRW_BEM
     294
     295#pragma inline(sil_wrw_bem)
     296static void
     297sil_wrw_bem(volatile uint32_t __evenaccess *mem, uint32_t data)
     298{
     299        *mem = TOPPERS_SIL_REV_ENDIAN_UINT32(data);
     300}
     301
     302#endif /* TOPPERS_OMIT_SIL_WRW_BEM */
     303#endif /* SIL_ENDIAN_BIG */
    110304
    111305#endif /* TOPPERS_PRC_SIL_H */
Note: See TracChangeset for help on using the changeset viewer.