Git Product home page Git Product logo

osd-sw's People

Contributors

imphil avatar shivmgg avatar thomasleyk avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

osd-sw's Issues

Move away from Shippable

After being acquired by by JFrog Shippable stopped maintaining their service in March last year. Today, builds are broken, and I wouldn't expect that situation to improve. We need to move away from them, probably towards Azure Pipelines or GH Actions.

Implement OSD-GDB server bridge

We need an OSD-GDB server bridge to provide an interface between GDB and Open SoC Debug system.

It should implement GDB Remote Serial Protocol (RSP) which provides a high-level protocol allowing GDB to connect to any target remotely.

The current implementation should support OpenRISC 1000 architecture.
There are 2 data areas that are manipulated by the instruction set.

  • Main memory. A uniform address space with 32 addressing. Provision for separate or unified instruction and data and instruction caches. Provision for separate or unified, 1 or 2-level data and instruction MMUs.
  • Special Purpose Registers (SPRs). Up to 32 groups each with up to 2048 registers, up to 32 in length. These registers provide all the administrative functionality of the processor: program counter, processor status, saved exception registers, debug interface, MMU and cache interfaces, etc.

These features can be accessed using MAM and CDM module.

GIL error when using callback in Python API

I tried to create a minimal example of what triggers the problem. I created a clean directory with the latest master release of both OpTimSoC and osd-sw and installed the Pyhon bindings.
I get Fatal Python error: take_gil: NULL tstate when I run the following script:

import logging
from time import sleep
import osd
LOCALHOST = "tcp://0.0.0.0:9537"

def main():
    logging.basicConfig(format='%(levelname)s %(name)s %(asctime)s %(filename)s:%(lineno)s %(message)s',
                        level='INFO')
    log = osd.Log()

    # Start host controller
    _hostctrl = osd.Hostctrl(log, LOCALHOST)
    _hostctrl.start()

    class rcv_gw():
        def __init__(self, log, host_controller):
            self.hm = osd.Hostmod(log, host_controller, event_handler=self.handler)
            self.rcvd = []
            self.hm.connect()
            assert self.hm.is_connected()
        def handler(self, pkt):
            self.rcvd.append(pkt.payload)
            return True

    hm = osd.Hostmod(log, LOCALHOST)
    hm.connect()
    assert hm.is_connected()

    gw = rcv_gw(log, LOCALHOST)

    pkt_sent = []
    assert len(gw.rcvd) == len(pkt_sent)
    for i in range(10):
        pkt_sent.append(osd.Packet())
        pkt_sent[-1].set_header(dest=gw.hm.diaddr, src=hm.diaddr,
                                type=osd.Packet.TYPE_EVENT, type_sub=0)
        pkt_sent[-1].payload.append(i)
        hm.event_send(pkt_sent[-1])

    sleep(0.5)
    assert(len(gw.rcvd) == len(pkt_sent))

    for i in range(10):
        assert pkt_sent[i].payload[0] == gw.rcvd[i].payload[0]

    hm.disconnect()
    gw.hm.disconnect()

if __name__ == "__main__":
    main()

If I don't use the callback and instead poll gw.hm.event_receive() everything works fine.

osd-target-run: Ensure that ELF file exists and is a file

Passing a non-existing ELF file, or a directory, to osd-target-run does not result in an error message, but in wrong behavior:

$ ~/swinstall/osd/bin/osd-target-run -e /home/philipp/src/diasys/casestudies/transactioncheck/bug-negative-msgs --coretrace --systrace
[ERROR] libosd: invalid file descriptor
[ERROR] osd-target-run: Unable to use ELF file /home/philipp/src/diasys/casestudies/transactioncheck/bug-negative-msgs to decode control trace.
[ERROR] libosd: invalid file descriptor
[ERROR] osd-target-run: Unable to use ELF file /home/philipp/src/diasys/casestudies/transactioncheck/bug-negative-msgs to decode control trace.
[ERROR] libosd: invalid file descriptor
[ERROR] osd-target-run: Unable to use ELF file /home/philipp/src/diasys/casestudies/transactioncheck/bug-negative-msgs to decode control trace.

Fix GCC 8 compiler warnings

In file included from osd-device-gateway.c:24:
../cli-util.h: In function ‘main’:
../cli-util.h:347:46: warning: division ‘sizeof (void **) / sizeof (void *)’ does not compute the number of array elements [-Wsizeof-pointer-div]
     arg_freetable(argtable, sizeof(argtable) / sizeof(argtable[0]));
                                              ^
../cli-util.h:74:8: note: first ‘sizeof’ operand was declared here
 void** argtable = NULL;
        ^~~~~~~~
  CCLD     osd-device-gateway
Making all in osd-target-run
  CC       osd-target-run.o
In file included from osd-target-run.c:30:
../cli-util.h: In function ‘main’:
../cli-util.h:347:46: warning: division ‘sizeof (void **) / sizeof (void *)’ does not compute the number of array elements [-Wsizeof-pointer-div]
     arg_freetable(argtable, sizeof(argtable) / sizeof(argtable[0]));
                                              ^
