Important update: Arm Announces End of Life Timeline for Mbed. This site will be archived in July 2026. Read the full announcement.
Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
Mbedos Jerryscript for NRF52840_DK
I have successfully compiled the jerryscript source ( https://github.com/ARMmbed/mbed-js-repl-example) for nRF52832 by using the "gulp --target=NRF52_DK" build command. But faced the following error while build the same jerry source code for nRF52840 by using "gulp --target=NRF52840_DK" command.
Lenovo-Z580:~/repel/mbed-js-repl-example$ gulp --target=NRF52840_DK
[17:55:05] Using gulpfile ~/repel/mbed-js-repl-example/Gulpfile.js
[17:55:05] Starting 'make-build-dir'...
[17:55:05] Finished 'make-build-dir' after 145 μs
[17:55:05] Starting 'makefile'...
[17:55:05] Starting 'bundle'...
[17:55:05] Starting 'ignorefile'...
[17:55:06] Finished 'makefile' after 189 ms
[17:55:06] Starting 'get-jerryscript'...
[17:55:06] Finished 'get-jerryscript' after 130 μs
[17:55:06] Starting 'getlibs'...
[17:55:06] Finished 'getlibs' after 13 ms
$ make getlibs
make: Nothing to be done for 'getlibs'.
[17:55:06] Finished 'ignorefile' after 185 ms
[17:55:06] Finished 'bundle' after 687 ms
[17:55:06] Starting 'cppify'...
[17:55:07] Finished 'cppify' after 741 ms
[17:55:07] Starting 'build'...
[17:55:08] Found native packages: mbed-js-repl
$ make BOARD=NRF52840_DK EXTRAS=/home/pc/repel/mbed-js-repl-example/node_modules/mbed-js-repl/.
[17:55:10] build/make
[17:55:10] Finished 'build' after 3.26 s
[17:55:10] Starting 'default'...
[17:55:10] Finished 'default' after 55 μs
cd jerryscript/targets/mbedos5 && pip install -r tools/requirements.txt && rm -f source/js_encoded.cpp && rm -f source/pins.cpp && rm -f source/main.cpp && make BOARD=NRF52840_DK EXTRA_SRC="/home/pc/repel/mbed-js-repl-example/node_modules/mbed-js-repl/.:../../../source" EXTERN_BUILD_DIR=../../../out/NRF52840_DK NO_JS=1
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
Requirement already satisfied: pycparser<=2.17 in /usr/local/lib/python2.7/dist-packages (from -r tools/requirements.txt (line 1)) (2.17)
Requirement already satisfied: simpleeval in /usr/local/lib/python2.7/dist-packages (from -r tools/requirements.txt (line 2)) (0.9.8)
Requirement already satisfied: pycparserext in /usr/local/lib/python2.7/dist-packages (from -r tools/requirements.txt (line 3)) (2016.2)
Requirement already satisfied: ply>=3.4 in /usr/local/lib/python2.7/dist-packages (from pycparserext->-r tools/requirements.txt (line 3)) (3.11)
make[1]: Entering directory '/home/pc/repel/mbed-js-repl-example/build/jerryscript/targets/mbedos5'
python tools/generate_pins.py NRF52840_DK
In file included from ./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_SDK13/device/nrf.h:74:0,
from ./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_SDK13/drivers_nrf/hal/nrf_gpio.h:41,
from ./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF52840/TARGET_NRF52840_DK/PinNames.h:43:
./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_SDK13/device/nrf52840.h:143:130: fatal error: core_cm4.h: No such file or directory
#include "core_cm4.h" /*!< Cortex-M4 processor and core peripherals */
^
compilation terminated.
Traceback (most recent call last):
File "tools/generate_pins.py", line 247, in <module>
main()
File "tools/generate_pins.py", line 240, in main
pins = [(x, pins[x]) for x in pins] # turn dict into tuples, which can be sorted
TypeError: 'NoneType' object is not iterable
Makefile:72: recipe for target 'source/pins.cpp' failed
make[1]: Leaving directory '/home/pc/repel/mbed-js-repl-example/build/jerryscript/targets/mbedos5'
make[1]: *** [source/pins.cpp] Error 1
Makefile:14: recipe for target 'all' failed
make: *** [all] Error 2
events.js:183
throw er; // Unhandled 'error' event
^
Error: Command `make BOARD=NRF52840_DK EXTRAS=/home/pc/repel/mbed-js-repl-example/node_modules/mbed-js-repl/.` exited with code 2
at ChildProcess.handleSubShellExit (/home/pc/repel/mbed-js-repl-example/node_modules/gulp-run/command.js:166:13)
at Object.onceWrapper (events.js:317:30)
at emitTwo (events.js:126:13)
at ChildProcess.emit (events.js:214:7)
at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
I can fix this error by manually copy the cmsis header files into "./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_SDK13/device/nrf52840.h" then the header file required error resolved. But faced the following error
-Lenovo-Z580:~/repel/mbed-js-repl-example$ gulp --target=NRF52840_DK
[18:09:48] Using gulpfile ~/repel/mbed-js-repl-example/Gulpfile.js
[18:09:48] Starting 'make-build-dir'...
[18:09:48] Finished 'make-build-dir' after 146 μs
[18:09:48] Starting 'makefile'...
[18:09:48] Starting 'bundle'...
[18:09:48] Starting 'ignorefile'...
[18:09:48] Finished 'ignorefile' after 29 ms
[18:09:48] Finished 'makefile' after 48 ms
[18:09:48] Starting 'get-jerryscript'...
[18:09:48] Finished 'get-jerryscript' after 98 μs
[18:09:48] Starting 'getlibs'...
[18:09:48] Finished 'getlibs' after 16 ms
$ make getlibs
make: Nothing to be done for 'getlibs'.
[18:09:48] Finished 'bundle' after 111 ms
[18:09:48] Starting 'cppify'...
[18:09:48] Finished 'cppify' after 31 ms
[18:09:48] Starting 'build'...
[18:09:49] Found native packages: mbed-js-repl
$ make BOARD=NRF52840_DK EXTRAS=/home/pc/repel/mbed-js-repl-example/node_modules/mbed-js-repl/.
[18:09:50] build/make
[18:09:50] Finished 'build' after 1.82 s
[18:09:50] Starting 'default'...
[18:09:50] Finished 'default' after 31 μs
cd jerryscript/targets/mbedos5 && pip install -r tools/requirements.txt && rm -f source/js_encoded.cpp && rm -f source/pins.cpp && rm -f source/main.cpp && make BOARD=NRF52840_DK EXTRA_SRC="/home/pc/repel/mbed-js-repl-example/node_modules/mbed-js-repl/.:../../../source" EXTERN_BUILD_DIR=../../../out/NRF52840_DK NO_JS=1
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
Requirement already satisfied: pycparser<=2.17 in /usr/local/lib/python2.7/dist-packages (from -r tools/requirements.txt (line 1)) (2.17)
Requirement already satisfied: simpleeval in /usr/local/lib/python2.7/dist-packages (from -r tools/requirements.txt (line 2)) (0.9.8)
Requirement already satisfied: pycparserext in /usr/local/lib/python2.7/dist-packages (from -r tools/requirements.txt (line 3)) (2016.2)
Requirement already satisfied: ply>=3.4 in /usr/local/lib/python2.7/dist-packages (from pycparserext->-r tools/requirements.txt (line 3)) (3.11)
make[1]: Entering directory '/home/pc/repel/mbed-js-repl-example/build/jerryscript/targets/mbedos5'
python tools/generate_pins.py NRF52840_DK
In file included from ./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_SDK13/device/nrf52840.h:143:0,
from ./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_SDK13/device/nrf.h:74,
from ./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_SDK13/drivers_nrf/hal/nrf_gpio.h:41,
from ./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF52840/TARGET_NRF52840_DK/PinNames.h:43:
./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_SDK13/device/core_cm4.h:220:0: warning: "__IO" redefined
#define __IO volatile /*!< Defines 'read / write' permissions */
^
<command-line>:0:0: note: this is the location of the previous definition
Traceback (most recent call last):
File "tools/generate_pins.py", line 247, in <module>
main()
File "tools/generate_pins.py", line 237, in main
pins = enumerate_pins(pins_file, ['./tools'] + list(includes), defines)
File "tools/generate_pins.py", line 154, in enumerate_pins
parser=GnuCParser())
File "/usr/local/lib/python2.7/dist-packages/pycparser/__init__.py", line 93, in parse_file
return parser.parse(text, filename)
File "/usr/local/lib/python2.7/dist-packages/pycparserext/ext_c_parser.py", line 64, in parse
return self.cparser.parse(text, lexer=self.clex, debug=debuglevel)
File "/usr/local/lib/python2.7/dist-packages/pycparser/ply/yacc.py", line 331, in parse
return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc)
File "/usr/local/lib/python2.7/dist-packages/pycparser/ply/yacc.py", line 1106, in parseopt_notrack
p.callable(pslice)
File "/usr/local/lib/python2.7/dist-packages/pycparser/c_parser.py", line 654, in p_decl_body
typedef_namespace=True)
File "/usr/local/lib/python2.7/dist-packages/pycparser/c_parser.py", line 394, in _build_declarations
self._parse_error('Invalid declaration', coord)
File "/usr/local/lib/python2.7/dist-packages/pycparser/plyparser.py", line 55, in _parse_error
raise ParseError("%s: %s" % (coord, msg))
pycparser.plyparser.ParseError: /usr/include/newlib/sys/_stdint.h:32: Invalid declaration
Makefile:72: recipe for target 'source/pins.cpp' failed
make[1]: Leaving directory '/home/pc/repel/mbed-js-repl-example/build/jerryscript/targets/mbedos5'
make[1]: *** [source/pins.cpp] Error 1
Makefile:14: recipe for target 'all' failed
make: *** [all] Error 2
events.js:183
throw er; // Unhandled 'error' event
^
Error: Command `make BOARD=NRF52840_DK EXTRAS=/home/pc/repel/mbed-js-repl-example/node_modules/mbed-js-repl/.` exited with code 2
at ChildProcess.handleSubShellExit (/home/pc/repel/mbed-js-repl-example/node_modules/gulp-run/command.js:166:13)
at Object.onceWrapper (events.js:317:30)
at emitTwo (events.js:126:13)
at ChildProcess.emit (events.js:214:7)
at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
i checked the "/usr/include/newlib/sys/_stdint.h" line 32 & found the Invalid declaration error is "typedef __uint32_t uint32_t;"(Refer attached file [[[/media/uploads/suresh93/_stdint.h]]
_stdint.h ). Based on some of the web reference i include the stdint.h file into the "/usr/include/newlib/sys/_stdint.h:" file . But the issue not resolved.
Could you help to resolve this issue
I have successfully compiled the jerryscript source ( https://github.com/ARMmbed/mbed-js-repl-example) for nRF52832 by using the "gulp
target=NRF52_DK" build command. But faced the following error while build the same jerry source code for nRF52840 by using "gulptarget=NRF52840_DK" command.Lenovo-Z580:/repel/mbed-js-repl-example$ gulp
target=NRF52840_DK [17:55:05] Using gulpfile /repel/mbed-js-repl-example/Gulpfile.js [17:55:05] Starting 'make-build-dir'... [17:55:05] Finished 'make-build-dir' after 145 μs [17:55:05] Starting 'makefile'... [17:55:05] Starting 'bundle'... [17:55:05] Starting 'ignorefile'... [17:55:06] Finished 'makefile' after 189 ms [17:55:06] Starting 'get-jerryscript'... [17:55:06] Finished 'get-jerryscript' after 130 μs [17:55:06] Starting 'getlibs'... [17:55:06] Finished 'getlibs' after 13 ms $ make getlibs make: Nothing to be done for 'getlibs'. [17:55:06] Finished 'ignorefile' after 185 ms [17:55:06] Finished 'bundle' after 687 ms [17:55:06] Starting 'cppify'... [17:55:07] Finished 'cppify' after 741 ms [17:55:07] Starting 'build'... [17:55:08] Found native packages: mbed-js-repl $ make BOARD=NRF52840_DK EXTRAS=/home/pc/repel/mbed-js-repl-example/node_modules/mbed-js-repl/. [17:55:10] build/make [17:55:10] Finished 'build' after 3.26 s [17:55:10] Starting 'default'... [17:55:10] Finished 'default' after 55 μs cd jerryscript/targets/mbedos5 && pip install -r tools/requirements.txt && rm -f source/js_encoded.cpp && rm -f source/pins.cpp && rm -f source/main.cpp && make BOARD=NRF52840_DK EXTRA_SRC="/home/pc/repel/mbed-js-repl-example/node_modules/mbed-js-repl/.:../../../source" EXTERN_BUILD_DIR=../../../out/NRF52840_DK NO_JS=1 DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. Requirement already satisfied: pycparser<=2.17 in /usr/local/lib/python2.7/dist-packages (from -r tools/requirements.txt (line 1)) (2.17) Requirement already satisfied: simpleeval in /usr/local/lib/python2.7/dist-packages (from -r tools/requirements.txt (line 2)) (0.9.8) Requirement already satisfied: pycparserext in /usr/local/lib/python2.7/dist-packages (from -r tools/requirements.txt (line 3)) (2016.2) Requirement already satisfied: ply>=3.4 in /usr/local/lib/python2.7/dist-packages (from pycparserext->-r tools/requirements.txt (line 3)) (3.11) make[1]: Entering directory '/home/pc/repel/mbed-js-repl-example/build/jerryscript/targets/mbedos5' python tools/generate_pins.py NRF52840_DK In file included from ./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_SDK13/device/nrf.h:74:0, from ./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_SDK13/drivers_nrf/hal/nrf_gpio.h:41, from ./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF52840/TARGET_NRF52840_DK/PinNames.h:43: ./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_SDK13/device/nrf52840.h:143:130: fatal error: core_cm4.h: No such file or directoryError: Command `make BOARD=NRF52840_DK EXTRAS=/home/pc/repel/mbed-js-repl-example/node_modules/mbed-js-repl/.` exited with code 2 at ChildProcess.handleSubShellExit (/home/pc/repel/mbed-js-repl-example/node_modules/gulp-run/command.js:166:13) at Object.onceWrapper (events.js:317:30) at emitTwo (events.js:126:13) at ChildProcess.emit (events.js:214:7) at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
I can fix this error by manually copy the cmsis header files into "./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_SDK13/device/nrf52840.h" then the header file required error resolved. But faced the following error
-Lenovo-Z580:/repel/mbed-js-repl-example$ gulp
target=NRF52840_DK [18:09:48] Using gulpfile /repel/mbed-js-repl-example/Gulpfile.js [18:09:48] Starting 'make-build-dir'... [18:09:48] Finished 'make-build-dir' after 146 μs [18:09:48] Starting 'makefile'... [18:09:48] Starting 'bundle'... [18:09:48] Starting 'ignorefile'... [18:09:48] Finished 'ignorefile' after 29 ms [18:09:48] Finished 'makefile' after 48 ms [18:09:48] Starting 'get-jerryscript'... [18:09:48] Finished 'get-jerryscript' after 98 μs [18:09:48] Starting 'getlibs'... [18:09:48] Finished 'getlibs' after 16 ms $ make getlibs make: Nothing to be done for 'getlibs'. [18:09:48] Finished 'bundle' after 111 ms [18:09:48] Starting 'cppify'... [18:09:48] Finished 'cppify' after 31 ms [18:09:48] Starting 'build'... [18:09:49] Found native packages: mbed-js-repl $ make BOARD=NRF52840_DK EXTRAS=/home/pc/repel/mbed-js-repl-example/node_modules/mbed-js-repl/. [18:09:50] build/make [18:09:50] Finished 'build' after 1.82 s [18:09:50] Starting 'default'... [18:09:50] Finished 'default' after 31 μs cd jerryscript/targets/mbedos5 && pip install -r tools/requirements.txt && rm -f source/js_encoded.cpp && rm -f source/pins.cpp && rm -f source/main.cpp && make BOARD=NRF52840_DK EXTRA_SRC="/home/pc/repel/mbed-js-repl-example/node_modules/mbed-js-repl/.:../../../source" EXTERN_BUILD_DIR=../../../out/NRF52840_DK NO_JS=1 DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7. Requirement already satisfied: pycparser<=2.17 in /usr/local/lib/python2.7/dist-packages (from -r tools/requirements.txt (line 1)) (2.17) Requirement already satisfied: simpleeval in /usr/local/lib/python2.7/dist-packages (from -r tools/requirements.txt (line 2)) (0.9.8) Requirement already satisfied: pycparserext in /usr/local/lib/python2.7/dist-packages (from -r tools/requirements.txt (line 3)) (2016.2) Requirement already satisfied: ply>=3.4 in /usr/local/lib/python2.7/dist-packages (from pycparserext->-r tools/requirements.txt (line 3)) (3.11) make[1]: Entering directory '/home/pc/repel/mbed-js-repl-example/build/jerryscript/targets/mbedos5' python tools/generate_pins.py NRF52840_DK In file included from ./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_SDK13/device/nrf52840.h:143:0, from ./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_SDK13/device/nrf.h:74, from ./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_SDK13/drivers_nrf/hal/nrf_gpio.h:41, from ./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_MCU_NRF52840/TARGET_NRF52840_DK/PinNames.h:43: ./mbed-os/targets/TARGET_NORDIC/TARGET_NRF5/TARGET_SDK13/device/core_cm4.h:220:0: warning: "IO" redefinedError: Command `make BOARD=NRF52840_DK EXTRAS=/home/pc/repel/mbed-js-repl-example/node_modules/mbed-js-repl/.` exited with code 2 at ChildProcess.handleSubShellExit (/home/pc/repel/mbed-js-repl-example/node_modules/gulp-run/command.js:166:13) at Object.onceWrapper (events.js:317:30) at emitTwo (events.js:126:13) at ChildProcess.emit (events.js:214:7) at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
i checked the "/usr/include/newlib/sys/_stdint.h" line 32 & found the Invalid declaration error is "typedef uint32_t uint32_t;"(Refer attached file [/media/uploads/suresh93/_stdint.h _stdint.h ). Based on some of the web reference i include the stdint.h file into the "/usr/include/newlib/sys/_stdint.h:" file . But the issue not resolved.
Could you help to resolve this issue