RX130のFITのBSPで必ずサブクロック発振安定時間待ち(always wait sub-clock oscillation stabilization time ≒ 1.3sec)しているのは妥当なのかな?

こんにちは。NoMaYです。

別スレッドでTBボードのサンプルプログラムの動作確認をしていた時、RX65N/RX231と比べ、RX130ではリセットスイッチから指を離した後の最初のLEDの点灯が妙に遅いことに気付きました。調べてみると、FITのBSPで必ずサブクロック発振安定時間待ちしている(以下のソースの赤文字箇所 ≒ 1.3sec)ことに気付きましたが、これは何かおかしい気がするのですが、、、(ちなみに、TBボードではスルーホールがあるだけでサブクロックの水晶振動子は実装されていないです、、、)

an-r01an4659jj0118-rx-fit\FITModules\r_bsp_v3.91\r_bsp\board\generic_rx130\r_bsp_config_reference.h

/* System clock source select (CKSEL).
   0 = Low Speed On-Chip Oscillator  (LOCO)
   1 = High Speed On-Chip Oscillator (HOCO)
   2 = Main Clock Oscillator  
   3 = Sub-Clock Oscillator
   4 = PLL Circuit
*/
#define BSP_CFG_CLOCK_SOURCE            略
/* LPT (Low Power Timer) Clock source select (LPTCR1.LPCNTCKSEL)
   0 = Sub-clock
   1 = IWDT
   2 = LPT non use
*/
#define BSP_CFG_LPT_CLOCK_SOURCE        略

an-r01an4659jj0118-rx-fit\FITModules\r_bsp_v3.91\r_bsp\board\generic_rx130\resetprg.c

static void clock_source_select (void)
{
...略...

#if (BSP_CFG_CLOCK_SOURCE == 3) || (BSP_CFG_LPT_CLOCK_SOURCE == 0)

    SYSTEM.SOSCCR.BYTE = 0x01;      /* Make sure sub-clock is initially stopped */
    /* WAIT_LOOP */
    while (SYSTEM.SOSCCR.BYTE != 0x01)
    {
        /* wait for bit to change */
    }

    RTC.RCR3.BIT.RTCEN = 0;         /* Also set the RTC Sub-Clock disable */
    /* WAIT_LOOP */
    while (RTC.RCR3.BIT.RTCEN != 0)
    {
        /* wait for bit to change */
    }

    /* wait for 5 sub-clock cycles (153us): measurement result is approx. 176us */
    R_BSP_SoftwareDelay(176, BSP_DELAY_MICROSECS);    /* 153us * 4.56 / 4.00 (LOCO max) */

    RTC.RCR3.BIT.RTCDV = 0x01;      /* Init the Sub-Clock Oscillator Drive Capacity = Low CL */
    /* WAIT_LOOP */
    while (RTC.RCR3.BIT.RTCDV != 0x01)
    {
        /* wait for bits to change */
    }

    SYSTEM.SOSCCR.BYTE = 0x00;      /* Start sub-clock */
    /* WAIT_LOOP */
    while (SYSTEM.SOSCCR.BYTE != 0x00)
    {
        /* wait for bit to change */
    }


    /* Wait for the oscillation stabilization time of the sub-clock. (1.3 seconds.)*/
    R_BSP_SoftwareDelay(1482, BSP_DELAY_MILLISECS);    /* 1.3s * 4.56 / 4.00 (LOCO max) */


    RTC.RCR3.BIT.RTCEN = 0x01;      /* Also set the RTC Sub-Clock enable */
    /* WAIT_LOOP */
    while (RTC.RCR3.BIT.RTCEN != 0x01)
    {
        /* wait for bit to change */
    }
#else

    /* Wait for the oscillation stabilization time of the sub-clock. (1.3 seconds.)*/
    R_BSP_SoftwareDelay(1482, BSP_DELAY_MILLISECS);    /* 1.3s * 4.56 / 4.00 (LOCO max) */

    /* Set the sub-clock to stopped. */
    SYSTEM.SOSCCR.BYTE = 0x01;
    /* WAIT_LOOP */
    while (0x01 != SYSTEM.SOSCCR.BYTE)
    {
        /* Confirm that the written value can be read correctly. */
    }

    /* Set the sub-clock to stopped. */
    RTC.RCR3.BIT.RTCEN = 0;

    /* dummy read three times */
    /* WAIT_LOOP */
    for (i = 0; i < 3; i++)
    {
        dummy = RTC.RCR3.BIT.RTCEN;
    }

    /* WAIT_LOOP */
    while (0 != RTC.RCR3.BIT.RTCEN)
    {
        /* Confirm that the written */
    }

#endif

...略...
}

 