../cli-util.h:74:8: note: first ‘sizeof’ operand was declared here
 void** argtable = NULL;
        ^~~~~~~~

Possibly look for a newer argtable version, or update upstream?

check_cl_mam: the current unit test fails

The check_cl_mam unit test failed while running "make check" command in the build directory.
Pass/fail remarks per test function are listed below.

FAIL: check_cl_mam
==================

Running suite(s): check_cl_mam
75%: Checks: 8, Failures: 2, Errors: 0
../../../tests/unit/check_cl_mam.c:79:P:Utility Functionality:test_get_mem_desc:0: Passed
../../../tests/unit/check_cl_mam.c:91:P:Utility Functionality:test_get_mem_desc_err:0: Passed
../../../tests/unit/check_cl_mam.c:143:P:Memory writes:test_write_single:0: Passed
../../../tests/unit/check_cl_mam.c:173:P:Memory writes:test_write_single_unaligned:0: Passed
../../../tests/unit/mock_hostmod.c:173:F:Memory writes:test_write_burst:0: Unable to open packet dump file check_cl_mam_write_burst.pkgdump.
../../../tests/unit/mock_hostmod.c:173:F:Memory writes:test_write_burst_unaligned:0: Unable to open packet dump file check_cl_mam_write_burst_unaligned.pkgdump.
../../../tests/unit/check_cl_mam.c:268:P:Memory reads:test_read_single:0: Passed
../../../tests/unit/check_cl_mam.c:310:P:Memory reads:test_read_single_unaligned:0: Passed
FAIL check_cl_mam (exit status: 1)

Implement a CDM client class (cdm_cli)

To support run-control debugging through GDB and CDM module, we need to implement a CDM client class.
CDM client class should provide an API to access the functionality of the Core Debug Module (CDM). This class essentially wraps the special functionality of the CDM into more descriptive function names.

Shutdown crash with GLIP USB3 backend

Python currently crashes after executing my script to connect to an FPGA, program the cores, and trace the software output. However, it only crashes when I use the stm loggers.
Here's the output when I execute the script with:
gdb -return-child-result -batch -ex r -ex bt --args ./venv/bin/python3 src/host/demonstrator_runner/demonstrator_runner.py

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Starting demonstrator runner...
[New Thread 0x7ffff3edd700 (LWP 10419)]
[New Thread 0x7ffff36dc700 (LWP 10420)]
[New Thread 0x7ffff2edb700 (LWP 10421)]
[New Thread 0x7ffff26da700 (LWP 10422)]
[New Thread 0x7ffff1ed9700 (LWP 10423)]
[New Thread 0x7ffff12d6700 (LWP 10424)]
[New Thread 0x7ffff0ad5700 (LWP 10425)]
[New Thread 0x7fffe3fff700 (LWP 10426)]
INFO osd 2019-07-16 16:44:27,247 backend_cypressfx3.c:347 glip: Detected FX3 firmware with 16 bit FIFO width.
[New Thread 0x7fffe37fe700 (LWP 10427)]
INFO osd 2019-07-16 16:44:27,796 backend_cypressfx3.c:823 glip: Unable to transfer data to USB device. Error code: -1
Modules in Demonstrator
  0.0: OSD SCM v0 (1.1)
  0.1: OSD MAM v0 (1.3)
  0.2: OSD STM v0 (1.4)
  0.3: OSD CTM v0 (1.5)
  0.4: OSD MAM v0 (1.3)
  0.5: OSD STM v0 (1.4)
  0.6: OSD CTM v0 (1.5)
  0.7: OSD STM v0 (1.4)
  0.8: OSD CTM v0 (1.5)
  0.9: OSD MAM v0 (1.3)
  0.10: OSD STM v0 (1.4)
  0.11: OSD CTM v0 (1.5)
  0.12: OSD STM v0 (1.4)
  0.13: OSD CTM v0 (1.5)
  0.14: TUMLIS NOC_BRIDGE v0 (4.4)
  0.15: OSD MAM v0 (1.3)
  0.16: OSD STM v0 (1.4)
  0.17: OSD CTM v0 (1.5)
  0.18: OSD MAM v0 (1.3)
  0.19: OSD STM v0 (1.4)
  0.20: OSD CTM v0 (1.5)
  0.21: OSD MAM v0 (1.3)
  0.22: OSD STM v0 (1.4)
  0.23: OSD CTM v0 (1.5)
  0.24: OSD MAM v0 (1.3)
  0.25: OSD STM v0 (1.4)
  0.26: OSD CTM v0 (1.5)
  0.27: OSD STM v0 (1.4)
  0.28: OSD CTM v0 (1.5)
  0.29: OSD MAM v0 (1.3)
  0.30: OSD STM v0 (1.4)
  0.31: OSD CTM v0 (1.5)
Setting up system trace loggers
  DI addr 2
