Jim Huang

Results 411 comments of Jim Huang

The conceptual implementation: ``` #include #include #include #include #define PROFILE_SIZE (3145727) #define INSTRUCTION_SIZE (4) #define BUF_SIZE 128 struct function { struct function *next; char *name; uintptr_t start; uintptr_t length; float...

@arcbbb : To utilize offline profiler, we have to ensure the instrumentation get ready to fetch tracer information in advance.

[nanoprof](https://github.com/fredrikhederstierna/nanoprof) implements minimal instrumentation faclity for embedded profiling or tracing. Record a trace log in RAM on target that can be downloaded to host for post-analyze.

@southernbear Did you encounter alignment related issues as @georgekang described? In branch [user-test](https://github.com/southernbear/f9-kernel/tree/user-test), there are already some address spaces manipulation fixes.

@angelooribeiro, the first link is updated as you wish.

Reference: - http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56620 - https://sourceware.org/ml/newlib/2013/msg00419.html - http://www.keil.com/forum/22856/ - http://cboard.cprogramming.com/c-programming/154333-fast-memcpy-alternative-32-bit-embedded-processor-posted-just-fyi-fwiw.html

lk implements arm-m optimized memcpy and memset routines in git commit https://github.com/travisg/lk/commit/33b94d9b97ef835d68aca2e5edb54f7267c70625

It looks so weird. Can you explain?

@gapry In order to clarify the performance gain, please compare the optimized memcpy routines with plain byte-oriented C version.