Skip to content

Unexpected Restarts #27

@myamigo

Description

@myamigo

Hi Boris,

I'm considering a port of our standalone SDK project to a uPy supported version and think yours may provide a base for that.

I'm on WIndows with wsl2 so I built the F/W using the steps on your WIKI with no trouble. I installed the firmware (MicroPython.kfpkg) using the kflash gui tool (V1.6) and connected with my terminal prog. I followed some of the steps in the wiki and then I ran a simple loop/print test. After a few seconds the device restarted. Refer to the following output...

M (370013) [K210_MAIN]: Default flash configuration set

RISC-V Kendryte ---------------------------------------------
 _    _   _____   _   ______    ___   ___   ______   _     _
( )  / ) (___  ) ( ) (  __  )  (   \ /   ) (  __  ) ( )   ( )
| |_/ /   ___| | | | | |  | |  | |\ \ /| | | |__| |  \ \_/ /
|  _ )   ( ____) | | | |  | |**| | \_/ | | |  ____)   \   /
| | \ \  | |___  | | | |__| |  | |     | | | |         | |
(_)  \_) (_____) (_) (______)  (_)     (_) (_)         (_)
-------------------------------------------------------------
MicroPython-FreeRTOS by LoBo v1.12.02
-------------------------------------

MicroPython 1.12.02 (68a6b75-dirty) built on 2022-02-05; Sipeed_board with Kendryte-K210
Type "help()" for more information.
>>> import machine, _thread
>>> _thread.list()

Total system run time: 69.065 s, number of tasks running: 
MicroPython threads:
-------------------------------------------------------------------------------------------------------------------
ID(handle) Proc             Name      State  Stack  Used MaxUsed PyStack   Used    Type Priority Run time (s)   (%)
-------------------------------------------------------------------------------------------------------------------
2150748512    0       MainThread*   running  32768  1424    2840    4096     64    MAIN        8        0.237  0.34

FreeRTOS tasks running:
-------------------------------------------------------------------------------
ID(handle) Proc             Name     State MinStack Priority Run time (s)   (%)
-------------------------------------------------------------------------------
2150748512    0     main_mp_task   Running    29928       15        0.237  0.34
2149323944    0             IDLE     Ready     7416        0       68.462 99.13
2149326056    1             IDLE     Ready     7416        0        0.000  0.00
2150713248    0    hal_tick_task   Blocked     7432        1        0.001  0.00
-------------------------------------------------------------------------------
FreeRTOS heap: Size: 3141632, Free: 731544, Min free: 664208
  System heap: Free: 744448

>>> machine.state()
 PLL0: 988000000, PLL1: 806000000,  PLL2:  45066666, SPI3clk: 494000000
 APB0: 247000000, APB1: 247000000,  ACLK: 494000000,    HCLK: 494000000
  CPU: 494000000,  KPU: 403000000
SRAM0: 494000000 (ACLK/1)
SRAM1: 494000000 (ACLK/1)

Current SPI Flash speed: 35285714 Hz
RAM buffer of 4096 bytes at 0x80300000
OTA not used
Heaps: FreeRTOS=3068 KB (714 KB free), MPy=2300 KB, other=727 KB
>>> machine.mpy_config()

MicroPython configuration:
--------------------------
   MPy version code: 011201
  Two MPy instances: False
       PyStack used: True
Available heap size: 2300 KB
      MPy heap size: 2300 KB
       PyStack size: 4096 B
     MPy stack size: 32768 B
      CPU frequency: 400 MHz
      REPL baudrate: 115200 bd
      Boot menu pin: 0
  Default log level: 2 (LOG_WARN)
     Use log colors: 1 (True)
         VM divisor: 32 bytecodes
(False, True, 2355200, 2355200, 0, 4096, 32768, 400000000, 115200, 0, 2, True, 32)
>>>
>>> import time
>>> i=0
>>> current_time=time.ticks_ms()
>>> while(True):
...     i+=1
...     if time.ticks_ms()>current_time+500:
...         current_time=time.ticks_ms()
...         print("i = {}".format(i))
...
...
...
i = 1
i = 87910
i = 175811
i = 263633
i = 351473
i = 439325
i = 527201
i = 615064
i = 702950
i = 790815
i = 878692

M (370937) [K210_MAIN]: Default flash configuration set

RISC-V Kendryte ---------------------------------------------
 _    _   _____   _   ______    ___   ___   ______   _     _
( )  / ) (___  ) ( ) (  __  )  (   \ /   ) (  __  ) ( )   ( )
| |_/ /   ___| | | | | |  | |  | |\ \ /| | | |__| |  \ \_/ /
|  _ )   ( ____) | | | |  | |**| | \_/ | | |  ____)   \   /
| | \ \  | |___  | | | |__| |  | |     | | | |         | |
(_)  \_) (_____) (_) (______)  (_)     (_) (_)         (_)
-------------------------------------------------------------
MicroPython-FreeRTOS by LoBo v1.12.02
-------------------------------------

MicroPython 1.12.02 (68a6b75-dirty) built on 2022-02-05; Sipeed_board with Kendryte-K210
Type "help()" for more information.
>>> 

This happens every time but the time (i value) varies slightly each time. I simpler version of the test seems to run indefintely without issue...

M (370942) [K210_MAIN]: Default flash configuration set

RISC-V Kendryte ---------------------------------------------
 _    _   _____   _   ______    ___   ___   ______   _     _
( )  / ) (___  ) ( ) (  __  )  (   \ /   ) (  __  ) ( )   ( )
| |_/ /   ___| | | | | |  | |  | |\ \ /| | | |__| |  \ \_/ /
|  _ )   ( ____) | | | |  | |**| | \_/ | | |  ____)   \   /
| | \ \  | |___  | | | |__| |  | |     | | | |         | |
(_)  \_) (_____) (_) (______)  (_)     (_) (_)         (_)
-------------------------------------------------------------
MicroPython-FreeRTOS by LoBo v1.12.02
-------------------------------------

MicroPython 1.12.02 (68a6b75-dirty) built on 2022-02-05; Sipeed_board with Kendryte-K210
Type "help()" for more information.
>>> import time
>>> while(True):
...     time.sleep(1)
...     print(".",end="")
...
...
...
.............................................................................................................................................................................................................................

Can you confirm this as an issue?

Thank you

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions