Building firmware for GW32 - need help #7874
Replies: 6 comments 1 reply
-
|
Did that GW32 file not build in the repository it was in? Or you were trying to use it with the current firmware from https://github.com/espruino/Espruino? I'm not sure why you'd be getting But one issue you have is you're building with jeffmer's ports were always trying to work without including
|
Beta Was this translation helpful? Give feedback.
-
|
Yes I want to use the rather old board file with a new Espruino (cloned it end of August). My hope was to get something with nrf52840 and GC9A01 display, it is basically very similar to ID205 but with controller GC9A01 used in Dickens. I tried the ID205 built now, but this is not running with error: |
Beta Was this translation helpful? Give feedback.
-
|
As you expected same nrf error. Maybe I need an older version of this. Mine was installed a few days ago. |
Beta Was this translation helpful? Give feedback.
-
|
No idea why the reference is not found: 13:46 $ grep -rnwi -e 'nrf_queue_read' |
Beta Was this translation helpful? Give feedback.
-
|
Runs through after removing in nrf_queue.c :-) |
Beta Was this translation helpful? Give feedback.
-
|
adding -DNRF_QUEUE_ENABLED=1 in the board file cures the problem. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello all, I started to built a firmware for GW32 watch. I am not experienced with workflow, but managed to get Espruino running on a MDBT42Q board. The GW32 is still stock firmware, but I have a j-link interface to mass erase and flash something on it. If someone has hex files, it would be great.
My starting point was this board file:
https://github.com/jeffmer/Espruino/blob/master/boards/GW32UNBUF.py
First I needed to add paths for libs:
'INCLUDE += -I$(ROOT)/libs/banglejs -I$(ROOT)/libs/misc',
After this I got an error for LCD_BL. I compared the board file with DICKENS as it has same graphics and added:
Further I added
'BAT' : {
'pin_charging' : 'D22',
'pin_voltage' : 'D31'
}
GW32UNBUF.py
This was enough to generate bootloader file, but the release compile runs into error: unknown type name 'nrf_uarte_baudrate_t'
I found that this problem is known and can be adressed changing usart from 0 to 1. (https://github.com/orgs/espruino/discussions/1142)
Now I get errors in the LD step and warnings regarding spi_clk:
....
libs/graphics/lcd_spi_unbuf.c: At top level:
libs/graphics/lcd_spi_unbuf.c:29:12: warning: '_pin_clk' defined but not used [-Wunused-variable]
29 | static Pin _pin_clk;
| ^~~~~~~~
libs/graphics/lcd_spi_unbuf.c:28:12: warning: '_pin_mosi' defined but not used [-Wunused-variable]
28 | static Pin _pin_mosi;
| ^~~~~~~~~
....
LD bin/espruino_2v27.36_gw32unbuf.elf
/run/media/datacine/Data_Dg/Arduino/Espruino/test_Espruino/Espruino/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /run/media/datacine/Data_Dg/Arduino/Espruino/test_Espruino/Espruino/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/softfp/libc_nano.a(libc_a-closer.o): in function
_close_r': closer.c:(.text._close_r+0xc): warning: _close is not implemented and will always fail /run/media/datacine/Data_Dg/Arduino/Espruino/test_Espruino/Espruino/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /run/media/datacine/Data_Dg/Arduino/Espruino/test_Espruino/Espruino/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/softfp/libc_nano.a(libc_a-lseekr.o): in function_lseek_r':lseekr.c:(.text._lseek_r+0x10): warning: _lseek is not implemented and will always fail
/run/media/datacine/Data_Dg/Arduino/Espruino/test_Espruino/Espruino/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /run/media/datacine/Data_Dg/Arduino/Espruino/test_Espruino/Espruino/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/softfp/libc_nano.a(libc_a-readr.o): in function
_read_r': readr.c:(.text._read_r+0x10): warning: _read is not implemented and will always fail /run/media/datacine/Data_Dg/Arduino/Espruino/test_Espruino/Espruino/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /run/media/datacine/Data_Dg/Arduino/Espruino/test_Espruino/Espruino/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/softfp/libc_nano.a(libc_a-writer.o): in function_write_r':writer.c:(.text._write_r+0x10): warning: _write is not implemented and will always fail
/run/media/datacine/Data_Dg/Arduino/Espruino/test_Espruino/Espruino/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /tmp/ccUyNUt7.ltrans2.ltrans.o: in function
jshKickSoftWatchDog': /run/media/datacine/Data_Dg/Arduino/Espruino/test_Espruino/Espruino/src/jshardware_common.c:164:(.text.jshKickSoftWatchDog+0x2): undefined reference tojswrap_banglejs_kickPollWatchdog'/run/media/datacine/Data_Dg/Arduino/Espruino/test_Espruino/Espruino/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /tmp/ccUyNUt7.ltrans3.ltrans.o: in function
main': /run/media/datacine/Data_Dg/Arduino/Espruino/test_Espruino/Espruino/src/jsinteractive.c:2259:(.text.startup.main+0x6ba): undefined reference tojsbangle_exec_pending'/run/media/datacine/Data_Dg/Arduino/Espruino/test_Espruino/Espruino/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /tmp/ccUyNUt7.ltrans7.ltrans.o: in function
ecc_rng.lto_priv.0': /run/media/datacine/Data_Dg/Arduino/Espruino/test_Espruino/Espruino/targetlibs/nrf5x_15/integration/nrfx/legacy/nrf_drv_rng.c:193:(.text.ecc_rng.lto_priv.0+0x42): undefined reference tonrf_queue_read'/run/media/datacine/Data_Dg/Arduino/Espruino/test_Espruino/Espruino/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: /tmp/ccUyNUt7.ltrans9.ltrans.o: in function
jsfCompact.isra.0': /run/media/datacine/Data_Dg/Arduino/Espruino/test_Espruino/Espruino/src/jsflash.c:633:(.text.jsfCompact.isra.0+0x2): undefined reference tojswrap_banglejs_getBattery'collect2: error: ld returned 1 exit status
make: *** [make/targets/ARM.make:3: bin/espruino_2v27.36_gw32unbuf.elf] Fehler 1
I hope that someone with better experience can help me out to get something running on the GW32.
Beta Was this translation helpful? Give feedback.
All reactions