Skip to content

Fixing several issues #11

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

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open

Conversation

ViaExplore
Copy link

Hi @cederom ,

here are the separated commits for reported issues. The last commit is about to discuss a little bit. See comments in code at last commit :)

Regards,
Tomas Kamenicky

Created new fucntion libswd_log_flush() which will log and then flush
the stdout. Function is used in libswd_memap.c for speed logging.
Fixed all =+ with +=.
Createt a new struct libswd_stats_t for cmdqlen which is used for memory
limitation management in function libswd_cmd_enqueue(...). CMD queue len
is configured by maxcmdqlen and all libswd_cmdq_... functions handles
correctly cmdqlen. It was necessary for function parameter changes.
Solution with counting directly from queue chain is unacceptable for
embedded platform.

Found a bug at libswd_deinit(...), there is no memory free for
libswdctx->driver.

Maybe an improvement for libswd_cmdq_append(...) which could make a
queue startpoint automatically. Let the autor decide.
@cederom
Copy link
Owner

cederom commented Jun 16, 2017

Yea, this is it! Each functional update in a separate commit :-)

Why do you define libswd_log_flush() in two places?
What is the reason to use __attribute__ ((weak))?

@ViaExplore
Copy link
Author

Why do you define libswd_log_flush() in two places?

  • otherwise compilation will fail on libswd_log_flush not declared. Do not ask me why is this :D
    BTW libswd_log is also twice, and it wasnt me ;-)

What is the reason to use attribute ((weak))?

  • the reason is very simple, if you not define any your custom application function, than the weak one will still work for you directly form library. I think that this is the correct way of doing application interfaces. Or am I wrong?

- Added new CPUID for ARM Cortex-M3 r2p0 0x412FC230
- Added lines for storing CPUID init results into
libswdctx->log.debug.cpuid...
- Added new CPUID for ARM Cortex-M7
- libswd_error.c is not counting with memory limitation by stats, thus
implemented a minimum handling.

TODO: libswd_error.c should be revised and repaired, see TODO comments.
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

Successfully merging this pull request may close these issues.

2 participants