Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Verbose" mode for memap.py #2605

Closed
javier-moreno-tridonic-com opened this issue Sep 2, 2016 · 7 comments
Closed

"Verbose" mode for memap.py #2605

javier-moreno-tridonic-com opened this issue Sep 2, 2016 · 7 comments

Comments

@javier-moreno-tridonic-com
Copy link
Contributor

Note: This is just a template, so feel free to use/remove the unnecessary things

Description

Type: Feature request
Priority: Minor

Feature Request

To analyse memory usage and identify possible optimisation points, I've been modifying memap.py in the following manner:

original code

    @staticmethod
    def path_object_to_module_name(txt):
        """ Parse a path to object file to extract it's module and object data
        Positional arguments:
        txt - the path to parse the object and module name from
        """

        txt = txt.replace('\\', '/')
        rex_mbed_os_name = r'^.+mbed-os\/(.+)\/(.+\.o)$'
        test_rex_mbed_os_name = re.match(rex_mbed_os_name, txt)

        if test_rex_mbed_os_name:

            object_name = test_rex_mbed_os_name.group(2)
            data = test_rex_mbed_os_name.group(1).split('/')
            ndata = len(data)

            if ndata == 1:
                module_name = data[0]
            else:
                module_name = data[0] + '/' + data[1]

            return [module_name, object_name]
        else:
            return ['Misc', ""]

My code

    @staticmethod
    def path_object_to_module_name(txt):
        """ Parse a path to object file to extract it's module and object data

        Positional arguments:
        txt - the path to parse the object and module name from
        """

        txt = txt.replace('\\', '/')

        # print('txt: ' + txt)

        rex_mbed_os_name = r'^.+mbed-os\/(.+)\/(.+\.o)$'
        test_rex_mbed_os_name = re.match(rex_mbed_os_name, txt)

        if test_rex_mbed_os_name:
            object_name = test_rex_mbed_os_name.group(2)
            data = test_rex_mbed_os_name.group(1).split('/')
            ndata = len(data)

            if ndata == 1:
                module_name = data[0]
            else:
                module_name = data[0] + '/' + data[1]

            return [module_name, object_name]
        else:
            rex_obj_name = r'^.+\/(.+\.o\)*)$'
            test_rex_obj_name = re.match(rex_obj_name, txt)
            if test_rex_obj_name:
                object_name = test_rex_obj_name.group(1)
                return [object_name, ""]       

            return ['Misc', ""]

With this I get and output similar to this:

