Flash problem: EFM8SB10F2G MCU button for Jetson

Hi all. I’m going to flash EFM8SB10F2G on the Xavier NX custom carrier board. I use Simplicity studio 5.
However, “Invalid Argument” problem occurred.

I 've downloaded this project from jetson DLC, didn’t modify anything from the original.

When I try to reduce the code size to small, Build failed.


compile result from the Simplicity studio 5 console.

12:28:44 **** Incremental Build of configuration Keil 8051 v9.53 - Release for project EFM8SB10F2G ****
make all 
PATH=/cygdrive/g/SiliconLabs/SimplicityStudio/v5/developer/toolchains/keil_8051/9.60/BIN:/cygdrive/g/SiliconLabs/SimplicityStudio/v5/support/8051:/1.0/bin:/cygdrive/g/SiliconLabs/SimplicityStudio/v5/features/com.silabs.external.java17.windows.x86_64.feature_17.0.3/jre/bin/server:/cygdrive/g/SiliconLabs/SimplicityStudio/v5/features/com.silabs.external.java17.windows.x86_64.feature_17.0.3/jre/bin:/cygdrive/g/VMware/VMware Player/bin:/cygdrive/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/cygdrive/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/cygdrive/c/Program Files (x86)/Common Files/Intel/Shared Libraries/redist/intel64/compiler:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Windows/System32/OpenSSH:/cygdrive/c/Program Files/Microsoft SQL Server/Client SDK/ODBC/110/Tools/Binn:/cygdrive/c/Program Files (x86)/Microsoft SQL Server/120/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/120/Tools/Binn:/cygdrive/c/Program Files/Microsoft SQL Server/120/DTS/Binn:/cygdrive/c/Program Files (x86)/Windows Kits/8.1/Windows Performance Toolkit:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/WINDOWS/System32/OpenSSH:/cygdrive/c/MinGW/bin:/cygdrive/c/ProgramData/chocolatey/bin:/cygdrive/c/Program Files/IVI Foundation/VISA/Win64/bin:/cygdrive/c/Program Files (x86)/IVI Foundation/VISA/WinNT/ktvisa:/cygdrive/c/Program Files (x86)/IVI Foundation/VISA/WinNT/bin:/cygdrive/c/Program Files (x86)/IVI Foundation/VISA/WinNT/Bin:/cygdrive/c/Program Files/IVI Foundation/VISA/Win64/Bin:/cygdrive/c/Program Files (x86)/IVI Foundation/VISA/winnt/agvisa:/cygdrive/c/Program Files/NVIDIA Corporation/NVIDIA NvDLISR:/cygdrive/d/Installed_program/python_3.10.5/Scripts:/cygdrive/d/Installed_program/python_3.10.5:/cygdrive/c/Users/User/AppData/Local/Programs/Python/Python37-32/Scripts:/cygdrive/c/Users/User/AppData/Local/Programs/Python/Python37-32:/cygdrive/c/Python38-32/Scripts:/cygdrive/c/Python38-32:/cygdrive/c/Users/User/AppData/Local/Microsoft/WindowsApps:/cygdrive/c/Users/User/AppData/Local/GitHubDesktop/bin:/cygdrive/c/Users/User/AppData/Local/Programs/Microsoft VS Code/bin:/cygdrive/g/SiliconLabs/SimplicityStudio/v5
 
Building file: ../src/EFM8SB10F2G_main.c
Invoking: Keil 8051 Compiler
C51 "@src/EFM8SB10F2G_main.__i" || test $? -lt 2

C51 COMPILER V9.60.0.0 - SN: Eval Version
COPYRIGHT Copyright (C) 2012 - 2019 ARM Ltd and ARM Germany GmbH. All rights reserved.

C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)
Finished building: ../src/EFM8SB10F2G_main.c
 
Building file: ../src/InitDevice.c
Invoking: Keil 8051 Compiler
C51 "@src/InitDevice.__i" || test $? -lt 2

C51 COMPILER V9.60.0.0 - SN: Eval Version
COPYRIGHT Copyright (C) 2012 - 2019 ARM Ltd and ARM Germany GmbH. All rights reserved.

C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)
Finished building: ../src/InitDevice.c
 
Building file: ../src/Interrupts.c
Invoking: Keil 8051 Compiler
C51 "@src/Interrupts.__i" || test $? -lt 2

C51 COMPILER V9.60.0.0 - SN: Eval Version
COPYRIGHT Copyright (C) 2012 - 2019 ARM Ltd and ARM Germany GmbH. All rights reserved.

C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)
Finished building: ../src/Interrupts.c
 
Building file: ../src/SILABS_STARTUP.A51
Invoking: Keil 8051 Assembler
AX51 "@src/SILABS_STARTUP.__ia" || test $? -lt 2

MACRO ASSEMBLER AX51 V3.15.3.0
COPYRIGHT ARM Germany GmbH 2016
"G:\SiliconLabs\SimplicityStudio\v5\developer\toolchains\keil_8051\9.60\BIN\AX51.exe" "D:\NVIDIA_Orin\P3737_P3768_P2822_P3509_Power_Button_Firmware_v011\EFM8SB10F2G\src\SILABS_STARTUP.A51" ERRORPRINT SET (SMALL) DEBUG MACRO NOMOD51 INCDIR(D:\NVIDIA_Orin\P3737_P3768_P2822_P3509_Power_Button_Firmware_v011\EFM8SB10F2G\inc;G:/SiliconLabs/SimplicityStudio/v5/developer/sdks/8051/v4.3.0//Device/shared/si8051Base;G:/SiliconLabs/SimplicityStudio/v5/developer/sdks/8051/v4.3.0//Device/EFM8SB1/inc) PRINT(.\src\SILABS_STARTUP.lst) COND SYMBOLS PAGEWIDTH (120) PAGELENGTH (65) OBJECT(.\src\SILABS_STARTUP.OBJ)

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S).
Finished building: ../src/SILABS_STARTUP.A51
 
Building file: ../src/gpio.c
Invoking: Keil 8051 Compiler
C51 "@src/gpio.__i" || test $? -lt 2

C51 COMPILER V9.60.0.0 - SN: Eval Version
COPYRIGHT Copyright (C) 2012 - 2019 ARM Ltd and ARM Germany GmbH. All rights reserved.

C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)
Finished building: ../src/gpio.c
 
Building file: ../src/power.c
Invoking: Keil 8051 Compiler
C51 "@src/power.__i" || test $? -lt 2

C51 COMPILER V9.60.0.0 - SN: Eval Version
COPYRIGHT Copyright (C) 2012 - 2019 ARM Ltd and ARM Germany GmbH. All rights reserved.

C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)
Finished building: ../src/power.c
 
Building target: EFM8SB10F2G.omf
Invoking: Keil 8051 Linker
LX51 "@EFM8SB10F2G.lnp" || test $? -lt 2

LX51 LINKER/LOCATER V4.66.97.0 - SN: Eval Version
COPYRIGHT ARM Germany GmbH 1995 - 2019
@EFM8SB10F2G.lnp "./src/EFM8SB10F2G_main.OBJ",
"./src/InitDevice.OBJ",
"./src/Interrupts.OBJ",
"./src/SILABS_STARTUP.OBJ",
"./src/gpio.OBJ",
"./src/power.OBJ"
TO "EFM8SB10F2G.OMF.CRBUILD" REMOVEUNUSED PRINT(.\EFM8SB10F2G.m51) PAGEWIDTH (120) PAGELENGTH (65) CLASSES( ECODE(C:0x0 - C:0x7fe), HCONST(C:0x0 - C:0x7fe), XDATA(X:0x0 - X:0x1))

*** WARNING L48: IGNORED RECURSIVE CALL
    CALLED:  POWEROFF/POWER
    CALLER:  POWERINGOFF/POWER

*** WARNING L48: IGNORED RECURSIVE CALL
    CALLED:  POWERON/POWER
    CALLER:  RESET/POWER

*** ERROR L121: IMPROPER FIXUP
    MODULE:  ./src/Interrupts.OBJ (INTERRUPTS)
    SEGMENT: ?INTERRUPTS?0002B
    OFFSET:  00002BH

*** ERROR L121: IMPROPER FIXUP
    MODULE:  ./src/Interrupts.OBJ (INTERRUPTS)
    SEGMENT: ?PR?TIMER2_ISR?INTERRUPTS
    OFFSET:  0000C9H

******************************************************************************
* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 0527H BYTE (64%) *
******************************************************************************

Program Size: data=25.0 xdata=0 const=15 code=1463
LX51 RUN COMPLETE.  2 WARNING(S),  2 ERROR(S)
make: *** [makefile:45: EFM8SB10F2G.omf] Error 1
"make all" terminated with exit code 2. Build might be incomplete.

12:28:46 Build Failed. 3 errors, 2 warnings. (took 1s.440ms)

This is my post at SiLabs community.

Hi wipop.owlhor,

What’s your Jetpack version in use?

How did you flash the MCU? What interface are you using?
Have you tried to flash you MCU from Ubuntu host successfully?

It seems your current issue is still about the build failed issue rather than flash…

Yes, I guess the problem is about MCU project build failed.
I use [SiLabs debugger, bought from RS components] connect to my custom carrier board.
Compatible connector for SiLabs debugger is integrated on the carrier board.
The designed is almost followed to the official schematic.

Do you have the driver for that SiLabs debugger working on your custom carrier board? Or it is just a USB device for Jetson.

It seems not the official component from us.
I’ll suggest you fix the build issue first, and check if you could use it on ubuntu host.
Then, trying to use it on Jetson device.

Oh sorry, there may be some misunderstanding (not sure), Let me explain.
I’m going to upload the button MCU firmware from my windows PC (the project is on windows) to the EFM8 on carrier board. My PC seems to find EFM8 but can’t flash.


. The EFM8 is use to trig the power seq. to boot Xavier up (which it doesn’t boot up right now).

Okay, it seems that you want to use MCU to trigger the power sequence for Xavier NX.
Your current issue is about the build and flash failed for MCU(EFM8).
To flash the MCU, it’s the connection from your windows host to MCU directly through SiLabs debugger.
Please make sure your MCU is powered and measure the signal between them.

We could give limited support for this issue since we don’t have the setup of SiLab…

1 Like

Okay, thanks for your support.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.