Skip to content

Commit 9be8035

Browse files
Add example of running HS application on nSIM GDBserver
Default nSIM TCFs don't have LL64 enabled, but it is generated by the GCC, so nsim_isa_ll64_option=1 should be added to nSIM command line. Signed-off-by: Anton Kolesov <[email protected]>
1 parent da660c4 commit 9be8035

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,28 @@ And in another console (GDB output is omitted):
253253
(gdb) continue
254254
(gdb) q
255255

256+
If one of the HS TCFs is used, then it is required to add `-on
257+
nsim_isa_ll64_option` to nSIM options, because GCC for ARC automatically
258+
generates double-world memory operations, which are not enabled in TCFs
259+
supplied with nSIM:
260+
261+
$ $NSIM_HOME/bin/nsimdrv -gdb -port 51000 \
262+
-tcf $NSIM_HOME/etc/tcf/templates/hs36.tcf -on nsim_emt \
263+
-on nsim_isa_ll64_option
264+
265+
nSIM distribution doesn't containt big-endian TCFs, so `-on
266+
nsim_isa_big_endian` should be added to nSIM options to simulate big-endian
267+
cores:
268+
269+
$ $NSIM_HOME/bin/nsimdrv -gdb -port 51000 \
270+
-tcf $NSIM_HOME/etc/tcf/templates/em6_gp.tcf -on nsim_emt \
271+
-on nsim_isa_big_endian
272+
273+
Default linker script of GNU Tool chain for ARC is not compatible with memory
274+
maps of cores that only has CCM memory (EM4, EM5D, HS34), thus to run
275+
application on nSIM with those TCFs it is required to link application with
276+
linker script appropriate for selected core.
277+
256278
Please note that in case of gdbserver-based usage all execution, input and
257279
output happens on the side of host that runs gdbserver, so "hello world" string
258280
will be printed on the server side.

0 commit comments

Comments
 (0)