OpenLog Artemis Firmware v10-v21 MbedOS HardFault 0x80FF013D Code: 317 Module: 255

Please advise how to resolve the following error following V10-v21 (OpenLog_Artemis-V10-v21.bin) upgrade of SparkFun OpenLog Artemis KIT-18295. Serial interface doesn’t let to downgrade to a previous version in its current state.

Thank you.

++ MbedOS Fault Handler ++

FaultType: HardFault

Context:
R0: 10008A7C
R1: 0
R2: 10005C17
R3: 0
R4: 0
R5: 0
R6: 0
R7: 0
R8: 0
R9: 0
R10: 0
R11: 0
R12: 84
SP   : 10008A88
LR   : 3628B
PC   : 228BC
xPSR : 61000000
PSP  : 10008A68
MSP  : 1005FF70
CPUID: 410FC241
HFSR : 40000000
MMFSR: 0
BFSR : 0
UFSR : 1
DFSR : 0
AFSR : 0
Mode : Thread
Priv : Privileged
Stack: PSP

-- MbedOS Fault Handler --



++ MbedOS Error Info ++
Error Status: 0x80FF013D Code: 317 Module: 255
Error Message: Fault exception
Location: 0x228BC
Error Value: 0x10007A30
Current Thread: main Id: 0x10005E0C Entry: 0x48E05 StackSize: 0x1000 StackMem: 0x10007A90 SP: 0x10008A88
For more info, visit: https://mbed.com/s/error?error=0x80FF013D&tgt=SFE_ARTEMIS_ATP
-- MbedOS Error Info --

Hi,

Are you using the Artemis Firmware Upload GUI to upload the binary code?

https://github.com/sparkfun/OpenLog_Art … UPGRADE.md

Are you using the Windows version of the GUI?

What output do you see in the GUI terminal window?

Best wishes,

Paul

Your question did lead to a resolution of flashing firmware again, after bootloader update. Thank you

  1. After each bootloader update of the board, the firmware has to be flashed again - in this sequence.

  2. Please confirm what is the latest bootloader version to use? Where can the latest version of the bootloader be checked online?

Are you using the Artemis Firmware Upload GUI to upload the binary code?

https://github.com/sparkfun/OpenLog_Art … UPGRADE.md

Are you using the Windows version of the GUI?

Linux version, loaded via python from tools directory. Platform-specific versions for Linux and MacOS of Artemis Firmware Upload GUI lead to a stream of errors from missing dependencies.

What output do you see in the GUI terminal window?

Ports Refreshed

Uploading firmware

Artemis SVL Uploader

Phase:	Setup
	Cleared startup blip
	Got SVL Bootloader Version: 5
	Sending 'enter bootloader' command
