Summary
Building any project with board = sim800 fails at the link step with:
undefined symbol `platform_sim800_init' referenced in expression
collect2.exe: error: ld returned 1 exit status
Root cause
boards/sim800.json sets "variant": "sim800", and the logicromsdk build script adds:
-Wl,--defsym,platform_init=platform_%s_init -> platform_init=platform_sim800_init
But the compiled MT6261 SDK library (framework-logicromsdk v1.2.0, lib/mtk/liblogicrom.a) does not export a platform_sim800_init symbol. Checked with arm-none-eabi-nm, the only platform_*_init symbols present are:
platform_m56_init
platform_m66_init
platform_mc20_init
platform_mc20u_init
platform_mc60_init
platform_sim868_init
platform_sim800_init is not one of them. I also checked the logicromsdk release history — SIM868 support was added explicitly in v0.7.1, but SIM800 is never mentioned in any release notes, even though boards/sim800.json has existed in this repo claiming support for it.
Environment
platform-logicrom 1.1.0
framework-logicromsdk 1.2.0
toolchain-gccarmnoneeabi 1.80201.181220 (8.2.1)
- Windows 11
Workaround
Since SIMCom SIM800 and Quectel M66 share the same MCU (MT6261) and the same peripheral/connectivity profile (cellular + bluetooth, no GPS), pointing sim800's variant at "m66" (reusing platform_m66_init) resolves the link error and produces a working firmware image. It would be great to get an official platform_sim800_init (or a documented statement that m66's init is intended to be shared with SIM800) so users don't have to rely on an unverified stand-in.
Suggested fix
Either:
- Add a compiled
platform_sim800_init to the MT6261 SDK library, or
- Change
boards/sim800.json's "variant" to "m66" (or whichever init is confirmed correct for SIM800 hardware) until (1) lands.
Summary
Building any project with
board = sim800fails at the link step with:Root cause
boards/sim800.jsonsets"variant": "sim800", and thelogicromsdkbuild script adds:But the compiled MT6261 SDK library (
framework-logicromsdkv1.2.0,lib/mtk/liblogicrom.a) does not export aplatform_sim800_initsymbol. Checked witharm-none-eabi-nm, the onlyplatform_*_initsymbols present are:platform_sim800_initis not one of them. I also checked thelogicromsdkrelease history — SIM868 support was added explicitly in v0.7.1, but SIM800 is never mentioned in any release notes, even thoughboards/sim800.jsonhas existed in this repo claiming support for it.Environment
platform-logicrom1.1.0framework-logicromsdk1.2.0toolchain-gccarmnoneeabi1.80201.181220 (8.2.1)Workaround
Since
SIMCom SIM800andQuectel M66share the same MCU (MT6261) and the same peripheral/connectivity profile (cellular + bluetooth, no GPS), pointingsim800'svariantat"m66"(reusingplatform_m66_init) resolves the link error and produces a working firmware image. It would be great to get an officialplatform_sim800_init(or a documented statement thatm66's init is intended to be shared with SIM800) so users don't have to rely on an unverified stand-in.Suggested fix
Either:
platform_sim800_initto the MT6261 SDK library, orboards/sim800.json's"variant"to"m66"(or whichever init is confirmed correct for SIM800 hardware) until (1) lands.