[New Thread 0x7fffe2ffd700 (LWP 10433)]
  DI addr 5
[New Thread 0x7fffe27fc700 (LWP 10434)]
  DI addr 7
[New Thread 0x7fffe1ffb700 (LWP 10435)]
  DI addr 10
[New Thread 0x7fffe17fa700 (LWP 10436)]
  DI addr 12
[New Thread 0x7fffe0ff9700 (LWP 10437)]
  DI addr 16
[New Thread 0x7fffbbfff700 (LWP 10438)]
  DI addr 19
[New Thread 0x7fffbb7fe700 (LWP 10439)]
  DI addr 22
[New Thread 0x7fffbaffd700 (LWP 10440)]
  DI addr 25
[New Thread 0x7fffba7fc700 (LWP 10441)]
  DI addr 27
[New Thread 0x7fffb9ffb700 (LWP 10442)]
  DI addr 30
[New Thread 0x7fffb97fa700 (LWP 10443)]
[New Thread 0x7fffb8ff9700 (LWP 10444)]
Loading memories
  Memory of tile 0
INFO osd 2019-07-16 16:44:29,447 memaccess.c:210 Load program header 0
INFO osd 2019-07-16 16:44:29,448 memaccess.c:210 Load program header 1
  Memory of tile 1
INFO osd 2019-07-16 16:44:29,611 memaccess.c:210 Load program header 0
INFO osd 2019-07-16 16:44:29,611 memaccess.c:210 Load program header 1
  Memory of tile 2
INFO osd 2019-07-16 16:44:29,696 memaccess.c:210 Load program header 0
INFO osd 2019-07-16 16:44:29,696 memaccess.c:210 Load program header 1
  Memory of tile 3
INFO osd 2019-07-16 16:44:29,789 memaccess.c:210 Load program header 0
INFO osd 2019-07-16 16:44:29,789 memaccess.c:210 Load program header 1
  Memory of tile 4
INFO osd 2019-07-16 16:44:29,885 memaccess.c:210 Load program header 0
INFO osd 2019-07-16 16:44:29,885 memaccess.c:210 Load program header 1
  Memory of tile 5
INFO osd 2019-07-16 16:44:29,975 memaccess.c:210 Load program header 0
INFO osd 2019-07-16 16:44:29,975 memaccess.c:210 Load program header 1
  Memory of tile 6
INFO osd 2019-07-16 16:44:30,069 memaccess.c:210 Load program header 0
INFO osd 2019-07-16 16:44:30,069 memaccess.c:210 Load program header 1
  Memory of tile 7