Phase:	Bootload
	Sending 361688 bytes in 177 frames
	Got frame request
	Sending frame #1, length: 2048
	Got frame request
	Sending frame #2, length: 2048
	Got frame request
	Sending frame #3, length: 2048
	Got frame request
	Sending frame #4, length: 2048
	Got frame request
	Sending frame #5, length: 2048
	Got frame request
	Sending frame #6, length: 2048
	Got frame request
	Sending frame #7, length: 2048
	Got frame request
	Sending frame #8, length: 2048
	Got frame request
	Sending frame #9, length: 2048
	Got frame request
	Sending frame #10, length: 2048
	Got frame request
	Sending frame #11, length: 2048
	Got frame request
	Sending frame #12, length: 2048
	Got frame request
	Sending frame #13, length: 2048
	Got frame request
	Sending frame #14, length: 2048
	Got frame request
	Sending frame #15, length: 2048
	Got frame request
	Sending frame #16, length: 2048
	Got frame request
	Sending frame #17, length: 2048
	Got frame request
	Sending frame #18, length: 2048
	Got frame request
	Sending frame #19, length: 2048
	Got frame request
	Sending frame #20, length: 2048
	Got frame request
	Sending frame #21, length: 2048
	Got frame request
	Sending frame #22, length: 2048
	Got frame request
	Sending frame #23, length: 2048
	Got frame request
	Sending frame #24, length: 2048
	Got frame request
	Sending frame #25, length: 2048
	Got frame request
	Sending frame #26, length: 2048
	Got frame request
	Sending frame #27, length: 2048
	Got frame request
	Sending frame #28, length: 2048
	Got frame request
	Sending frame #29, length: 2048
	Got frame request
	Sending frame #30, length: 2048
	Got frame request
	Sending frame #31, length: 2048
	Got frame request
	Sending frame #32, length: 2048
	Got frame request
	Sending frame #33, length: 2048
	Retrying...
	Sending frame #33, length: 2048
	Got frame request
	Sending frame #34, length: 2048
	Got frame request
	Sending frame #35, length: 2048
	Got frame request
	Sending frame #36, length: 2048
	Got frame request
	Sending frame #37, length: 2048
	Got frame request
	Sending frame #38, length: 2048
	Got frame request
	Sending frame #39, length: 2048
	Got frame request
	Sending frame #40, length: 2048
	Got frame request
	Sending frame #41, length: 2048
	Got frame request
	Sending frame #42, length: 2048
	Got frame request
	Sending frame #43, length: 2048
	Got frame request
	Sending frame #44, length: 2048
	Got frame request
	Sending frame #45, length: 2048
	Got frame request
	Sending frame #46, length: 2048
	Got frame request
	Sending frame #47, length: 2048
	Got frame request
	Sending frame #48, length: 2048
	Got frame request
	Sending frame #49, length: 2048
	Got frame request
	Sending frame #50, length: 2048
	Got frame request
	Sending frame #51, length: 2048
	Got frame request
	Sending frame #52, length: 2048
	Got frame request
	Sending frame #53, length: 2048
	Got frame request
	Sending frame #54, length: 2048
	Got frame request
	Sending frame #55, length: 2048
	Got frame request
	Sending frame #56, length: 2048
	Got frame request
	Sending frame #57, length: 2048
	Got frame request
	Sending frame #58, length: 2048
	Got frame request
	Sending frame #59, length: 2048
	Got frame request
	Sending frame #60, length: 2048
	Got frame request
	Sending frame #61, length: 2048
	Got frame request
	Sending frame #62, length: 2048
	Got frame request
	Sending frame #63, length: 2048
	Got frame request
	Sending frame #64, length: 2048
	Got frame request
	Sending frame #65, length: 2048
	Got frame request
	Sending frame #66, length: 2048
	Got frame request
	Sending frame #67, length: 2048
	Got frame request
	Sending frame #68, length: 2048
	Got frame request
	Sending frame #69, length: 2048
	Got frame request
	Sending frame #70, length: 2048
	Got frame request
	Sending frame #71, length: 2048
	Got frame request
	Sending frame #72, length: 2048
	Got frame request
	Sending frame #73, length: 2048
	Got frame request
	Sending frame #74, length: 2048
	Got frame request
	Sending frame #75, length: 2048
	Got frame request
	Sending frame #76, length: 2048
	Got frame request
	Sending frame #77, length: 2048
	Got frame request
	Sending frame #78, length: 2048
	Got frame request
	Sending frame #79, length: 2048
	Got frame request
	Sending frame #80, length: 2048
	Got frame request
	Sending frame #81, length: 2048
	Got frame request
	Sending frame #82, length: 2048
	Got frame request
	Sending frame #83, length: 2048
	Got frame request
	Sending frame #84, length: 2048
	Got frame request
	Sending frame #85, length: 2048
	Got frame request
	Sending frame #86, length: 2048
	Got frame request
	Sending frame #87, length: 2048
	Got frame request
	Sending frame #88, length: 2048
	Got frame request
	Sending frame #89, length: 2048
	Got frame request
	Sending frame #90, length: 2048
	Got frame request
	Sending frame #91, length: 2048
	Got frame request
	Sending frame #92, length: 2048
	Got frame request
	Sending frame #93, length: 2048
	Got frame request
	Sending frame #94, length: 2048
	Got frame request
	Sending frame #95, length: 2048
	Got frame request
	Sending frame #96, length: 2048
	Got frame request
	Sending frame #97, length: 2048
	Got frame request
	Sending frame #98, length: 2048
	Got frame request
	Sending frame #99, length: 2048
	Got frame request
	Sending frame #100, length: 2048
	Got frame request
	Sending frame #101, length: 2048
	Got frame request
	Sending frame #102, length: 2048
	Got frame request
	Sending frame #103, length: 2048
	Got frame request
	Sending frame #104, length: 2048
	Got frame request
	Sending frame #105, length: 2048
	Got frame request
	Sending frame #106, length: 2048
	Got frame request
	Sending frame #107, length: 2048
	Got frame request
	Sending frame #108, length: 2048
	Got frame request
	Sending frame #109, length: 2048
	Got frame request
	Sending frame #110, length: 2048
	Got frame request
	Sending frame #111, length: 2048
	Retrying...
	Sending frame #111, length: 2048
	Got frame request
	Sending frame #112, length: 2048
	Got frame request
	Sending frame #113, length: 2048
	Got frame request
	Sending frame #114, length: 2048
	Got frame request
	Sending frame #115, length: 2048
	Got frame request
	Sending frame #116, length: 2048
	Got frame request
	Sending frame #117, length: 2048
	Got frame request
	Sending frame #118, length: 2048
	Got frame request
	Sending frame #119, length: 2048
	Got frame request
	Sending frame #120, length: 2048
	Got frame request
	Sending frame #121, length: 2048
	Got frame request
	Sending frame #122, length: 2048
	Got frame request
	Sending frame #123, length: 2048
	Got frame request
	Sending frame #124, length: 2048
	Got frame request
	Sending frame #125, length: 2048
	Got frame request
	Sending frame #126, length: 2048
	Got frame request
	Sending frame #127, length: 2048
	Got frame request
	Sending frame #128, length: 2048
	Got frame request
	Sending frame #129, length: 2048
	Got frame request
	Sending frame #130, length: 2048
	Got frame request
	Sending frame #131, length: 2048
	Got frame request
	Sending frame #132, length: 2048
	Got frame request
	Sending frame #133, length: 2048
	Got frame request
	Sending frame #134, length: 2048
	Got frame request
	Sending frame #135, length: 2048
	Got frame request
	Sending frame #136, length: 2048
	Got frame request
	Sending frame #137, length: 2048
	Got frame request
	Sending frame #138, length: 2048
	Got frame request
	Sending frame #139, length: 2048
	Got frame request
	Sending frame #140, length: 2048
	Got frame request
	Sending frame #141, length: 2048
	Got frame request
	Sending frame #142, length: 2048
	Got frame request
	Sending frame #143, length: 2048
	Got frame request
	Sending frame #144, length: 2048
	Got frame request
	Sending frame #145, length: 2048
	Got frame request
	Sending frame #146, length: 2048
	Got frame request
	Sending frame #147, length: 2048
	Retrying...
	Sending frame #147, length: 2048
	Got frame request
	Sending frame #148, length: 2048
	Got frame request
	Sending frame #149, length: 2048
	Got frame request
	Sending frame #150, length: 2048
	Got frame request
	Sending frame #151, length: 2048
	Got frame request
	Sending frame #152, length: 2048
	Got frame request
	Sending frame #153, length: 2048
	Got frame request
	Sending frame #154, length: 2048
	Got frame request
	Sending frame #155, length: 2048
	Got frame request
	Sending frame #156, length: 2048
	Got frame request
	Sending frame #157, length: 2048
	Got frame request
	Sending frame #158, length: 2048
	Got frame request
	Sending frame #159, length: 2048
	Got frame request
	Sending frame #160, length: 2048
	Got frame request
	Sending frame #161, length: 2048
	Got frame request
	Sending frame #162, length: 2048
	Got frame request
	Sending frame #163, length: 2048
	Got frame request
	Sending frame #164, length: 2048
	Got frame request
	Sending frame #165, length: 2048
	Got frame request
	Sending frame #166, length: 2048
	Got frame request
	Sending frame #167, length: 2048
	Got frame request
	Sending frame #168, length: 2048
	Got frame request
	Sending frame #169, length: 2048
	Got frame request
	Sending frame #170, length: 2048
	Got frame request
	Sending frame #171, length: 2048
	Got frame request
	Sending frame #172, length: 2048
	Got frame request
	Sending frame #173, length: 2048
	Got frame request
	Sending frame #174, length: 2048
	Got frame request
	Sending frame #175, length: 2048
	Got frame request
	Sending frame #176, length: 2048
	Got frame request
	Sending frame #177, length: 1240
	Got frame request