Module .text .data .bss
BufferedSerial.o 12 0 0
Fill 713 34 67
at24mac.o 134 0 20
crt0.o 116 0 0
crtbegin.o 92 12 28
crtend.o 4 4 0
crti.o 8 0 0
crtn.o 16 0 0
driverAtmelRFInterface.o 2541 1 8
driverRFPhy.o 2334 15 196
features/FEATURE_CLIENT 39077 11 53
features/FEATURE_COMMON_PAL 19454 93 8412
features/frameworks 3827 92 848
features/mbedtls 75976 51 8755
features/net 140911 302 13841
hal/common 5689 20 421
hal/targets 10767 4 1472
libc.a(lib_a-__atexit.o) 164 0 0
libc.a(lib_a-__call_atexit.o) 232 4 0
libc.a(lib_a-abort.o) 16 0 0
libc.a(lib_a-abs.o) 8 0 0
libc.a(lib_a-assert.o) 123 0 0
libc.a(lib_a-atexit.o) 12 0 0
libc.a(lib_a-atof.o) 8 0 0
libc.a(lib_a-atoi.o) 8 0 0
libc.a(lib_a-atol.o) 8 0 0
libc.a(lib_a-calloc.o) 16 0 0
libc.a(lib_a-callocr.o) 96 0 0
libc.a(lib_a-closer.o) 36 0 0
libc.a(lib_a-ctype_.o) 257 4 0
libc.a(lib_a-cxa_atexit.o) 20 0 0
libc.a(lib_a-div.o) 64 0 0
libc.a(lib_a-dtoa.o) 4044 0 0
libc.a(lib_a-environ.o) 0 4 4
libc.a(lib_a-errno.o) 12 0 0
libc.a(lib_a-exit.o) 32 0 0
libc.a(lib_a-fclose.o) 148 0 0
libc.a(lib_a-fflush.o) 420 0 0
libc.a(lib_a-findfp.o) 456 0 0
libc.a(lib_a-fini.o) 44 0 0
libc.a(lib_a-fiprintf.o) 40 0 0
libc.a(lib_a-flags.o) 116 0 0
libc.a(lib_a-fopen.o) 152 0 0
libc.a(lib_a-fputwc.o) 212 0 0
libc.a(lib_a-freer.o) 588 0 0
libc.a(lib_a-fseek.o) 4 0 0
libc.a(lib_a-fseeko.o) 696 0 0
libc.a(lib_a-fstatr.o) 40 0 0
libc.a(lib_a-fvwrite.o) 792 0 0
libc.a(lib_a-fwalk.o) 160 0 0
libc.a(lib_a-gdtoa-gethex.o) 1716 0 0
libc.a(lib_a-gdtoa-hexnan.o) 388 0 0
libc.a(lib_a-getc.o) 52 0 0
libc.a(lib_a-getchar.o) 16 0 0
libc.a(lib_a-getenv_r.o) 152 0 0
libc.a(lib_a-gettzinfo.o) 8 64 0
libc.a(lib_a-gmtime_r.o) 364 0 0
libc.a(lib_a-impure.o) 6 1068 0
libc.a(lib_a-init.o) 80 0 0
libc.a(lib_a-isalpha.o) 20 0 0
libc.a(lib_a-isattyr.o) 36 0 0
libc.a(lib_a-isdigit.o) 20 0 0
libc.a(lib_a-isspace.o) 20 0 0
libc.a(lib_a-iswspace.o) 28 0 0
libc.a(lib_a-lcltime.o) 16 0 0
libc.a(lib_a-lcltime_r.o) 600 0 0
libc.a(lib_a-locale.o) 38 92 0
libc.a(lib_a-lseekr.o) 40 0 0
libc.a(lib_a-makebuf.o) 224 0 0
libc.a(lib_a-malloc.o) 32 0 0
libc.a(lib_a-mallocr.o) 1316 1040 52
libc.a(lib_a-mbrtowc.o) 93 0 0
libc.a(lib_a-mbtowc_r.o) 44 4 0
libc.a(lib_a-memchr.o) 148 0 0
libc.a(lib_a-memcmp.o) 100 0 0
libc.a(lib_a-memcpy.o) 308 0 0
libc.a(lib_a-memmove.o) 200 0 0
libc.a(lib_a-memset.o) 156 0 0
libc.a(lib_a-mktime.o) 1512 0 0
libc.a(lib_a-month_lengths.o) 96 0 0
libc.a(lib_a-mprec.o) 2432 0 0
libc.a(lib_a-openr.o) 40 0 0
libc.a(lib_a-printf.o) 40 0 0
libc.a(lib_a-rand.o) 84 0 0
libc.a(lib_a-readr.o) 40 0 0
libc.a(lib_a-realloc.o) 16 0 0
libc.a(lib_a-reallocr.o) 1004 0 0
libc.a(lib_a-reent.o) 0 0 4
libc.a(lib_a-refill.o) 292 0 0
libc.a(lib_a-rget.o) 52 0 0
libc.a(lib_a-sbrkr.o) 36 0 0
libc.a(lib_a-sccl.o) 120 0 0
libc.a(lib_a-setbuf.o) 16 0 0
libc.a(lib_a-setvbuf.o) 248 0 0
libc.a(lib_a-sf_nan.o) 8 0 0
libc.a(lib_a-signal.o) 104 0 0
libc.a(lib_a-signalr.o) 44 0 0
libc.a(lib_a-siscanf.o) 88 0 0
libc.a(lib_a-snprintf.o) 156 0 0
libc.a(lib_a-sprintf.o) 76 0 0
libc.a(lib_a-sscanf.o) 88 0 0
libc.a(lib_a-stdio.o) 136 0 0
libc.a(lib_a-strchr.o) 204 0 0
libc.a(lib_a-strcmp.o) 844 0 0
libc.a(lib_a-strcpy.o) 188 0 0
libc.a(lib_a-strerror.o) 2781 0 0
libc.a(lib_a-strlen.o) 92 0 0
libc.a(lib_a-strncmp.o) 152 0 0
libc.a(lib_a-strrchr.o) 36 0 0
libc.a(lib_a-strstr.o) 1232 0 0
libc.a(lib_a-strtod.o) 4095 0 0
libc.a(lib_a-strtol.o) 308 0 0
libc.a(lib_a-strtoll_r.o) 460 0 0
libc.a(lib_a-strtoul.o) 320 0 0
libc.a(lib_a-strtoull_r.o) 472 0 0
libc.a(lib_a-svfiprintf.o) 260 0 0
libc.a(lib_a-svfiscanf.o) 2846 0 0
libc.a(lib_a-svfprintf.o) 5406 0 0
libc.a(lib_a-svfscanf.o) 3699 0 0
libc.a(lib_a-tzcalc_limits.o) 396 0 0
libc.a(lib_a-tzlock.o) 8 0 0
libc.a(lib_a-tzset.o) 12 0 0
libc.a(lib_a-tzset_r.o) 887 0 26
libc.a(lib_a-tzvars.o) 4 8 8
libc.a(lib_a-u_strerr.o) 4 0 0
libc.a(lib_a-ungetc.o) 120 0 0
libc.a(lib_a-vfiprintf.o) 3431 0 0
libc.a(lib_a-vfprintf.o) 5402 0 0
libc.a(lib_a-vsnprintf.o) 148 0 0
libc.a(lib_a-vsprintf.o) 76 0 0
libc.a(lib_a-wbuf.o) 168 0 0
libc.a(lib_a-wcrtomb.o) 84 0 0
libc.a(lib_a-wctomb_r.o) 28 4 0
libc.a(lib_a-writer.o) 40 0 0
libc.a(lib_a-wsetup.o) 196 0 0
libgcc.a(_aeabi_ldivmod.o) 56 0 0
libgcc.a(_aeabi_uldivmod.o) 48 0 0
libgcc.a(_arm_addsubdf3.o) 880 0 0
libgcc.a(_arm_cmpdf2.o) 272 0 0
libgcc.a(_arm_fixdfsi.o) 80 0 0
libgcc.a(_arm_fixunsdfsi.o) 64 0 0
libgcc.a(_arm_muldivdf3.o) 1060 0 0
libgcc.a(_arm_truncdfsf2.o) 160 0 0
libgcc.a(_ashldi3.o) 24 0 0
libgcc.a(_ashrdi3.o) 28 0 0
libgcc.a(_divdi3.o) 668 0 0
libgcc.a(_dvmd_tls.o) 4 0 0
libgcc.a(_fixunssfdi.o) 76 0 0
libgcc.a(_lshrdi3.o) 24 0 0
libgcc.a(_udivdi3.o) 620 0 0
libgcc.a(bpabi.o) 96 0 0
libgcc.a(libunwind.o) 428 0 0
libgcc.a(pr-support.o) 892 0 0
libgcc.a(unwind-arm.o) 2640 0 0
libm.a(lib_a-s_fpclassify.o) 88 0 0
libnosys.a(getpid.o) 16 0 0
libnosys.a(kill.o) 16 0 0
libstdc++.a(atexit_arm.o) 12 0 0
libstdc++.a(bad_alloc.o) 116 0 0
libstdc++.a(class_type_info.o) 338 0 0
libstdc++.a(del_op.o) 4 0 0
libstdc++.a(del_opv.o) 4 0 0
libstdc++.a(eh_alloc.o) 136 0 2052
libstdc++.a(eh_arm.o) 400 0 0
libstdc++.a(eh_call.o) 304 0 0
libstdc++.a(eh_catch.o) 280 0 0
libstdc++.a(eh_exception.o) 226 0 0
libstdc++.a(eh_globals.o) 16 0 12
libstdc++.a(eh_personality.o) 1508 0 0
libstdc++.a(eh_term_handler.o) 0 4 0
libstdc++.a(eh_terminate.o) 120 0 0
libstdc++.a(eh_throw.o) 308 0 0
libstdc++.a(eh_unex_handler.o) 0 4 0
libstdc++.a(functexcept.o) 376 0 0
libstdc++.a(guard.o) 64 0 0
libstdc++.a(guard_error.o) 115 0 0
libstdc++.a(locale-inst.o) 356 4 48
libstdc++.a(locale_facets.o) 136 4 0
libstdc++.a(new_handler.o) 16 0 4
libstdc++.a(new_op.o) 68 0 0
libstdc++.a(new_opv.o) 20 0 0
libstdc++.a(si_class_type_info.o) 381 0 0
libstdc++.a(snprintf_lite.o) 396 0 0
libstdc++.a(stdexcept.o) 402 0 0
libstdc++.a(string-inst.o) 1337 0 16
libstdc++.a(system_error.o) 473 12 0
libstdc++.a(tinfo.o) 77 0 0
libstdc++.a(wlocale-inst.o) 196 4 48
main.o 4285 21 410
rtos/rtos 575 4 0
rtos/rtx 7037 20 2683
Subtotals 386365 3008 39488

