I want to run ble_app sample code using SIFIVE mcu.
I modify the bsp from nordic to my board and change mcu to sifive.
I copy apache-mynewt-nimble/nimble/drivers/native and
modify it to simulate radio hardware. for now it just for not stuck code
running.

I load code and run , I got some ble log messages below.

after checking code, I found
inside hal_timer_start_at() function, it call fe310_tmr_check_first and
it seems not operate correctly.
It will issue pwm interrupt continuely, so it stuck.

is there anyone help ? or I missing something?

-----------------------------------------------------------------------
static void
fe310_tmr_check_first(struct fe310_hal_tmr *tmr)
{
    struct hal_timer *ht;

    ht = TAILQ_FIRST(&tmr->sht_timers);
    if (ht) {
        uint32_t cnt = hal_timer_cnt(tmr);
        int32_t ticks = (int32_t)(ht->expiry - cnt);
        if (ticks < _REG32(tmr->pwm_regs, PWM_CMP0)) { <====question code
            _REG32(tmr->pwm_regs, PWM_CMP1) = ticks;   <====question code
            plic_enable_interrupt(tmr->pwmxcmp0_int + 1);    <====question
code
            return;
        }
    }
    _REG32(tmr->pwm_regs, PWM_CMP1) = _REG32(tmr->pwm_regs, PWM_CMP0);
     /* Disable PWMxCMP1 interrupt, leaving only CMP0 which is used all the
time */
    plic_disable_interrupt(tmr->pwmxcmp0_int + 1);
}
------------------------------------------------------------------------------


=================================================
000000 [ts=0us, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x0 ocf=0x0
000001 [ts=7812us, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x03 ocf=0x0003
len=0
000002 [ts=15624us, mod=4 level=0] 0x03 0x0c 0x00
000002 [ts=15624us, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x3
ocf=0x3 status=0
000003 [ts=23436us, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x04 ocf=0x0001
len=0
000004 [ts=31248us, mod=4 level=0] 0x01 0x10 0x00
000005 [ts=39060us, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x4
ocf=0x1 status=0 hci_ver=9 hci_rev=0 lmp_ver=9 mfrg=65535 lmp_subver=0
000006 [ts=46872us, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x03 ocf=0x0001
len=8
000007 [ts=54684us, mod=4 level=0] 0x01 0x0c 0x08 0x90 0x80 0x00 0x02 0x00
0x80 0x00 0x20
000008 [ts=62496us, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x3
ocf=0x1 status=0
000009 [ts=70308us, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x03 ocf=0x0063
len=8
000010 [ts=78120us, mod=4 level=0] 0x63 0x0c 0x08 0x00 0x00 0x80 0x00 0x00
0x00 0x00 0x00
000011 [ts=85932us, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x3
ocf=0x63 status=0
000012 [ts=93744us, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08 ocf=0x0001
len=8
000013 [ts=101556us, mod=4 level=0] 0x01 0x20 0x08 0x7f 0xfe 0x0f 0x00 0x00
0x00 0x00 0x00
000014 [ts=109368us, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8
ocf=0x1 status=0
000015 [ts=117180us, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08
ocf=0x0002 len=0
000016 [ts=124992us, mod=4 level=0] 0x02 0x20 0x00
000016 [ts=124992us, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8
ocf=0x2 status=0
000017 [ts=132804us, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08
ocf=0x0003 len=0
000018 [ts=140616us, mod=4 level=0] 0x03 0x20 0x00
000019 [ts=148428us, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8
ocf=0x3 status=0
000020 [ts=156240us, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x04
ocf=0x0009 len=0
000020 [ts=156240us, mod=4 level=0] 0x09 0x10 0x00
000021 [ts=164052us, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x4
ocf=0x9 status=0 bd_addr=0:0:0:0:0:0
000022 [ts=171864us, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08
ocf=0x002d len=1
000023 [ts=179676us, mod=4 level=0] 0x2d 0x20 0x01 0x00
000024 [ts=187488us, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8
ocf=0x2d status=0
000025 [ts=195300us, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08
ocf=0x0029 len=0
000026 [ts=203112us, mod=4 level=0] 0x29 0x20 0x00
000026 [ts=203112us, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8
ocf=0x29 status=0
000027 [ts=210924us, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08
ocf=0x002d len=1
000028 [ts=218736us, mod=4 level=0] 0x2d 0x20 0x01 0x01
000029 [ts=226548us, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8
ocf=0x2d status=0
000030 [ts=234360us, mod=4 level=1] GAP procedure initiated: stop
advertising.
000030 [ts=234360us, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08
ocf=0x000a len=1
000031 [ts=242172us, mod=4 level=0] 0x0a 0x20 0x01 0x00
000032 [ts=249984us, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8
ocf=0xa status=0
000033 [ts=257796us, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08
ocf=0x0027 len=39
000034 [ts=265608us, mod=4 level=0] 0x27 0x20 0x27 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0xef 0x8d 0xe2 0x16 0x4f 0xec 0x43 0x0d 0xbf 0x5b 0xdd 0x34
0xc0 0x53 0x1e 0xb8
000037 [ts=289044us, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8
ocf=0x27 status=7
000037 [ts=289044us, mod=4 level=0] looking up peer sec;
000038 [ts=296856us, mod=4 level=1] ble_hs_cfg
000038 -ble_app_on_sync-
000039 [ts=304668us, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08
ocf=0x0018 len=0
000040 [ts=312480us, mod=4 level=0] 0x18 0x20 0x00
000040 [ts=312480us, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8
ocf=0x18 status=0 rand=0x0001020304050607
000042 [ts=328104us, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08
ocf=0x0005 len=6
000042 [ts=328104us, mod=4 level=0] 0x05 0x20 0x06 0x00 0x01 0x02 0x03 0x04
0x05
000043 [ts=335916us, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8
ocf=0x5 status=0
000044 addr:0x900019dd
000045 [ts=351540us, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08
ocf=0x0008 len=32
000045 [ts=351540us, mod=4 level=0] 0x08 0x20 0x20 0x1e 0x02 0x01 0x06 0x1a
0xff 0x4c 0x00 0x02 0x15 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11 0x11
0x11 0x11 0x11 0x11 0x11 0x11 0x00 0x02 0x00 0x0a 0x00 0x00
000048 [ts=374976us, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8
ocf=0x8 status=0
000049 [ts=382788us, mod=4 level=1] GAP procedure initiated: advertise;
disc_mode=0 adv_channel_map=0 own_addr_type=1 adv_filter_policy=0
adv_itvl_min=0 adv_itvl_max=0
000051 [ts=398412us, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08
ocf=0x0006 len=15
00001 [ts=398412us, mod=4 level=0] 0x06 0x20 0x0f 0xa0 0x00 0xf0 0x00 0x03
0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x07 0x00
000053 [ts=414036us, mod=4 level=0] Command complete: cmd_pkts=1 ogf=0x8
ocf=0x6 status=0
000054 [ts=421848us, mod=4 level=0] ble_hs_hci_cmd_send: ogf=0x08
ocf=0x000a len=1
000055 [ts=429660us, mod=4 level=0] 0x0a 0x20 0x01 0x01
=================================================

it stuck here, no more any message..

Reply via email to