Parents
  • シェルティさん、こんにちは。NoMaYです。

    以下の件、リプライどうも有難う御座いました。また他にも何か気づいたことがあったら投稿します。

    > 本件ですが、BSP開発者もこのスレッドを見ていて既知の問題だと言っておりました。
    > 7月頃に次版のBSPを出す予定ですが、そのコードで修正済みとも言ってました。

    ちなみに、ものは試しでFITのBSPのソースを"sub-clock"でgrepしたところ以下の通りだったのですが、この結果とにらめっこしている内に、ああっ、RX130はRX230/RX231と一緒かな、と思いました。そこで#if~#elseの間を比較してみたら双方は等価なコードであることが分かりましたので、#else~#endifの間は以下のコードだけになりそうですね、、、

    #else

        /* Set the sub-clock to stopped. */
        SYSTEM.SOSCCR.BYTE = 0x01;

    #endif

    以下、FITのBSPのソースを"sub-clock"でgrepした結果です。

    6507.rx130_fit_bsp_not_subclock_1.txt
    generic_rx110\resetprg.c(396):     /* Sub-clock oscillator is chosen. Start it operating. */
    generic_rx110\resetprg.c(398):     /* Set the sub-clock to operating. */
    generic_rx110\resetprg.c(405):     /* There is not an oscillation stabilization flag for the sub-clock so a software delay is used.
    generic_rx110\resetprg.c(406):        The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX111's
    generic_rx110\resetprg.c(416):     /* Set the sub-clock to stopped. */
    generic_rx110\resetprg.c(553):     /* Sub-clock oscillator is chosen. Start it operating. */
    generic_rx110\resetprg.c(557):     /* Set the sub-clock to stopped. */
    generic_rx110\r_bsp_config_reference.h(208):    3 = Sub-Clock Oscillator
    
    generic_rx111\resetprg.c(412):     /* Sub-clock oscillator is chosen. Start it operating. */
    generic_rx111\resetprg.c(414):     /* Set the sub-clock to operating. */
    generic_rx111\resetprg.c(421):     /* There is not an oscillation stabilization flag for the sub-clock so a software delay is used.
    generic_rx111\resetprg.c(422):        The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX111's
    generic_rx111\resetprg.c(432):     /* Set the sub-clock to stopped. */
    generic_rx111\resetprg.c(607):     /* Sub-clock oscillator is chosen. Start it operating. */
    generic_rx111\resetprg.c(611):     /* Set the sub-clock to stopped. */
    generic_rx111\r_bsp_config_reference.h(228):    3 = Sub-Clock Oscillator
    
    generic_rx113\resetprg.c(405):     /* Sub-clock oscillator is chosen. Start it operating. */
    generic_rx113\resetprg.c(407):     /* Set the sub-clock to operating. */
    generic_rx113\resetprg.c(414):     /* There is not an oscillation stabilization flag for the sub-clock so a software delay is used.
    generic_rx113\resetprg.c(415):        The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX111's
    generic_rx113\resetprg.c(425):     /* Set the sub-clock to stopped. */
    generic_rx113\resetprg.c(696):     /* Sub-clock oscillator is chosen. Start it operating. */
    generic_rx113\resetprg.c(700):     /* Set the sub-clock to stopped. */
    generic_rx113\r_bsp_config_reference.h(204):    3 = Sub-Clock Oscillator
    generic_rx113\r_bsp_config_reference.h(219):    3 = Sub-Clock Oscillator
    
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    generic_rx130\resetprg.c(32): *                               Changed the method of Wait for at least five cycles (about 153 μs) of the sub-clock.
    generic_rx130\resetprg.c(69): /* When the system clock is the sub-clock, warning will occur but there is no problem.
    generic_rx130\resetprg.c(434):     SYSTEM.SOSCCR.BYTE = 0x01;      /* Make sure sub-clock is initially stopped */
    generic_rx130\resetprg.c(441):     RTC.RCR3.BIT.RTCEN = 0;         /* Also set the RTC Sub-Clock disable */
    generic_rx130\resetprg.c(448):     /* wait for 5 sub-clock cycles (153us): measurement result is approx. 176us */
    generic_rx130\resetprg.c(451):     RTC.RCR3.BIT.RTCDV = 0x01;      /* Init the Sub-Clock Oscillator Drive Capacity = Low CL */
    generic_rx130\resetprg.c(458):     SYSTEM.SOSCCR.BYTE = 0x00;      /* Start sub-clock */
    generic_rx130\resetprg.c(466):     /* Wait for the oscillation stabilization time of the sub-clock. (1.3 seconds.)*/
    generic_rx130\resetprg.c(470):     RTC.RCR3.BIT.RTCEN = 0x01;      /* Also set the RTC Sub-Clock enable */
    generic_rx130\resetprg.c(478):     /* Wait for the oscillation stabilization time of the sub-clock. (1.3 seconds.)*/
    generic_rx130\resetprg.c(481):     /* Set the sub-clock to stopped. */
    generic_rx130\resetprg.c(489):     /* Set the sub-clock to stopped. */
    generic_rx130\resetprg.c(594):     /* Sub-clock or None is chosen. */
    generic_rx130\resetprg.c(595):     /* sub-clock oscillator already initialized in clock_source_select() */
    generic_rx130\r_bsp_config_reference.h(197):    3 = Sub-Clock Oscillator
    generic_rx130\r_bsp_config_reference.h(209):    0 = Sub-clock
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    generic_rx230\resetprg.c(64): /* When the system clock is the sub-clock, warning will occur but there is no problem.
    generic_rx230\resetprg.c(508):     SYSTEM.SOSCCR.BYTE = 0x01;      // Make sure sub-clock is initially stopped
    generic_rx230\resetprg.c(515):     RTC.RCR3.BIT.RTCEN = 0;         // Also set the RTC Sub-Clock disable
    generic_rx230\resetprg.c(528):     RTC.RCR3.BIT.RTCDV = 0x01;      // Init the Sub-Clock Oscillator Drive Capacity = Low CL
    generic_rx230\resetprg.c(535):     SYSTEM.SOSCCR.BYTE = 0x00;      // Start sub-clock
    generic_rx230\resetprg.c(544):     RTC.RCR3.BIT.RTCEN = 0x01;      // Also set the RTC Sub-Clock enable
    generic_rx230\resetprg.c(551):     /* Set the sub-clock to stopped. */
    generic_rx230\resetprg.c(611):     /* Sub-clock is chosen. */
    generic_rx230\resetprg.c(612):     /* sub-clock oscillator already initialized in clock_source_select() or cgc_clock_config() */
    generic_rx230\r_bsp_config_reference.h(202):    3 = Sub-Clock Oscillator
    generic_rx230\r_bsp_config_reference.h(208):    0 = Sub-clock
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    generic_rx231\resetprg.c(65): /* When the system clock is the sub-clock, warning will occur but there is no problem.
    generic_rx231\resetprg.c(510):     SYSTEM.SOSCCR.BYTE = 0x01;      // Make sure sub-clock is initially stopped
    generic_rx231\resetprg.c(517):     RTC.RCR3.BIT.RTCEN = 0;         // Also set the RTC Sub-Clock disable
    generic_rx231\resetprg.c(530):     RTC.RCR3.BIT.RTCDV = 0x01;      // Init the Sub-Clock Oscillator Drive Capacity = Low CL
    generic_rx231\resetprg.c(537):     SYSTEM.SOSCCR.BYTE = 0x00;      // Start sub-clock
    generic_rx231\resetprg.c(546):     RTC.RCR3.BIT.RTCEN = 0x01;      // Also set the RTC Sub-Clock enable
    generic_rx231\resetprg.c(553):     /* Set the sub-clock to stopped. */
    generic_rx231\resetprg.c(650):     /* Sub-clock is chosen. */
    generic_rx231\resetprg.c(651):     /* sub-clock oscillator already initialized in clock_source_select() or cgc_clock_config() */
    generic_rx231\r_bsp_config_reference.h(221):    3 = Sub-Clock Oscillator
    generic_rx231\r_bsp_config_reference.h(233):    0 = Sub-clock
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    
    generic_rx23t\r_bsp_config_reference.h(199):    3 = Sub-Clock Oscillator                   (N/A for RX23T)
    
    generic_rx24t\r_bsp_config_reference.h(200):    3 = Sub-Clock Oscillator                   (N/A for RX24T)
    
    generic_rx24u\r_bsp_config_reference.h(187):    3 = Sub-Clock Oscillator                   (N/A for RX24U)
    
    generic_rx64m\resetprg.c(34): *                                - Sub-Clock Oscillator Wait Control Register (SOSCWTCR)
    generic_rx64m\resetprg.c(37): *                               Changed the sub-clock oscillator settings.
    generic_rx64m\resetprg.c(616):     /* Sub-clock setting. */
    generic_rx64m\resetprg.c(621):         /* Stop the sub-clock oscillator */
    generic_rx64m\resetprg.c(624):         b0       RCKSEL   - Count Source Select - Sub-clock oscillator is selected. */
    generic_rx64m\resetprg.c(642):         b3:b1    RTCDV    - Sub-clock oscillator Drive Ability Control.
    generic_rx64m\resetprg.c(643):         b0       RTCEN    - Sub-clock oscillator is stopped. */
    generic_rx64m\resetprg.c(659):         /* SOSCCR - Sub-Clock Oscillator Control Register
    generic_rx64m\resetprg.c(661):         b0       SOSTP    - Sub-clock oscillator Stop - Sub-clock oscillator is stopped. */
    generic_rx64m\resetprg.c(675):             /* The delay period needed is to make sure that the sub-clock has stopped. */
    generic_rx64m\resetprg.c(679):         /* Set the drive capacity of the sub-clock oscillator */
    generic_rx64m\resetprg.c(703):         /* Set wait time until the sub-clock oscillator stabilizes */
    generic_rx64m\resetprg.c(704):         /* SOSCWTCR - Sub-Clock Oscillator Wait Control Register
    generic_rx64m\resetprg.c(706):         b4:b0    SSTS - Sub-Clock Oscillator Waiting Time - Waiting time is 2.044ms(the maximum value of fLOCO). */
    generic_rx64m\resetprg.c(709):         /* Operate the Sub-clock oscillator */
    generic_rx64m\resetprg.c(723):             /* The delay period needed is to make sure that the sub-clock  has stabilized. */
    generic_rx64m\resetprg.c(728):         /* ---- Set wait time until the sub-clock oscillator stabilizes ---- */
    generic_rx64m\resetprg.c(731):         /* ---- Operate the sub-clock oscillator ---- */
    generic_rx64m\resetprg.c(749):         /* Wait for six the sub-clock cycles */
    generic_rx64m\resetprg.c(750):         /* 6 count of sub-clock : (1000000/32768)*6=183.10546875us
    generic_rx64m\resetprg.c(794):         /* Wait for one the sub-clock cycles */
    generic_rx64m\resetprg.c(795):         /* 1 count of sub-clock : (1000000/32768)=30.517578125us
    generic_rx64m\resetprg.c(811):         /* SOSCCR - Sub-Clock Oscillator Control Register
    generic_rx64m\resetprg.c(813):         b0       SOSTP    - Sub-clock oscillator Stop - Sub-clock oscillator is stopped. */
    generic_rx64m\resetprg.c(832):         /* Set wait time until the sub-clock oscillator stabilizes */
    generic_rx64m\resetprg.c(833):         /* SOSCWTCR - Sub-Clock Oscillator Wait Control Register
    generic_rx64m\resetprg.c(835):         b4:b0    SSTS - Sub-Clock Oscillator Waiting Time - Waiting time is 2.044ms(the maximum value of fLOCO). */
    generic_rx64m\resetprg.c(838):         /* Operate the Sub-clock oscillator */
    generic_rx64m\resetprg.c(854):             /* The delay period needed is to make sure that the sub-clock  has stabilized. */
    generic_rx64m\resetprg.c(859):         /* ---- Set wait time until the sub-clock oscillator stabilizes ---- */
    generic_rx64m\r_bsp_config_reference.h(247):    3 = Sub-Clock Oscillator
    generic_rx64m\r_bsp_config_reference.h(252): /* The sub-clock oscillation control for using the RTC.
    generic_rx64m\r_bsp_config_reference.h(253):    When '1' is selected, the registers related to RTC are initialized and the sub-clock oscillator is operated.
    generic_rx64m\r_bsp_config_reference.h(259): /* Sub-Clock Oscillator Drive Capacity Control (RTCDV).
    generic_rx64m\r_bsp_config_reference.h(391): /* Sub-Clock Oscillator Wait Time (SOSCWTCR).
    generic_rx64m\r_bsp_config_reference.h(393):    by the sub-clock oscillator is obtained by using the maximum frequency for fLOCO in the formula below.
    generic_rx64m\r_bsp_config_reference.h(396):    (tSUBOSC: sub-clock oscillation stabilization time; fLOCO_max: maximum frequency for fLOCO)
    
    generic_rx65n\resetprg.c(32): *                                Changed the sub-clock oscillator settings.
    generic_rx65n\resetprg.c(633):     /* Sub-clock setting. */
    generic_rx65n\resetprg.c(638):         /* Stop the sub-clock oscillator */
    generic_rx65n\resetprg.c(641):         b0       RCKSEL   - Count Source Select - Sub-clock oscillator is selected. */
    generic_rx65n\resetprg.c(659):         b3:b1    RTCDV    - Sub-clock oscillator Drive Ability Control.
    generic_rx65n\resetprg.c(660):         b0       RTCEN    - Sub-clock oscillator is stopped. */
    generic_rx65n\resetprg.c(676):         /* SOSCCR - Sub-Clock Oscillator Control Register
    generic_rx65n\resetprg.c(678):         b0       SOSTP    - Sub-clock oscillator Stop - Sub-clock oscillator is stopped. */
    generic_rx65n\resetprg.c(692):             /* The delay period needed is to make sure that the sub-clock has stopped. */
    generic_rx65n\resetprg.c(696):         /* Set the drive capacity of the sub-clock oscillator */
    generic_rx65n\resetprg.c(720):         /* Set wait time until the sub-clock oscillator stabilizes */
    generic_rx65n\resetprg.c(721):         /* SOSCWTCR - Sub-Clock Oscillator Wait Control Register
    generic_rx65n\resetprg.c(723):         b4:b0    SSTS - Sub-Clock Oscillator Waiting Time - Waiting time is 2.044ms(the maximum value of fLOCO). */
    generic_rx65n\resetprg.c(726):         /* Operate the Sub-clock oscillator */
    generic_rx65n\resetprg.c(740):             /* The delay period needed is to make sure that the sub-clock  has stabilized. */
    generic_rx65n\resetprg.c(745):         /* ---- Set wait time until the sub-clock oscillator stabilizes ---- */
    generic_rx65n\resetprg.c(748):         /* ---- Operate the sub-clock oscillator ---- */
    generic_rx65n\resetprg.c(766):         /* Wait for six the sub-clock cycles */
    generic_rx65n\resetprg.c(767):         /* 6 count of sub-clock : (1000000/32768)*6=183.10546875us
    generic_rx65n\resetprg.c(811):         /* Wait for one the sub-clock cycles */
    generic_rx65n\resetprg.c(812):         /* 1 count of sub-clock : (1000000/32768)=30.517578125us
    generic_rx65n\resetprg.c(828):         /* SOSCCR - Sub-Clock Oscillator Control Register
    generic_rx65n\resetprg.c(830):         b0       SOSTP    - Sub-clock oscillator Stop - Sub-clock oscillator is stopped. */
    generic_rx65n\resetprg.c(849):         /* Set wait time until the sub-clock oscillator stabilizes */
    generic_rx65n\resetprg.c(850):         /* SOSCWTCR - Sub-Clock Oscillator Wait Control Register
    generic_rx65n\resetprg.c(852):         b4:b0    SSTS - Sub-Clock Oscillator Waiting Time - Waiting time is 2.044ms(the maximum value of fLOCO). */
    generic_rx65n\resetprg.c(855):         /* Operate the Sub-clock oscillator */
    generic_rx65n\resetprg.c(871):             /* The delay period needed is to make sure that the sub-clock  has stabilized. */
    generic_rx65n\resetprg.c(876):         /* ---- Set wait time until the sub-clock oscillator stabilizes ---- */
    generic_rx65n\r_bsp_config_reference.h(217):    3 = Sub-Clock Oscillator
    generic_rx65n\r_bsp_config_reference.h(228): /* The sub-clock oscillation control for using the RTC.
    generic_rx65n\r_bsp_config_reference.h(229):    When '1' is selected, the registers related to RTC are initialized and the sub-clock oscillator is operated.
    generic_rx65n\r_bsp_config_reference.h(235): /* Sub-Clock Oscillator Drive Capacity Control (RTCDV).
    generic_rx65n\r_bsp_config_reference.h(361): /* Sub-Clock Oscillator Wait Time (SOSCWTCR).
    generic_rx65n\r_bsp_config_reference.h(363):    by the sub-clock oscillator is obtained by using the maximum frequency for fLOCO in the formula below.
    generic_rx65n\r_bsp_config_reference.h(366):    (tSUBOSC: sub-clock oscillation stabilization time; fLOCO_max: maximum frequency for fLOCO)
    
    generic_rx71m\resetprg.c(34): *                                - Sub-Clock Oscillator Wait Control Register (SOSCWTCR)
    generic_rx71m\resetprg.c(37): *                               Changed the sub-clock oscillator settings.
    generic_rx71m\resetprg.c(620):     /* Sub-clock setting. */
    generic_rx71m\resetprg.c(625):         /* Stop the sub-clock oscillator */
    generic_rx71m\resetprg.c(628):         b0       RCKSEL   - Count Source Select - Sub-clock oscillator is selected. */
    generic_rx71m\resetprg.c(646):         b3:b1    RTCDV    - Sub-clock oscillator Drive Ability Control.
    generic_rx71m\resetprg.c(647):         b0       RTCEN    - Sub-clock oscillator is stopped. */
    generic_rx71m\resetprg.c(663):         /* SOSCCR - Sub-Clock Oscillator Control Register
    generic_rx71m\resetprg.c(665):         b0       SOSTP    - Sub-clock oscillator Stop - Sub-clock oscillator is stopped. */
    generic_rx71m\resetprg.c(679):             /* The delay period needed is to make sure that the sub-clock has stopped. */
    generic_rx71m\resetprg.c(683):         /* Set the drive capacity of the sub-clock oscillator */
    generic_rx71m\resetprg.c(707):         /* Set wait time until the sub-clock oscillator stabilizes */
    generic_rx71m\resetprg.c(708):         /* SOSCWTCR - Sub-Clock Oscillator Wait Control Register
    generic_rx71m\resetprg.c(710):         b4:b0    SSTS - Sub-Clock Oscillator Waiting Time - Waiting time is 2.044ms(the maximum value of fLOCO). */
    generic_rx71m\resetprg.c(713):         /* Operate the Sub-clock oscillator */
    generic_rx71m\resetprg.c(727):             /* The delay period needed is to make sure that the sub-clock  has stabilized. */
    generic_rx71m\resetprg.c(732):         /* ---- Set wait time until the sub-clock oscillator stabilizes ---- */
    generic_rx71m\resetprg.c(735):         /* ---- Operate the sub-clock oscillator ---- */
    generic_rx71m\resetprg.c(753):         /* Wait for six the sub-clock cycles */
    generic_rx71m\resetprg.c(754):         /* 6 count of sub-clock : (1000000/32768)*6=183.10546875us
    generic_rx71m\resetprg.c(798):         /* Wait for one the sub-clock cycles */
    generic_rx71m\resetprg.c(799):         /* 1 count of sub-clock : (1000000/32768)=30.517578125us
    generic_rx71m\resetprg.c(815):         /* SOSCCR - Sub-Clock Oscillator Control Register
    generic_rx71m\resetprg.c(817):         b0       SOSTP    - Sub-clock oscillator Stop - Sub-clock oscillator is stopped. */
    generic_rx71m\resetprg.c(836):         /* Set wait time until the sub-clock oscillator stabilizes */
    generic_rx71m\resetprg.c(837):         /* SOSCWTCR - Sub-Clock Oscillator Wait Control Register
    generic_rx71m\resetprg.c(839):         b4:b0    SSTS - Sub-Clock Oscillator Waiting Time - Waiting time is 2.044ms(the maximum value of fLOCO). */
    generic_rx71m\resetprg.c(842):         /* Operate the Sub-clock oscillator */
    generic_rx71m\resetprg.c(858):             /* The delay period needed is to make sure that the sub-clock  has stabilized. */
    generic_rx71m\resetprg.c(863):         /* ---- Set wait time until the sub-clock oscillator stabilizes ---- */
    generic_rx71m\r_bsp_config_reference.h(236):    3 = Sub-Clock Oscillator
    generic_rx71m\r_bsp_config_reference.h(241): /* The sub-clock oscillation control for using the RTC.
    generic_rx71m\r_bsp_config_reference.h(242):    When '1' is selected, the registers related to RTC are initialized and the sub-clock oscillator is operated.
    generic_rx71m\r_bsp_config_reference.h(248): /* Sub-Clock Oscillator Drive Capacity Control (RTCDV).
    generic_rx71m\r_bsp_config_reference.h(380): /* Sub-Clock Oscillator Wait Time (SOSCWTCR).
    generic_rx71m\r_bsp_config_reference.h(382):    by the sub-clock oscillator is obtained by using the maximum frequency for fLOCO in the formula below.
    generic_rx71m\r_bsp_config_reference.h(385):    (tSUBOSC: sub-clock oscillation stabilization time; fLOCO_max: maximum frequency for fLOCO)
    
    hsbrx21ap\resetprg.c(475):     /* Sub-clock oscillator is chosen. Start it operating. */
    hsbrx21ap\resetprg.c(479):     /* Set the sub-clock to operating. */
    hsbrx21ap\resetprg.c(482):     /* The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX63N's 
    hsbrx21ap\resetprg.c(493):     /* Set the sub-clock to stopped. */
    hsbrx21ap\r_bsp_config_reference.h(184):    3 = Sub-Clock Oscillator
    
    rdkrx631\resetprg.c(501):     /* Sub-clock oscillator is chosen. Start it operating. */
    rdkrx631\resetprg.c(505):     /* Set the sub-clock to operating. */
    rdkrx631\resetprg.c(508):     /* The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX63N's 
    rdkrx631\resetprg.c(519):     /* Set the sub-clock to stopped. */
    rdkrx631\r_bsp_config_reference.h(270):    3 = Sub-Clock Oscillator
    
    rdkrx63n\resetprg.c(503):     /* Sub-clock oscillator is chosen. Start it operating. */
    rdkrx63n\resetprg.c(507):     /* Set the sub-clock to operating. */
    rdkrx63n\resetprg.c(510):     /* The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX63N's 
    rdkrx63n\resetprg.c(521):     /* Set the sub-clock to stopped. */
    rdkrx63n\r_bsp_config_reference.h(269):    3 = Sub-Clock Oscillator
    
    rskrx210\resetprg.c(498):     /* Sub-clock oscillator is chosen. Start it operating. */
    rskrx210\resetprg.c(500):     SYSTEM.SOSCCR.BYTE = 0x01;      // Make sure sub-clock is initially stopped
    rskrx210\resetprg.c(523):     /* ---- Wait for five sub-clock cycles ---- */
    rskrx210\resetprg.c(524):     /* Wait time is 5 sub-clock cycles (approx. 152 us). 
    rskrx210\resetprg.c(531):     RTC.RCR3.BYTE = REG_RCR3;       // Restore original sub-clock and state
    rskrx210\resetprg.c(540):     /* Set the sub-clock to operating. */
    rskrx210\resetprg.c(543):     /* The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX63N's 
    rskrx210\resetprg.c(554):     /* Set the sub-clock to stopped. */
    rskrx210\resetprg.c(749):     /* Sub-clock oscillator is chosen. Start it operating. */
    rskrx210\resetprg.c(753):     /* Set the sub-clock to stopped. */
    rskrx210\r_bsp_config_reference.h(230):    3 = Sub-Clock Oscillator
    
    rskrx220\resetprg.c(403):     /* Sub-clock oscillator is chosen. Start it operating. */
    rskrx220\resetprg.c(407):     /* Set the sub-clock to operating. */
    rskrx220\resetprg.c(410):     /* The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX63N's 
    rskrx220\resetprg.c(421):     /* Set the sub-clock to stopped. */
    rskrx220\r_bsp_config_reference.h(187):    3 = Sub-Clock Oscillator
    
    rskrx23t\r_bsp_config_reference.h(194):    3 = Sub-Clock Oscillator                   (N/A for RX23T)
    
    rskrx24t\r_bsp_config_reference.h(195):    3 = Sub-Clock Oscillator                   (N/A for RX24T)
    
    rskrx24u\r_bsp_config_reference.h(182):    3 = Sub-Clock Oscillator                   (N/A for RX24U)
    
    rskrx630\resetprg.c(471):     /* Sub-clock oscillator is chosen. Start it operating. */
    rskrx630\resetprg.c(475):     /* Set the sub-clock to operating. */
    rskrx630\resetprg.c(478):     /* The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX63N's 
    rskrx630\resetprg.c(489):     /* Set the sub-clock to stopped. */
    rskrx630\r_bsp_config_reference.h(224):    3 = Sub-Clock Oscillator
    
    rskrx631\resetprg.c(501):     /* Sub-clock oscillator is chosen. Start it operating. */
    rskrx631\resetprg.c(505):     /* Set the sub-clock to operating. */
    rskrx631\resetprg.c(508):     /* The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX63N's 
    rskrx631\resetprg.c(519):     /* Set the sub-clock to stopped. */
    rskrx631\r_bsp_config_reference.h(272):    3 = Sub-Clock Oscillator
    
    rskrx63n\resetprg.c(504):     /* Sub-clock oscillator is chosen. Start it operating. */
    rskrx63n\resetprg.c(508):     /* Set the sub-clock to operating. */
    rskrx63n\resetprg.c(511):     /* The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX63N's 
    rskrx63n\resetprg.c(522):     /* Set the sub-clock to stopped. */
    rskrx63n\r_bsp_config_reference.h(272):    3 = Sub-Clock Oscillator
    
    rsskrx23t\r_bsp_config_reference.h(180):    3 = Sub-Clock Oscillator                   (N/A for RX23T)
    


    以下、RX231とRX130の該当箇所を比較した画面コピーです。

Reply
  • シェルティさん、こんにちは。NoMaYです。

    以下の件、リプライどうも有難う御座いました。また他にも何か気づいたことがあったら投稿します。

    > 本件ですが、BSP開発者もこのスレッドを見ていて既知の問題だと言っておりました。
    > 7月頃に次版のBSPを出す予定ですが、そのコードで修正済みとも言ってました。

    ちなみに、ものは試しでFITのBSPのソースを"sub-clock"でgrepしたところ以下の通りだったのですが、この結果とにらめっこしている内に、ああっ、RX130はRX230/RX231と一緒かな、と思いました。そこで#if~#elseの間を比較してみたら双方は等価なコードであることが分かりましたので、#else~#endifの間は以下のコードだけになりそうですね、、、

    #else

        /* Set the sub-clock to stopped. */
        SYSTEM.SOSCCR.BYTE = 0x01;

    #endif

    以下、FITのBSPのソースを"sub-clock"でgrepした結果です。

    6507.rx130_fit_bsp_not_subclock_1.txt
    generic_rx110\resetprg.c(396):     /* Sub-clock oscillator is chosen. Start it operating. */
    generic_rx110\resetprg.c(398):     /* Set the sub-clock to operating. */
    generic_rx110\resetprg.c(405):     /* There is not an oscillation stabilization flag for the sub-clock so a software delay is used.
    generic_rx110\resetprg.c(406):        The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX111's
    generic_rx110\resetprg.c(416):     /* Set the sub-clock to stopped. */
    generic_rx110\resetprg.c(553):     /* Sub-clock oscillator is chosen. Start it operating. */
    generic_rx110\resetprg.c(557):     /* Set the sub-clock to stopped. */
    generic_rx110\r_bsp_config_reference.h(208):    3 = Sub-Clock Oscillator
    
    generic_rx111\resetprg.c(412):     /* Sub-clock oscillator is chosen. Start it operating. */
    generic_rx111\resetprg.c(414):     /* Set the sub-clock to operating. */
    generic_rx111\resetprg.c(421):     /* There is not an oscillation stabilization flag for the sub-clock so a software delay is used.
    generic_rx111\resetprg.c(422):        The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX111's
    generic_rx111\resetprg.c(432):     /* Set the sub-clock to stopped. */
    generic_rx111\resetprg.c(607):     /* Sub-clock oscillator is chosen. Start it operating. */
    generic_rx111\resetprg.c(611):     /* Set the sub-clock to stopped. */
    generic_rx111\r_bsp_config_reference.h(228):    3 = Sub-Clock Oscillator
    
    generic_rx113\resetprg.c(405):     /* Sub-clock oscillator is chosen. Start it operating. */
    generic_rx113\resetprg.c(407):     /* Set the sub-clock to operating. */
    generic_rx113\resetprg.c(414):     /* There is not an oscillation stabilization flag for the sub-clock so a software delay is used.
    generic_rx113\resetprg.c(415):        The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX111's
    generic_rx113\resetprg.c(425):     /* Set the sub-clock to stopped. */
    generic_rx113\resetprg.c(696):     /* Sub-clock oscillator is chosen. Start it operating. */
    generic_rx113\resetprg.c(700):     /* Set the sub-clock to stopped. */
    generic_rx113\r_bsp_config_reference.h(204):    3 = Sub-Clock Oscillator
    generic_rx113\r_bsp_config_reference.h(219):    3 = Sub-Clock Oscillator
    
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    generic_rx130\resetprg.c(32): *                               Changed the method of Wait for at least five cycles (about 153 μs) of the sub-clock.
    generic_rx130\resetprg.c(69): /* When the system clock is the sub-clock, warning will occur but there is no problem.
    generic_rx130\resetprg.c(434):     SYSTEM.SOSCCR.BYTE = 0x01;      /* Make sure sub-clock is initially stopped */
    generic_rx130\resetprg.c(441):     RTC.RCR3.BIT.RTCEN = 0;         /* Also set the RTC Sub-Clock disable */
    generic_rx130\resetprg.c(448):     /* wait for 5 sub-clock cycles (153us): measurement result is approx. 176us */
    generic_rx130\resetprg.c(451):     RTC.RCR3.BIT.RTCDV = 0x01;      /* Init the Sub-Clock Oscillator Drive Capacity = Low CL */
    generic_rx130\resetprg.c(458):     SYSTEM.SOSCCR.BYTE = 0x00;      /* Start sub-clock */
    generic_rx130\resetprg.c(466):     /* Wait for the oscillation stabilization time of the sub-clock. (1.3 seconds.)*/
    generic_rx130\resetprg.c(470):     RTC.RCR3.BIT.RTCEN = 0x01;      /* Also set the RTC Sub-Clock enable */
    generic_rx130\resetprg.c(478):     /* Wait for the oscillation stabilization time of the sub-clock. (1.3 seconds.)*/
    generic_rx130\resetprg.c(481):     /* Set the sub-clock to stopped. */
    generic_rx130\resetprg.c(489):     /* Set the sub-clock to stopped. */
    generic_rx130\resetprg.c(594):     /* Sub-clock or None is chosen. */
    generic_rx130\resetprg.c(595):     /* sub-clock oscillator already initialized in clock_source_select() */
    generic_rx130\r_bsp_config_reference.h(197):    3 = Sub-Clock Oscillator
    generic_rx130\r_bsp_config_reference.h(209):    0 = Sub-clock
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    generic_rx230\resetprg.c(64): /* When the system clock is the sub-clock, warning will occur but there is no problem.
    generic_rx230\resetprg.c(508):     SYSTEM.SOSCCR.BYTE = 0x01;      // Make sure sub-clock is initially stopped
    generic_rx230\resetprg.c(515):     RTC.RCR3.BIT.RTCEN = 0;         // Also set the RTC Sub-Clock disable
    generic_rx230\resetprg.c(528):     RTC.RCR3.BIT.RTCDV = 0x01;      // Init the Sub-Clock Oscillator Drive Capacity = Low CL
    generic_rx230\resetprg.c(535):     SYSTEM.SOSCCR.BYTE = 0x00;      // Start sub-clock
    generic_rx230\resetprg.c(544):     RTC.RCR3.BIT.RTCEN = 0x01;      // Also set the RTC Sub-Clock enable
    generic_rx230\resetprg.c(551):     /* Set the sub-clock to stopped. */
    generic_rx230\resetprg.c(611):     /* Sub-clock is chosen. */
    generic_rx230\resetprg.c(612):     /* sub-clock oscillator already initialized in clock_source_select() or cgc_clock_config() */
    generic_rx230\r_bsp_config_reference.h(202):    3 = Sub-Clock Oscillator
    generic_rx230\r_bsp_config_reference.h(208):    0 = Sub-clock
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    generic_rx231\resetprg.c(65): /* When the system clock is the sub-clock, warning will occur but there is no problem.
    generic_rx231\resetprg.c(510):     SYSTEM.SOSCCR.BYTE = 0x01;      // Make sure sub-clock is initially stopped
    generic_rx231\resetprg.c(517):     RTC.RCR3.BIT.RTCEN = 0;         // Also set the RTC Sub-Clock disable
    generic_rx231\resetprg.c(530):     RTC.RCR3.BIT.RTCDV = 0x01;      // Init the Sub-Clock Oscillator Drive Capacity = Low CL
    generic_rx231\resetprg.c(537):     SYSTEM.SOSCCR.BYTE = 0x00;      // Start sub-clock
    generic_rx231\resetprg.c(546):     RTC.RCR3.BIT.RTCEN = 0x01;      // Also set the RTC Sub-Clock enable
    generic_rx231\resetprg.c(553):     /* Set the sub-clock to stopped. */
    generic_rx231\resetprg.c(650):     /* Sub-clock is chosen. */
    generic_rx231\resetprg.c(651):     /* sub-clock oscillator already initialized in clock_source_select() or cgc_clock_config() */
    generic_rx231\r_bsp_config_reference.h(221):    3 = Sub-Clock Oscillator
    generic_rx231\r_bsp_config_reference.h(233):    0 = Sub-clock
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    
    generic_rx23t\r_bsp_config_reference.h(199):    3 = Sub-Clock Oscillator                   (N/A for RX23T)
    
    generic_rx24t\r_bsp_config_reference.h(200):    3 = Sub-Clock Oscillator                   (N/A for RX24T)
    
    generic_rx24u\r_bsp_config_reference.h(187):    3 = Sub-Clock Oscillator                   (N/A for RX24U)
    
    generic_rx64m\resetprg.c(34): *                                - Sub-Clock Oscillator Wait Control Register (SOSCWTCR)
    generic_rx64m\resetprg.c(37): *                               Changed the sub-clock oscillator settings.
    generic_rx64m\resetprg.c(616):     /* Sub-clock setting. */
    generic_rx64m\resetprg.c(621):         /* Stop the sub-clock oscillator */
    generic_rx64m\resetprg.c(624):         b0       RCKSEL   - Count Source Select - Sub-clock oscillator is selected. */
    generic_rx64m\resetprg.c(642):         b3:b1    RTCDV    - Sub-clock oscillator Drive Ability Control.
    generic_rx64m\resetprg.c(643):         b0       RTCEN    - Sub-clock oscillator is stopped. */
    generic_rx64m\resetprg.c(659):         /* SOSCCR - Sub-Clock Oscillator Control Register
    generic_rx64m\resetprg.c(661):         b0       SOSTP    - Sub-clock oscillator Stop - Sub-clock oscillator is stopped. */
    generic_rx64m\resetprg.c(675):             /* The delay period needed is to make sure that the sub-clock has stopped. */
    generic_rx64m\resetprg.c(679):         /* Set the drive capacity of the sub-clock oscillator */
    generic_rx64m\resetprg.c(703):         /* Set wait time until the sub-clock oscillator stabilizes */
    generic_rx64m\resetprg.c(704):         /* SOSCWTCR - Sub-Clock Oscillator Wait Control Register
    generic_rx64m\resetprg.c(706):         b4:b0    SSTS - Sub-Clock Oscillator Waiting Time - Waiting time is 2.044ms(the maximum value of fLOCO). */
    generic_rx64m\resetprg.c(709):         /* Operate the Sub-clock oscillator */
    generic_rx64m\resetprg.c(723):             /* The delay period needed is to make sure that the sub-clock  has stabilized. */
    generic_rx64m\resetprg.c(728):         /* ---- Set wait time until the sub-clock oscillator stabilizes ---- */
    generic_rx64m\resetprg.c(731):         /* ---- Operate the sub-clock oscillator ---- */
    generic_rx64m\resetprg.c(749):         /* Wait for six the sub-clock cycles */
    generic_rx64m\resetprg.c(750):         /* 6 count of sub-clock : (1000000/32768)*6=183.10546875us
    generic_rx64m\resetprg.c(794):         /* Wait for one the sub-clock cycles */
    generic_rx64m\resetprg.c(795):         /* 1 count of sub-clock : (1000000/32768)=30.517578125us
    generic_rx64m\resetprg.c(811):         /* SOSCCR - Sub-Clock Oscillator Control Register
    generic_rx64m\resetprg.c(813):         b0       SOSTP    - Sub-clock oscillator Stop - Sub-clock oscillator is stopped. */
    generic_rx64m\resetprg.c(832):         /* Set wait time until the sub-clock oscillator stabilizes */
    generic_rx64m\resetprg.c(833):         /* SOSCWTCR - Sub-Clock Oscillator Wait Control Register
    generic_rx64m\resetprg.c(835):         b4:b0    SSTS - Sub-Clock Oscillator Waiting Time - Waiting time is 2.044ms(the maximum value of fLOCO). */
    generic_rx64m\resetprg.c(838):         /* Operate the Sub-clock oscillator */
    generic_rx64m\resetprg.c(854):             /* The delay period needed is to make sure that the sub-clock  has stabilized. */
    generic_rx64m\resetprg.c(859):         /* ---- Set wait time until the sub-clock oscillator stabilizes ---- */
    generic_rx64m\r_bsp_config_reference.h(247):    3 = Sub-Clock Oscillator
    generic_rx64m\r_bsp_config_reference.h(252): /* The sub-clock oscillation control for using the RTC.
    generic_rx64m\r_bsp_config_reference.h(253):    When '1' is selected, the registers related to RTC are initialized and the sub-clock oscillator is operated.
    generic_rx64m\r_bsp_config_reference.h(259): /* Sub-Clock Oscillator Drive Capacity Control (RTCDV).
    generic_rx64m\r_bsp_config_reference.h(391): /* Sub-Clock Oscillator Wait Time (SOSCWTCR).
    generic_rx64m\r_bsp_config_reference.h(393):    by the sub-clock oscillator is obtained by using the maximum frequency for fLOCO in the formula below.
    generic_rx64m\r_bsp_config_reference.h(396):    (tSUBOSC: sub-clock oscillation stabilization time; fLOCO_max: maximum frequency for fLOCO)
    
    generic_rx65n\resetprg.c(32): *                                Changed the sub-clock oscillator settings.
    generic_rx65n\resetprg.c(633):     /* Sub-clock setting. */
    generic_rx65n\resetprg.c(638):         /* Stop the sub-clock oscillator */
    generic_rx65n\resetprg.c(641):         b0       RCKSEL   - Count Source Select - Sub-clock oscillator is selected. */
    generic_rx65n\resetprg.c(659):         b3:b1    RTCDV    - Sub-clock oscillator Drive Ability Control.
    generic_rx65n\resetprg.c(660):         b0       RTCEN    - Sub-clock oscillator is stopped. */
    generic_rx65n\resetprg.c(676):         /* SOSCCR - Sub-Clock Oscillator Control Register
    generic_rx65n\resetprg.c(678):         b0       SOSTP    - Sub-clock oscillator Stop - Sub-clock oscillator is stopped. */
    generic_rx65n\resetprg.c(692):             /* The delay period needed is to make sure that the sub-clock has stopped. */
    generic_rx65n\resetprg.c(696):         /* Set the drive capacity of the sub-clock oscillator */
    generic_rx65n\resetprg.c(720):         /* Set wait time until the sub-clock oscillator stabilizes */
    generic_rx65n\resetprg.c(721):         /* SOSCWTCR - Sub-Clock Oscillator Wait Control Register
    generic_rx65n\resetprg.c(723):         b4:b0    SSTS - Sub-Clock Oscillator Waiting Time - Waiting time is 2.044ms(the maximum value of fLOCO). */
    generic_rx65n\resetprg.c(726):         /* Operate the Sub-clock oscillator */
    generic_rx65n\resetprg.c(740):             /* The delay period needed is to make sure that the sub-clock  has stabilized. */
    generic_rx65n\resetprg.c(745):         /* ---- Set wait time until the sub-clock oscillator stabilizes ---- */
    generic_rx65n\resetprg.c(748):         /* ---- Operate the sub-clock oscillator ---- */
    generic_rx65n\resetprg.c(766):         /* Wait for six the sub-clock cycles */
    generic_rx65n\resetprg.c(767):         /* 6 count of sub-clock : (1000000/32768)*6=183.10546875us
    generic_rx65n\resetprg.c(811):         /* Wait for one the sub-clock cycles */
    generic_rx65n\resetprg.c(812):         /* 1 count of sub-clock : (1000000/32768)=30.517578125us
    generic_rx65n\resetprg.c(828):         /* SOSCCR - Sub-Clock Oscillator Control Register
    generic_rx65n\resetprg.c(830):         b0       SOSTP    - Sub-clock oscillator Stop - Sub-clock oscillator is stopped. */
    generic_rx65n\resetprg.c(849):         /* Set wait time until the sub-clock oscillator stabilizes */
    generic_rx65n\resetprg.c(850):         /* SOSCWTCR - Sub-Clock Oscillator Wait Control Register
    generic_rx65n\resetprg.c(852):         b4:b0    SSTS - Sub-Clock Oscillator Waiting Time - Waiting time is 2.044ms(the maximum value of fLOCO). */
    generic_rx65n\resetprg.c(855):         /* Operate the Sub-clock oscillator */
    generic_rx65n\resetprg.c(871):             /* The delay period needed is to make sure that the sub-clock  has stabilized. */
    generic_rx65n\resetprg.c(876):         /* ---- Set wait time until the sub-clock oscillator stabilizes ---- */
    generic_rx65n\r_bsp_config_reference.h(217):    3 = Sub-Clock Oscillator
    generic_rx65n\r_bsp_config_reference.h(228): /* The sub-clock oscillation control for using the RTC.
    generic_rx65n\r_bsp_config_reference.h(229):    When '1' is selected, the registers related to RTC are initialized and the sub-clock oscillator is operated.
    generic_rx65n\r_bsp_config_reference.h(235): /* Sub-Clock Oscillator Drive Capacity Control (RTCDV).
    generic_rx65n\r_bsp_config_reference.h(361): /* Sub-Clock Oscillator Wait Time (SOSCWTCR).
    generic_rx65n\r_bsp_config_reference.h(363):    by the sub-clock oscillator is obtained by using the maximum frequency for fLOCO in the formula below.
    generic_rx65n\r_bsp_config_reference.h(366):    (tSUBOSC: sub-clock oscillation stabilization time; fLOCO_max: maximum frequency for fLOCO)
    
    generic_rx71m\resetprg.c(34): *                                - Sub-Clock Oscillator Wait Control Register (SOSCWTCR)
    generic_rx71m\resetprg.c(37): *                               Changed the sub-clock oscillator settings.
    generic_rx71m\resetprg.c(620):     /* Sub-clock setting. */
    generic_rx71m\resetprg.c(625):         /* Stop the sub-clock oscillator */
    generic_rx71m\resetprg.c(628):         b0       RCKSEL   - Count Source Select - Sub-clock oscillator is selected. */
    generic_rx71m\resetprg.c(646):         b3:b1    RTCDV    - Sub-clock oscillator Drive Ability Control.
    generic_rx71m\resetprg.c(647):         b0       RTCEN    - Sub-clock oscillator is stopped. */
    generic_rx71m\resetprg.c(663):         /* SOSCCR - Sub-Clock Oscillator Control Register
    generic_rx71m\resetprg.c(665):         b0       SOSTP    - Sub-clock oscillator Stop - Sub-clock oscillator is stopped. */
    generic_rx71m\resetprg.c(679):             /* The delay period needed is to make sure that the sub-clock has stopped. */
    generic_rx71m\resetprg.c(683):         /* Set the drive capacity of the sub-clock oscillator */
    generic_rx71m\resetprg.c(707):         /* Set wait time until the sub-clock oscillator stabilizes */
    generic_rx71m\resetprg.c(708):         /* SOSCWTCR - Sub-Clock Oscillator Wait Control Register
    generic_rx71m\resetprg.c(710):         b4:b0    SSTS - Sub-Clock Oscillator Waiting Time - Waiting time is 2.044ms(the maximum value of fLOCO). */
    generic_rx71m\resetprg.c(713):         /* Operate the Sub-clock oscillator */
    generic_rx71m\resetprg.c(727):             /* The delay period needed is to make sure that the sub-clock  has stabilized. */
    generic_rx71m\resetprg.c(732):         /* ---- Set wait time until the sub-clock oscillator stabilizes ---- */
    generic_rx71m\resetprg.c(735):         /* ---- Operate the sub-clock oscillator ---- */
    generic_rx71m\resetprg.c(753):         /* Wait for six the sub-clock cycles */
    generic_rx71m\resetprg.c(754):         /* 6 count of sub-clock : (1000000/32768)*6=183.10546875us
    generic_rx71m\resetprg.c(798):         /* Wait for one the sub-clock cycles */
    generic_rx71m\resetprg.c(799):         /* 1 count of sub-clock : (1000000/32768)=30.517578125us
    generic_rx71m\resetprg.c(815):         /* SOSCCR - Sub-Clock Oscillator Control Register
    generic_rx71m\resetprg.c(817):         b0       SOSTP    - Sub-clock oscillator Stop - Sub-clock oscillator is stopped. */
    generic_rx71m\resetprg.c(836):         /* Set wait time until the sub-clock oscillator stabilizes */
    generic_rx71m\resetprg.c(837):         /* SOSCWTCR - Sub-Clock Oscillator Wait Control Register
    generic_rx71m\resetprg.c(839):         b4:b0    SSTS - Sub-Clock Oscillator Waiting Time - Waiting time is 2.044ms(the maximum value of fLOCO). */
    generic_rx71m\resetprg.c(842):         /* Operate the Sub-clock oscillator */
    generic_rx71m\resetprg.c(858):             /* The delay period needed is to make sure that the sub-clock  has stabilized. */
    generic_rx71m\resetprg.c(863):         /* ---- Set wait time until the sub-clock oscillator stabilizes ---- */
    generic_rx71m\r_bsp_config_reference.h(236):    3 = Sub-Clock Oscillator
    generic_rx71m\r_bsp_config_reference.h(241): /* The sub-clock oscillation control for using the RTC.
    generic_rx71m\r_bsp_config_reference.h(242):    When '1' is selected, the registers related to RTC are initialized and the sub-clock oscillator is operated.
    generic_rx71m\r_bsp_config_reference.h(248): /* Sub-Clock Oscillator Drive Capacity Control (RTCDV).
    generic_rx71m\r_bsp_config_reference.h(380): /* Sub-Clock Oscillator Wait Time (SOSCWTCR).
    generic_rx71m\r_bsp_config_reference.h(382):    by the sub-clock oscillator is obtained by using the maximum frequency for fLOCO in the formula below.
    generic_rx71m\r_bsp_config_reference.h(385):    (tSUBOSC: sub-clock oscillation stabilization time; fLOCO_max: maximum frequency for fLOCO)
    
    hsbrx21ap\resetprg.c(475):     /* Sub-clock oscillator is chosen. Start it operating. */
    hsbrx21ap\resetprg.c(479):     /* Set the sub-clock to operating. */
    hsbrx21ap\resetprg.c(482):     /* The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX63N's 
    hsbrx21ap\resetprg.c(493):     /* Set the sub-clock to stopped. */
    hsbrx21ap\r_bsp_config_reference.h(184):    3 = Sub-Clock Oscillator
    
    rdkrx631\resetprg.c(501):     /* Sub-clock oscillator is chosen. Start it operating. */
    rdkrx631\resetprg.c(505):     /* Set the sub-clock to operating. */
    rdkrx631\resetprg.c(508):     /* The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX63N's 
    rdkrx631\resetprg.c(519):     /* Set the sub-clock to stopped. */
    rdkrx631\r_bsp_config_reference.h(270):    3 = Sub-Clock Oscillator
    
    rdkrx63n\resetprg.c(503):     /* Sub-clock oscillator is chosen. Start it operating. */
    rdkrx63n\resetprg.c(507):     /* Set the sub-clock to operating. */
    rdkrx63n\resetprg.c(510):     /* The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX63N's 
    rdkrx63n\resetprg.c(521):     /* Set the sub-clock to stopped. */
    rdkrx63n\r_bsp_config_reference.h(269):    3 = Sub-Clock Oscillator
    
    rskrx210\resetprg.c(498):     /* Sub-clock oscillator is chosen. Start it operating. */
    rskrx210\resetprg.c(500):     SYSTEM.SOSCCR.BYTE = 0x01;      // Make sure sub-clock is initially stopped
    rskrx210\resetprg.c(523):     /* ---- Wait for five sub-clock cycles ---- */
    rskrx210\resetprg.c(524):     /* Wait time is 5 sub-clock cycles (approx. 152 us). 
    rskrx210\resetprg.c(531):     RTC.RCR3.BYTE = REG_RCR3;       // Restore original sub-clock and state
    rskrx210\resetprg.c(540):     /* Set the sub-clock to operating. */
    rskrx210\resetprg.c(543):     /* The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX63N's 
    rskrx210\resetprg.c(554):     /* Set the sub-clock to stopped. */
    rskrx210\resetprg.c(749):     /* Sub-clock oscillator is chosen. Start it operating. */
    rskrx210\resetprg.c(753):     /* Set the sub-clock to stopped. */
    rskrx210\r_bsp_config_reference.h(230):    3 = Sub-Clock Oscillator
    
    rskrx220\resetprg.c(403):     /* Sub-clock oscillator is chosen. Start it operating. */
    rskrx220\resetprg.c(407):     /* Set the sub-clock to operating. */
    rskrx220\resetprg.c(410):     /* The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX63N's 
    rskrx220\resetprg.c(421):     /* Set the sub-clock to stopped. */
    rskrx220\r_bsp_config_reference.h(187):    3 = Sub-Clock Oscillator
    
    rskrx23t\r_bsp_config_reference.h(194):    3 = Sub-Clock Oscillator                   (N/A for RX23T)
    
    rskrx24t\r_bsp_config_reference.h(195):    3 = Sub-Clock Oscillator                   (N/A for RX24T)
    
    rskrx24u\r_bsp_config_reference.h(182):    3 = Sub-Clock Oscillator                   (N/A for RX24U)
    
    rskrx630\resetprg.c(471):     /* Sub-clock oscillator is chosen. Start it operating. */
    rskrx630\resetprg.c(475):     /* Set the sub-clock to operating. */
    rskrx630\resetprg.c(478):     /* The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX63N's 
    rskrx630\resetprg.c(489):     /* Set the sub-clock to stopped. */
    rskrx630\r_bsp_config_reference.h(224):    3 = Sub-Clock Oscillator
    
    rskrx631\resetprg.c(501):     /* Sub-clock oscillator is chosen. Start it operating. */
    rskrx631\resetprg.c(505):     /* Set the sub-clock to operating. */
    rskrx631\resetprg.c(508):     /* The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX63N's 
    rskrx631\resetprg.c(519):     /* Set the sub-clock to stopped. */
    rskrx631\r_bsp_config_reference.h(272):    3 = Sub-Clock Oscillator
    
    rskrx63n\resetprg.c(504):     /* Sub-clock oscillator is chosen. Start it operating. */
    rskrx63n\resetprg.c(508):     /* Set the sub-clock to operating. */
    rskrx63n\resetprg.c(511):     /* The delay period needed is to make sure that the sub-clock has stabilized. According to Rev.1.00 of the RX63N's 
    rskrx63n\resetprg.c(522):     /* Set the sub-clock to stopped. */
    rskrx63n\r_bsp_config_reference.h(272):    3 = Sub-Clock Oscillator
    
    rsskrx23t\r_bsp_config_reference.h(180):    3 = Sub-Clock Oscillator                   (N/A for RX23T)
    


    以下、RX231とRX130の該当箇所を比較した画面コピーです。

Children
No Data