Allocated Heap: unknown
Allocated Stack: unknown
Total Static RAM memory (data + bss): 42496 bytes
Total RAM memory (data + bss + heap + stack): 42496 bytes
Total Flash memory (text + data + misc): 389373 bytes

I think it would be nice to have such print as optional for the mbed-cli (maybe even for mbed-os features so we could help you identify and fix issues).

@MarceloSalazar
Copy link

Hi Javier,

This feature looks very useful :)
A few suggestions:

  • Add a verbose option to generate more information when invoking memap from the command line (by default should be disabled):
    def main():
  • Display Misc to make the output more consistent with the default behavior:
    libc.a(lib_a-__atexit.o) --> Misc\libc.a(lib_a-__atexit.o)

It would be great if you could send us a PR and we'll be happy to review it.

Thanks,
Marcelo

@javier-moreno-tridonic-com
Copy link
Contributor Author

Well I'd be happy to prepare it, just I would need some pointers for this:

  • Should be this a memap only feature? I mean, should this feature be also accessible by using a "mbed compile" flag? If so, any flag name suggestion that can be shared across both scripts?

@MarceloSalazar
Copy link

I'd suggest this to be a memap only feature for now (e.g. invoke the tool using python memap ...).
This will let us prepare the interfaces and do further testing. We will consider calling it from the mbed compile script.