INFO osd 2019-07-16 16:44:30,157 memaccess.c:210 Load program header 0
INFO osd 2019-07-16 16:44:30,157 memaccess.c:210 Load program header 1
Starting CPUs
[Thread 0x7fffb8ff9700 (LWP 10444) exited]
Executing software for 5 seconds
Ending observation, shutting down
[Thread 0x7fffe3fff700 (LWP 10426) exited]
[Thread 0x7ffff12d6700 (LWP 10424) exited]
[Thread 0x7ffff0ad5700 (LWP 10425) exited]
Demonstrator runner finished.
[Thread 0x7fffb97fa700 (LWP 10443) exited]
[Thread 0x7fffb9ffb700 (LWP 10442) exited]
[Thread 0x7fffba7fc700 (LWP 10441) exited]
[Thread 0x7fffbaffd700 (LWP 10440) exited]
[Thread 0x7fffbb7fe700 (LWP 10439) exited]
[Thread 0x7fffbbfff700 (LWP 10438) exited]
[Thread 0x7fffe0ff9700 (LWP 10437) exited]
*** Error in `/data/home/gu95wey/workspace/aramis/demonstrator/venv/bin/python3': corrupted double-linked list: 0x0000000000cd5c80 ***
[Thread 0x7fffe17fa700 (LWP 10436) exited]
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7ffff78677e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x80baf)[0x7ffff7870baf]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7ffff787453c]
/usr/lib/x86_64-linux-gnu/libzmq.so.5(+0x1d23e)[0x7ffff490923e]
/usr/lib/x86_64-linux-gnu/libzmq.so.5(+0x488ba)[0x7ffff49348ba]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7ffff7bc16ba]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7ffff78f741d]
======= Memory map: ========
00400000-007aa000 r-xp 00000000 fc:00 1197004                            /usr/bin/python3.5
009a9000-009ab000 r--p 003a9000 fc:00 1197004                            /usr/bin/python3.5
009ab000-00a42000 rw-p 003ab000 fc:00 1197004                            /usr/bin/python3.5
00a42000-00d55000 rw-p 00000000 00:00 0                                  [heap]
7fff94000000-7fff94021000 rw-p 00000000 00:00 0 
7fff94021000-7fff98000000 ---p 00000000 00:00 0 
7fff9c000000-7fff9c021000 rw-p 00000000 00:00 0 
7fff9c021000-7fffa0000000 ---p 00000000 00:00 0 
7fffa0000000-7fffa0034000 rw-p 00000000 00:00 0 
7fffa0034000-7fffa4000000 ---p 00000000 00:00 0 
7fffa4000000-7fffa4021000 rw-p 00000000 00:00 0 
7fffa4021000-7fffa8000000 ---p 00000000 00:00 0 
7fffa8000000-7fffa8021000 rw-p 00000000 00:00 0 
7fffa8021000-7fffac000000 ---p 00000000 00:00 0 
7fffac000000-7fffac021000 rw-p 00000000 00:00 0 
7fffac021000-7fffb0000000 ---p 00000000 00:00 0 
7fffb0000000-7fffb0021000 rw-p 00000000 00:00 0 
7fffb0021000-7fffb4000000 ---p 00000000 00:00 0 
7fffb4000000-7fffb4021000 rw-p 00000000 00:00 0 
7fffb4021000-7fffb8000000 ---p 00000000 00:00 0 
7fffba7fd000-7fffba7fe000 ---p 00000000 00:00 0 
7fffba7fe000-7fffbaffe000 rw-p 00000000 00:00 0 
7fffbaffe000-7fffbafff000 ---p 00000000 00:00 0 
7fffbafff000-7fffbb7ff000 rw-p 00000000 00:00 0 
7fffbb7ff000-7fffbb800000 ---p 00000000 00:00 0 
7fffbb800000-7fffbc000000 rw-p 00000000 00:00 0 
7fffbc000000-7fffbc021000 rw-p 00000000 00:00 0 
7fffbc021000-7fffc0000000 ---p 00000000 00:00 0 
7fffc0000000-7fffc0021000 rw-p 00000000 00:00 0 
7fffc0021000-7fffc4000000 ---p 00000000 00:00 0 
7fffc4000000-7fffc4021000 rw-p 00000000 00:00 0 
7fffc4021000-7fffc8000000 ---p 00000000 00:00 0 
7fffc8000000-7fffc8021000 rw-p 00000000 00:00 0 
7fffc8021000-7fffcc000000 ---p 00000000 00:00 0 
7fffcc000000-7fffcc021000 rw-p 00000000 00:00 0 
7fffcc021000-7fffd0000000 ---p 00000000 00:00 0 
7fffd0000000-7fffd0021000 rw-p 00000000 00:00 0 
7fffd0021000-7fffd4000000 ---p 00000000 00:00 0 
7fffd4000000-7fffd4021000 rw-p 00000000 00:00 0 
7fffd4021000-7fffd8000000 ---p 00000000 00:00 0 
7fffd8000000-7fffd8021000 rw-p 00000000 00:00 0 
7fffd8021000-7fffdc000000 ---p 00000000 00:00 0 
7fffdc000000-7fffdc021000 rw-p 00000000 00:00 0 
7fffdc021000-7fffe0000000 ---p 00000000 00:00 0 
7fffe07f9000-7fffe07fa000 ---p 00000000 00:00 0 
7fffe07fa000-7fffe0ffa000 rw-p 00000000 00:00 0 
7fffe0ffa000-7fffe0ffb000 ---p 00000000 00:00 0 
7fffe0ffb000-7fffe17fb000 rw-p 00000000 00:00 0 
7fffe17fb000-7fffe17fc000 ---p 00000000 00:00 0 
7fffe17fc000-7fffe1ffc000 rw-p 00000000 00:00 0 
7fffe1ffc000-7fffe1ffd000 ---p 00000000 00:00 0 
7fffe1ffd000-7fffe27fd000 rw-p 00000000 00:00 0 
7fffe27fd000-7fffe27fe000 ---p 00000000 00:00 0 
7fffe27fe000-7fffe2ffe000 rw-p 00000000 00:00 0 
7fffe2ffe000-7fffe2fff000 ---p 00000000 00:00 0 
7fffe2fff000-7fffe37ff000 rw-p 00000000 00:00 0 
7fffe4000000-7fffe4148000 rw-p 00000000 00:00 0 
7fffe4148000-7fffe8000000 ---p 00000000 00:00 0 
7fffe8000000-7fffe8021000 rw-p 00000000 00:00 0 
7fffe8021000-7fffec000000 ---p 00000000 00:00 0 
7fffec000000-7fffec028000 rw-p 00000000 00:00 0 
7fffec028000-7ffff0000000 ---p 00000000 00:00 0 
7ffff16d9000-7ffff16da000 ---p 00000000 00:00 0 
7ffff16da000-7ffff1eda000 rw-p 00000000 00:00 0 
7ffff1eda000-7ffff1edb000 ---p 00000000 00:00 0 
7ffff1edb000-7ffff26db000 rw-p 00000000 00:00 0 
7ffff26db000-7ffff26dc000 ---p 00000000 00:00 0 
7ffff26dc000-7ffff2edc000 rw-p 00000000 00:00 0 
7ffff2edc000-7ffff2edd000 ---p 00000000 00:00 0 
7ffff2edd000-7ffff36dd000 rw-p 00000000 00:00 0 
7ffff36dd000-7ffff36de000 ---p 00000000 00:00 0 
7ffff36de000-7ffff3ede000 rw-p 00000000 00:00 0 
7ffff3ede000-7ffff3ef4000 r-xp 00000000 fc:00 654146                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff3ef4000-7ffff40f3000 ---p 00016000 fc:00 654146                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff40f3000-7ffff40f4000 rw-p 00015000 fc:00 654146                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7ffff40f4000-7ffff4266000 r-xp 00000000 fc:00 1179570                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7ffff4266000-7ffff4466000 ---p 00172000 fc:00 1179570                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7ffff4466000-7ffff4470000 r--p 00172000 fc:00 1179570                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7ffff4470000-7ffff4472000 rw-p 0017c000 fc:00 1179570                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7ffff4472000-7ffff4476000 rw-p 00000000 00:00 0 
7ffff4476000-7ffff44d3000 r-xp 00000000 fc:00 1202411                    /usr/lib/x86_64-linux-gnu/libsodium.so.18.0.1
7ffff44d3000-7ffff46d2000 ---p 0005d000 fc:00 1202411                    /usr/lib/x86_64-linux-gnu/libsodium.so.18.0.1
7ffff46d2000-7ffff46d3000 r--p 0005c000 fc:00 1202411                    /usr/lib/x86_64-linux-gnu/libsodium.so.18.0.1
7ffff46d3000-7ffff46d4000 rw-p 0005d000 fc:00 1202411                    /usr/lib/x86_64-linux-gnu/libsodium.so.18.0.1
7ffff46d4000-7ffff46eb000 r-xp 00000000 fc:00 654376                     /lib/x86_64-linux-gnu/libusb-1.0.so.0.1.0
7ffff46eb000-7ffff48ea000 ---p 00017000 fc:00 654376                     /lib/x86_64-linux-gnu/libusb-1.0.so.0.1.0
7ffff48ea000-7ffff48eb000 r--p 00016000 fc:00 654376                     /lib/x86_64-linux-gnu/libusb-1.0.so.0.1.0
7ffff48eb000-7ffff48ec000 rw-p 00017000 fc:00 654376                     /lib/x86_64-linux-gnu/libusb-1.0.so.0.1.0
7ffff48ec000-7ffff494e000 r-xp 00000000 fc:00 1198658                    /usr/lib/x86_64-linux-gnu/libzmq.so.5.0.0
7ffff494e000-7ffff4b4d000 ---p 00062000 fc:00 1198658                    /usr/lib/x86_64-linux-gnu/libzmq.so.5.0.0
7ffff4b4d000-7ffff4b51000 r--p 00061000 fc:00 1198658                    /usr/lib/x86_64-linux-gnu/libzmq.so.5.0.0
7ffff4b51000-7ffff4b52000 rw-p 00065000 fc:00 1198658                    /usr/lib/x86_64-linux-gnu/libzmq.so.5.0.0
7ffff4b52000-7ffff4b64000 r-xp 00000000 fc:02 11802060                   /data/home/gu95wey/workspace/aramis/demonstrator/external/optimsoc-src/objdir/dist/host/lib/libglip.so.0.0.0
7ffff4b64000-7ffff4d64000 ---p 00012000 fc:02 11802060                   /data/home/gu95wey/workspace/aramis/demonstrator/external/optimsoc-src/objdir/dist/host/lib/libglip.so.0.0.0
7ffff4d64000-7ffff4d65000 r--p 00012000 fc:02 11802060                   /data/home/gu95wey/workspace/aramis/demonstrator/external/optimsoc-src/objdir/dist/host/lib/libglip.so.0.0.0
7ffff4d65000-7ffff4d66000 rw-p 00013000 fc:02 11802060                   /data/home/gu95wey/workspace/aramis/demonstrator/external/optimsoc-src/objdir/dist/host/lib/libglip.so.0.0.0
7ffff4d66000-7ffff4d7d000 r-xp 00000000 fc:00 1181792                    /usr/lib/x86_64-linux-gnu/libelf-0.165.so
7ffff4d7d000-7ffff4f7c000 ---p 00017000 fc:00 1181792                    /usr/lib/x86_64-linux-gnu/libelf-0.165.so
7ffff4f7c000-7ffff4f7d000 r--p 00016000 fc:00 1181792                    /usr/lib/x86_64-linux-gnu/libelf-0.165.so
7ffff4f7d000-7ffff4f7e000 rw-p 00017000 fc:00 1181792                    /usr/lib/x86_64-linux-gnu/libelf-0.165.so
7ffff4f7e000-7ffff501f000 r-xp 00000000 fc:00 1201605                    /usr/lib/x86_64-linux-gnu/libczmq.so.3.0.0
7ffff501f000-7ffff521f000 ---p 000a1000 fc:00 1201605                    /usr/lib/x86_64-linux-gnu/libczmq.so.3.0.0
7ffff521f000-7ffff5220000 r--p 000a1000 fc:00 1201605                    /usr/lib/x86_64-linux-gnu/libczmq.so.3.0.0
7ffff5220000-7ffff5221000 rw-p 000a2000 fc:00 1201605                    /usr/lib/x86_64-linux-gnu/libczmq.so.3.0.0
7ffff5221000-7ffff5228000 r-xp 00000000 fc:00 655491                     /lib/x86_64-linux-gnu/librt-2.23.so
7ffff5228000-7ffff5427000 ---p 00007000 fc:00 655491                     /lib/x86_64-linux-gnu/librt-2.23.so
7ffff5427000-7ffff5428000 r--p 00006000 fc:00 655491                     /lib/x86_64-linux-gnu/librt-2.23.so
7ffff5428000-7ffff5429000 rw-p 00007000 fc:00 655491                     /lib/x86_64-linux-gnu/librt-2.23.so
7ffff5429000-7ffff5443000 r-xp 00000000 fc:02 11404659                   /data/home/gu95wey/workspace/aramis/demonstrator/external/optimsoc/framework/host/lib/libosd.so.0.0.1
7ffff5443000-7ffff5642000 ---p 0001a000 fc:02 11404659                   /data/home/gu95wey/workspace/aramis/demonstrator/external/optimsoc/framework/host/lib/libosd.so.0.0.1
7ffff5642000-7ffff5643000 r--p 00019000 fc:02 11404659                   /data/home/gu95wey/workspace/aramis/demonstrator/external/optimsoc/framework/host/lib/libosd.so.0.0.1
7ffff5643000-7ffff5644000 rw-p 0001a000 fc:02 11404659                   /data/home/gu95wey/workspace/aramis/demonstrator/external/optimsoc/framework/host/lib/libosd.so.0.0.1
7ffff5644000-7ffff5695000 r-xp 00000000 fc:02 12977969                   /data/home/gu95wey/workspace/aramis/demonstrator/venv/lib/python3.5/site-packages/osd.cpython-35m-x86_64-linux-gnu.so
7ffff5695000-7ffff5894000 ---p 00051000 fc:02 12977969                   /data/home/gu95wey/workspace/aramis/demonstrator/venv/lib/python3.5/site-packages/osd.cpython-35m-x86_64-linux-gnu.so
7ffff5894000-7ffff5895000 r--p 00050000 fc:02 12977969                   /data/home/gu95wey/workspace/aramis/demonstrator/venv/lib/python3.5/site-packages/osd.cpython-35m-x86_64-linux-gnu.so
7ffff5895000-7ffff589c000 rw-p 00051000 fc:02 12977969                   /data/home/gu95wey/workspace/aramis/demonstrator/venv/lib/python3.5/site-packages/osd.cpython-35m-x86_64-linux-gnu.so
7ffff589c000-7ffff58dd000 rw-p 00000000 00:00 0 
7ffff58dd000-7ffff58e0000 r-xp 00000000 fc:02 12977987                   /data/home/gu95wey/workspace/aramis/demonstrator/venv/lib/python3.5/site-packages/psutil/_psutil_posix.cpython-35m-x86_64-linux-gnu.so
7ffff58e0000-7ffff5adf000 ---p 00003000 fc:02 12977987                   /data/home/gu95wey/workspace/aramis/demonstrator/venv/lib/python3.5/site-packages/psutil/_psutil_posix.cpython-35m-x86_64-linux-gnu.so
7ffff5adf000-7ffff5ae0000 r--p 00002000 fc:02 12977987                   /data/home/gu95wey/workspace/aramis/demonstrator/venv/lib/python3.5/site-packages/psutil/_psutil_posix.cpython-35m-x86_64-linux-gnu.so
7ffff5ae0000-7ffff5ae1000 rw-p 00003000 fc:02 12977987                   /data/home/gu95wey/workspace/aramis/demonstrator/venv/lib/python3.5/site-packages/psutil/_psutil_posix.cpython-35m-x86_64-linux-gnu.so
7ffff5ae1000-7ffff5ae6000 r-xp 00000000 fc:02 12977986                   /data/home/gu95wey/workspace/aramis/demonstrator/venv/lib/python3.5/site-packages/psutil/_psutil_linux.cpython-35m-x86_64-linux-gnu.so
7ffff5ae6000-7ffff5ce5000 ---p 00005000 fc:02 12977986                   /data/home/gu95wey/workspace/aramis/demonstrator/venv/lib/python3.5/site-packages/psutil/_psutil_linux.cpython-35m-x86_64-linux-gnu.so
7ffff5ce5000-7ffff5ce6000 r--p 00004000 fc:02 12977986                   /data/home/gu95wey/workspace/aramis/demonstrator/venv/lib/python3.5/site-packages/psutil/_psutil_linux.cpython-35m-x86_64-linux-gnu.so
7ffff5ce6000-7ffff5ce7000 rw-p 00005000 fc:02 12977986                   /data/home/gu95wey/workspace/aramis/demonstrator/venv/lib/python3.5/site-packages/psutil/_psutil_linux.cpython-35m-x86_64-linux-gnu.so
7ffff5ce7000-7ffff5d27000 rw-p 00000000 00:00 0 
7ffff5d27000-7ffff5d48000 r-xp 00000000 fc:00 654154                     /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7ffff5d48000-7ffff5f47000 ---p 00021000 fc:00 654154                     /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7ffff5f47000-7ffff5f48000 r--p 00020000 fc:00 654154                     /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7ffff5f48000-7ffff5f49000 rw-p 00021000 fc:00 654154                     /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7ffff5f49000-7ffff5f50000 r-xp 00000000 fc:00 1197576                    /usr/lib/python3.5/lib-dynload/_lzma.cpython-35m-x86_64-linux-gnu.so
7ffff5f50000-7ffff614f000 ---p 00007000 fc:00 1197576                    /usr/lib/python3.5/lib-dynload/_lzma.cpython-35m-x86_64-linux-gnu.so
7ffff614f000-7ffff6150000 r--p 00006000 fc:00 1197576                    /usr/lib/python3.5/lib-dynload/_lzma.cpython-35m-x86_64-linux-gnu.so
7ffff6150000-7ffff6152000 rw-p 00007000 fc:00 1197576                    /usr/lib/python3.5/lib-dynload/_lzma.cpython-35m-x86_64-linux-gnu.so
7ffff6152000-7ffff6161000 r-xp 00000000 fc:00 655353                     /lib/x86_64-linux-gnu/libbz2.so.1.0.4
7ffff6161000-7ffff6360000 ---p 0000f000 fc:00 655353                     /lib/x86_64-linux-gnu/libbz2.so.1.0.4
7ffff6360000-7ffff6361000 r--p 0000e000 fc:00 655353                     /lib/x86_64-linux-gnu/libbz2.so.1.0.4
7ffff6361000-7ffff6362000 rw-p 0000f000 fc:00 655353                     /lib/x86_64-linux-gnu/libbz2.so.1.0.4
7ffff6392000-7ffff6396000 r-xp 00000000 fc:00 1197590                    /usr/lib/python3.5/lib-dynload/_bz2.cpython-35m-x86_64-linux-gnu.so
7ffff6396000-7ffff6595000 ---p 00004000 fc:00 1197590                    /usr/lib/python3.5/lib-dynload/_bz2.cpython-35m-x86_64-linux-gnu.so
7ffff6595000-7ffff6596000 r--p 00003000 fc:00 1197590                    /usr/lib/python3.5/lib-dynload/_bz2.cpython-35m-x86_64-linux-gnu.so
7ffff6596000-7ffff6597000 rw-p 00004000 fc:00 1197590                    /usr/lib/python3.5/lib-dynload/_bz2.cpython-35m-x86_64-linux-gnu.so
7ffff6597000-7ffff67f8000 rw-p 00000000 00:00 0 
7ffff67f8000-7ffff6c9d000 r--p 00000000 fc:00 1178698                    /usr/lib/locale/locale-archive
7ffff6c9d000-7ffff6da5000 r-xp 00000000 fc:00 655620                     /lib/x86_64-linux-gnu/libm-2.23.so
7ffff6da5000-7ffff6fa4000 ---p 00108000 fc:00 655620                     /lib/x86_64-linux-gnu/libm-2.23.so
7ffff6fa4000-7ffff6fa5000 r--p 00107000 fc:00 655620                     /lib/x86_64-linux-gnu/libm-2.23.so
7ffff6fa5000-7ffff6fa6000 rw-p 00108000 fc:00 655620                     /lib/x86_64-linux-gnu/libm-2.23.so
7ffff6fa6000-7ffff6fbf000 r-xp 00000000 fc:00 654479                     /lib/x86_64-linux-gnu/libz.so.1.2.8
7ffff6fbf000-7ffff71be000 ---p 00019000 fc:00 654479                     /lib/x86_64-linux-gnu/libz.so.1.2.8
7ffff71be000-7ffff71bf000 r--p 00018000 fc:00 654479                     /lib/x86_64-linux-gnu/libz.so.1.2.8
7ffff71bf000-7ffff71c0000 rw-p 00019000 fc:00 654479                     /lib/x86_64-linux-gnu/libz.so.1.2.8
7ffff71c0000-7ffff71e6000 r-xp 00000000 fc:00 654256                     /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7ffff71e6000-7ffff73e6000 ---p 00026000 fc:00 654256                     /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7ffff73e6000-7ffff73e8000 r--p 00026000 fc:00 654256                     /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7ffff73e8000-7ffff73e9000 rw-p 00028000 fc:00 654256                     /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7ffff73e9000-7ffff73eb000 r-xp 00000000 fc:00 655617                     /lib/x86_64-linux-gnu/libutil-2.23.so
7ffff73eb000-7ffff75ea000 ---p 00002000 fc:00 655617                     /lib/x86_64-linux-gnu/libutil-2.23.so
7ffff75ea000-7ffff75eb000 r--p 00001000 fc:00 655617                     /lib/x86_64-linux-gnu/libutil-2.23.so
7ffff75eb000-7ffff75ec000 rw-p 00002000 fc:00 655617                     /lib/x86_64-linux-gnu/libutil-2.23.so
7ffff75ec000-7ffff75ef000 r-xp 00000000 fc:00 655493                     /lib/x86_64-linux-gnu/libdl-2.23.so
7ffff75ef000-7ffff77ee000 ---p 00003000 fc:00 655493                     /lib/x86_64-linux-gnu/libdl-2.23.so
7ffff77ee000-7ffff77ef000 r--p 00002000 fc:00 655493                     /lib/x86_64-linux-gnu/libdl-2.23.so
7ffff77ef000-7ffff77f0000 rw-p 00003000 fc:00 655493                     /lib/x86_64-linux-gnu/libdl-2.23.so
7ffff77f0000-7ffff79b0000 r-xp 00000000 fc:00 655612                     /lib/x86_64-linux-gnu/libc-2.23.so
7ffff79b0000-7ffff7bb0000 ---p 001c0000 fc:00 655612                     /lib/x86_64-linux-gnu/libc-2.23.so
7ffff7bb0000-7ffff7bb4000 r--p 001c0000 fc:00 655612                     /lib/x86_64-linux-gnu/libc-2.23.so
7ffff7bb4000-7ffff7bb6000 rw-p 001c4000 fc:00 655612                     /lib/x86_64-linux-gnu/libc-2.23.so
7ffff7bb6000-7ffff7bba000 rw-p 00000000 00:00 0 
7ffff7bba000-7ffff7bd2000 r-xp 00000000 fc:00 655495                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7ffff7bd2000-7ffff7dd1000 ---p 00018000 fc:00 655495                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7ffff7dd1000-7ffff7dd2000 r--p 00017000 fc:00 655495                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7ffff7dd2000-7ffff7dd3000 rw-p 00018000 fc:00 655495                     /lib/x86_64-linux-gnu/libpthread-2.23.so
7ffff7dd3000-7ffff7dd7000 rw-p 00000000 00:00 0 
7ffff7dd7000-7ffff7dfd000 r-xp 00000000 fc:00 655494                     /lib/x86_64-linux-gnu/ld-2.23.so
7ffff7e01000-7ffff7fc7000 rw-p 00000000 00:00 0 
7ffff7fcf000-7ffff7fd0000 rw-p 00000000 00:00 0 
7ffff7fd0000-7ffff7fee000 r-xp 00000000 fc:00 655876                     /lib/x86_64-linux-gnu/libudev.so.1.6.4
7ffff7fee000-7ffff7fef000 r--p 0001d000 fc:00 655876                     /lib/x86_64-linux-gnu/libudev.so.1.6.4
7ffff7fef000-7ffff7ff0000 rw-p 0001e000 fc:00 655876                     /lib/x86_64-linux-gnu/libudev.so.1.6.4
Thread 2 "python3" received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff3edd700 (LWP 10419)]
0x00007ffff7825428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
54	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
#0  0x00007ffff7825428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007ffff782702a in __GI_abort () at abort.c:89
#2  0x00007ffff78677ea in __libc_message (do_abort=2, fmt=fmt@entry=0x7ffff7980ed8 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
#3  0x00007ffff7870baf in malloc_printerr (ar_ptr=0x7ffff7bb4b20 <main_arena>, ptr=<optimized out>, str=0x7ffff797dc92 "corrupted double-linked list", action=3) at malloc.c:5006
#4  _int_free (av=0x7ffff7bb4b20 <main_arena>, p=<optimized out>, have_lock=0) at malloc.c:4005
#5  0x00007ffff787453c in __GI___libc_free (mem=<optimized out>) at malloc.c:2968
#6  0x00007ffff490923e in zmq::epoll_t::loop (this=0xcb0850) at src/epoll.cpp:176
#7  0x00007ffff49348ba in thread_routine (arg_=0xcb08d0) at src/thread.cpp:96
#8  0x00007ffff7bc16ba in start_thread (arg=0x7ffff3edd700) at pthread_create.c:333
#9  0x00007ffff78f741d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Port UART DEM support to osd-next

Currently the UART DEM module is not supported in the latest version of OSD (called osd-next). The old code is available at https://github.com/opensocdebug/software/tree/master/src/tools/osd_term and https://github.com/opensocdebug/software/tree/master/src/tools/cli (terminal.c/h). This code needs to be rewritten.

  • Add a client class for DEM UART (cl_dem_uart) which speaks the DEM UART protocol.
  • Possibly add a "high level API class" (similar to osd_memaccess)
  • Add a helper tool which makes the UART connection available as pseudo-terminal /dev/... (probably using openpty()). Optional the tool can also open a terminal window to directly interact with the UART (as the old implementation does.)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.