Upload complete!
Nominal bootload 9714.67 bytes/sec


Updating bootloader

Artemis Bootloader Update

Installing bootloader version 5
Header Size = 0x80
original app_size 12940
load_address 0xc000
app_size 12940
w0 = 0xcb00330c
Security Value 0x10
w2 = 0x10008080
addrWord = 0xc000
versionKeyWord = 0x0
child0/feature = 0xffffffff
child1 = 0xffffffff
crc = 0xc703da31
Writing to file application_OTA_blob.bin
testing: application_OTA_blob.bin
Header Size = 0x60
app_size = 13068
Writing to file application_Wired_OTA_blob.bin
Image from 0x0 to 0x330c will be loaded at 0x20000
Connecting over serial port...
Sending Hello.
Received response for Hello
Bootloader connected
Received Status
Length = 0x58
Version = 0x5
Max Storage = 0x4ffa0
Status = 0x2
State = 0x7
Sending OTA Descriptor = 0xfe000
Sending Update Command.
Number of updates needed = 1
Sending block of size 0x336c from 0x0 to 0x336c
Sending Data Packet of length 8180
Sending Data Packet of length 4984
Sending Reset Command.
Tries = 0
Bootloader updated to version 5
  1. In ArduinoIO which definition of the board to use for OpenLog Artemis?

Hi,

I’m glad the update working for you.

Version 5 of the bootloader is - I think - still the latest. That’s the one I’m using.

You don’t need to update the bootloader each time. You only need to upload the firmware.

Updating the bootloader clears the firmware, so, yes, you will need to re-upload the firmware after updating the bootloader.

My advice is to use the pre-compiled binary code. But, if you want to compile your own code, use SparkFun Apollo3 / RedBoard Artemis ATP. (The ATP is important.)

Best wishes,

Paul