@nuket
Copy link
Contributor

nuket commented Sep 7, 2016

This is great, I'm also looking for a way to have a deeper view into flash / stack / heap memory allocations.

@sg-
Copy link
Contributor

sg- commented Sep 19, 2016

@meriac Anything you want to share here?

@meriac
Copy link
Contributor

meriac commented Sep 20, 2016

@nuket : I had good results parsing arm-non-eabi-nm output - feel free to have a look on an early prototype for d3.js based linker visualization.

You can find the command line settings I chose here. Please note that I had to enable debug information to get line number resolution in the mbed release build.
You can find a quick patch for GCC in my tool repo. The official pull request is #2139 for adding debug symbol support to all mbed supported release builds.

@javier-moreno-tridonic-com
Copy link
Contributor Author

Since this functionality was merged already (see #2845) this can be closed

artokin pushed a commit to artokin/mbed-os that referenced this issue Apr 15, 2021
…..0903b81

0903b81 Merge remote-tracking branch 'origin/release_internal' into release_external
51429c9 FHSS WS: api function to set TX allowance level (ARMmbed#2612)
01b1188 Fix Child NUD with long ARO registrations
20b49ce Optimize out of memory handler to remove more memory in EF mode
f1b03bc FHSS WS: Allow transmitting unicast frames on broadcast channel for 1st hop node in EF mode (ARMmbed#2609)
2f5e5e2 Generic forwarding callback and EF state enabler for Wi-SUN BBR.
007dfa2 Allow transmitting on RX slot for 1st hop device in expedited forwarding mode (ARMmbed#2607)
6524872 Implemented FHSS expedited forwarding mode (ARMmbed#2606)
91e0b4c QoS traffic class documentation update.
3acd3a4 Fix warnings found by cppcheck (ARMmbed#2605)
d2f5347 MPX and MAC API update
7310cc0 MAC: "CCA fail on RX" event for TX done callback (ARMmbed#2602)
cd109c3 Clear Ack tx and tx process in MAC reset (ARMmbed#2601)
45504fd Optimize stagger based on uptime and startup type
ed5209e Iotthd 4584 (ARMmbed#2599)
60726dc Fixed blacklisting overflow (ARMmbed#2597)
23334b7 Added support for High Priority forward state
3ec2a2c Corrected freed memory access on incoming EAPOL handling
aecadc4 Fixed delayed interrupt (ARMmbed#2596)
1fca2c1 CCA backoffs max to 9 (ARMmbed#2595)
f3d2fa1 Added API function to get neighbor table information from Wi-SUN
3bb089b Validate randomized fixed channel (ARMmbed#2592)
70743a1 MAC stabilisation fixes (ARMmbed#2591)
e936a26 Reduce periodic DNS traces
a45fe3f Improved CSMA-CA logic for Wi-SUN (ARMmbed#2585)
56b7735 improved Wi-SUN stack statistics added
e656190 Wi-SUN neighbour allocate update
799f837 Added address check for Whiteboard address ADD
0b6caa3 Wi-SUN network timing parameter tuning
4921465 Supress warnings
f5cecd7 Enable external connection for routers
e129a0a Added LLC EAPOL temporary neighbor remove when authentication completes (ARMmbed#2583)
fa20fb9 Added calculation of LLC and LLC EAPOL message queue average (ARMmbed#2582)
7f7c01a Added retry traces to authenticator EAP-TLS, 4WH, and GKH
a87646d On startup deletes NVM GTKs if EUI-64 has been changed (ARMmbed#2576)
509a6f9 Add CI commands to PR template (ARMmbed#2579)
eb6a4f7 Change stagger calculation to give more bandwidth to application
82f1d54 Wi-SUN bpptstrap clear destination cache at discovery phase.
71b0588 Destination cache update:
f92c385 Enabled PMTU timeout to destination cache after used.
957b358 DHCP server and Agent relay update

git-subtree-dir: features/nanostack/sal-stack-nanostack
git-subtree-split: 0903b81
artokin pushed a commit to artokin/mbed-os that referenced this issue Apr 20, 2021
…..0903b81

0903b81 Merge remote-tracking branch 'origin/release_internal' into release_external
51429c9 FHSS WS: api function to set TX allowance level (ARMmbed#2612)
01b1188 Fix Child NUD with long ARO registrations
20b49ce Optimize out of memory handler to remove more memory in EF mode
f1b03bc FHSS WS: Allow transmitting unicast frames on broadcast channel for 1st hop node in EF mode (ARMmbed#2609)
2f5e5e2 Generic forwarding callback and EF state enabler for Wi-SUN BBR.
007dfa2 Allow transmitting on RX slot for 1st hop device in expedited forwarding mode (ARMmbed#2607)
6524872 Implemented FHSS expedited forwarding mode (ARMmbed#2606)
91e0b4c QoS traffic class documentation update.
3acd3a4 Fix warnings found by cppcheck (ARMmbed#2605)
d2f5347 MPX and MAC API update
7310cc0 MAC: "CCA fail on RX" event for TX done callback (ARMmbed#2602)
cd109c3 Clear Ack tx and tx process in MAC reset (ARMmbed#2601)
45504fd Optimize stagger based on uptime and startup type
ed5209e Iotthd 4584 (ARMmbed#2599)
60726dc Fixed blacklisting overflow (ARMmbed#2597)
23334b7 Added support for High Priority forward state
3ec2a2c Corrected freed memory access on incoming EAPOL handling
aecadc4 Fixed delayed interrupt (ARMmbed#2596)
1fca2c1 CCA backoffs max to 9 (ARMmbed#2595)
f3d2fa1 Added API function to get neighbor table information from Wi-SUN
3bb089b Validate randomized fixed channel (ARMmbed#2592)
70743a1 MAC stabilisation fixes (ARMmbed#2591)
e936a26 Reduce periodic DNS traces
a45fe3f Improved CSMA-CA logic for Wi-SUN (ARMmbed#2585)
56b7735 improved Wi-SUN stack statistics added
e656190 Wi-SUN neighbour allocate update
799f837 Added address check for Whiteboard address ADD
0b6caa3 Wi-SUN network timing parameter tuning
4921465 Supress warnings
f5cecd7 Enable external connection for routers
e129a0a Added LLC EAPOL temporary neighbor remove when authentication completes (ARMmbed#2583)
fa20fb9 Added calculation of LLC and LLC EAPOL message queue average (ARMmbed#2582)
7f7c01a Added retry traces to authenticator EAP-TLS, 4WH, and GKH
a87646d On startup deletes NVM GTKs if EUI-64 has been changed (ARMmbed#2576)
509a6f9 Add CI commands to PR template (ARMmbed#2579)
eb6a4f7 Change stagger calculation to give more bandwidth to application
82f1d54 Wi-SUN bpptstrap clear destination cache at discovery phase.
71b0588 Destination cache update:
f92c385 Enabled PMTU timeout to destination cache after used.
957b358 DHCP server and Agent relay update
25b9124 Merge remote-tracking branch 'origin/release_internal' into release_external
c825b04 Corrected covery warning on delay_us multiplication
be63bbb Updated changelog
77a76c7 Corrected nw size set on automatic mode
65e6c2d Updated unit tests
16e3402 Added waiting queue to EAPOL authentications to Border Router
b9c0b7d Wi-SUN border router starts faster in static configuration
2f427e1 Local repair start and stop clear advertised_dodag_membership_since_last_repair when state is updated.
0a01ab1 RPL dio send update
dd39963 Wi-SUN Border router uses Static address as DODAGID
7a3c833 Additional check to detect parent connection problem
ffe48c9 WS management: domain configuration functions implemented (ARMmbed#2567)
5e9ac4e Added new Callback to RPL indicate Multicast DIS received from RPL Parent
85b949e Bootstrap and EAPOL treats all MAC TX failure causes similarly
b57d9bc Add support for anonymous addressing in Wi-SUN border router (ARMmbed#2565)
7400c8b CFG: API for PHY mode id and channel plan id get & validate (ARMmbed#2564)
2832fe8 Added Socket reference limitter
890aad1 Wi-SUN MTU size update and IPv6 minium MTU routing skip
3ad28c1 Added throttling of number of simultaneous EAPOL authentications
0b84299 Source route handler call Wi-Sun border router alive function.
c8343b1 Added support for dynamic RPL default lifetime
d258068 Iotthd 4478 (ARMmbed#2560)
7ca6c24 Enable and modify memory limits for packet receiving
e2b028d Close CHANGELOG.md for v12.8.1 (ARMmbed#2557)
91f3ff6 Merge branch 'release_internal' into release_external
3999b6e Iotthd 4495 (ARMmbed#2556)
90c3263 RPL Prefix handling update:
f761409 Close Nanostack v12.8.0 ChangeLog (ARMmbed#2549)
f8ae0e9 Merge remote-tracking branch 'origin/release_internal' into release_external
3275f83 Added support for handle RPL hop by Hop sender rank 0.
d62c589 Activated RPL force tunnel for wi-sun.
3e1064a RPL tunnel force functionality update
3207e5c RPL parent select timer random update from 1.0-1.2 to 1.0-1.5.
bc09cba MAC Ack wait fixed for OFDM (ARMmbed#2552)
5106b1d Fixed unused variable and function warnings.
4096c1a Wi-SUN bootstrap support RPL poison from Connected state to Discovery
66378d1 RPL Poison update

git-subtree-dir: features/nanostack/sal-stack-nanostack
git-subtree-split: 0903b81
artokin pushed a commit to artokin/mbed-os that referenced this issue Apr 21, 2021
…183d87..0903b81

0903b81 Merge remote-tracking branch 'origin/release_internal' into release_external
51429c9 FHSS WS: api function to set TX allowance level (ARMmbed#2612)
01b1188 Fix Child NUD with long ARO registrations
20b49ce Optimize out of memory handler to remove more memory in EF mode
f1b03bc FHSS WS: Allow transmitting unicast frames on broadcast channel for 1st hop node in EF mode (ARMmbed#2609)
2f5e5e2 Generic forwarding callback and EF state enabler for Wi-SUN BBR.
007dfa2 Allow transmitting on RX slot for 1st hop device in expedited forwarding mode (ARMmbed#2607)
6524872 Implemented FHSS expedited forwarding mode (ARMmbed#2606)
91e0b4c QoS traffic class documentation update.
3acd3a4 Fix warnings found by cppcheck (ARMmbed#2605)
d2f5347 MPX and MAC API update
7310cc0 MAC: "CCA fail on RX" event for TX done callback (ARMmbed#2602)
cd109c3 Clear Ack tx and tx process in MAC reset (ARMmbed#2601)
45504fd Optimize stagger based on uptime and startup type
ed5209e Iotthd 4584 (ARMmbed#2599)
60726dc Fixed blacklisting overflow (ARMmbed#2597)
23334b7 Added support for High Priority forward state
3ec2a2c Corrected freed memory access on incoming EAPOL handling
aecadc4 Fixed delayed interrupt (ARMmbed#2596)
1fca2c1 CCA backoffs max to 9 (ARMmbed#2595)
f3d2fa1 Added API function to get neighbor table information from Wi-SUN
3bb089b Validate randomized fixed channel (ARMmbed#2592)
70743a1 MAC stabilisation fixes (ARMmbed#2591)
e936a26 Reduce periodic DNS traces
a45fe3f Improved CSMA-CA logic for Wi-SUN (ARMmbed#2585)
56b7735 improved Wi-SUN stack statistics added
e656190 Wi-SUN neighbour allocate update
799f837 Added address check for Whiteboard address ADD
0b6caa3 Wi-SUN network timing parameter tuning
4921465 Supress warnings
f5cecd7 Enable external connection for routers
e129a0a Added LLC EAPOL temporary neighbor remove when authentication completes (ARMmbed#2583)
fa20fb9 Added calculation of LLC and LLC EAPOL message queue average (ARMmbed#2582)
7f7c01a Added retry traces to authenticator EAP-TLS, 4WH, and GKH
a87646d On startup deletes NVM GTKs if EUI-64 has been changed (ARMmbed#2576)
509a6f9 Add CI commands to PR template (ARMmbed#2579)
eb6a4f7 Change stagger calculation to give more bandwidth to application
82f1d54 Wi-SUN bpptstrap clear destination cache at discovery phase.
71b0588 Destination cache update:
f92c385 Enabled PMTU timeout to destination cache after used.
957b358 DHCP server and Agent relay update
25b9124 Merge remote-tracking branch 'origin/release_internal' into release_external
c825b04 Corrected covery warning on delay_us multiplication
be63bbb Updated changelog
77a76c7 Corrected nw size set on automatic mode
65e6c2d Updated unit tests
16e3402 Added waiting queue to EAPOL authentications to Border Router
b9c0b7d Wi-SUN border router starts faster in static configuration
2f427e1 Local repair start and stop clear advertised_dodag_membership_since_last_repair when state is updated.
0a01ab1 RPL dio send update
dd39963 Wi-SUN Border router uses Static address as DODAGID
7a3c833 Additional check to detect parent connection problem
ffe48c9 WS management: domain configuration functions implemented (ARMmbed#2567)
5e9ac4e Added new Callback to RPL indicate Multicast DIS received from RPL Parent
85b949e Bootstrap and EAPOL treats all MAC TX failure causes similarly
b57d9bc Add support for anonymous addressing in Wi-SUN border router (ARMmbed#2565)
7400c8b CFG: API for PHY mode id and channel plan id get & validate (ARMmbed#2564)
2832fe8 Added Socket reference limitter
890aad1 Wi-SUN MTU size update and IPv6 minium MTU routing skip
3ad28c1 Added throttling of number of simultaneous EAPOL authentications
0b84299 Source route handler call Wi-Sun border router alive function.
c8343b1 Added support for dynamic RPL default lifetime
d258068 Iotthd 4478 (ARMmbed#2560)
7ca6c24 Enable and modify memory limits for packet receiving
e2b028d Close CHANGELOG.md for v12.8.1 (ARMmbed#2557)
91f3ff6 Merge branch 'release_internal' into release_external
3999b6e Iotthd 4495 (ARMmbed#2556)
90c3263 RPL Prefix handling update:
f761409 Close Nanostack v12.8.0 ChangeLog (ARMmbed#2549)
f8ae0e9 Merge remote-tracking branch 'origin/release_internal' into release_external
3275f83 Added support for handle RPL hop by Hop sender rank 0.
d62c589 Activated RPL force tunnel for wi-sun.
3e1064a RPL tunnel force functionality update
3207e5c RPL parent select timer random update from 1.0-1.2 to 1.0-1.5.
bc09cba MAC Ack wait fixed for OFDM (ARMmbed#2552)
5106b1d Fixed unused variable and function warnings.
4096c1a Wi-SUN bootstrap support RPL poison from Connected state to Discovery
66378d1 RPL Poison update

git-subtree-dir: connectivity/nanostack/sal-stack-nanostack
git-subtree-split: 0903b81
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants