summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorxuzhuoyi <[email protected]>2018-09-03 00:03:06 +0800
committerxuzhuoyi <[email protected]>2018-09-03 00:03:06 +0800
commit697a4495a6b40e01ea856cf1e3dc90bde2e368c7 (patch)
tree150b81af8a6a7d324719c8e2a7f36d9102919428 /src
parentd85981a715669d0f58119133b5983469bc88db73 (diff)
[bsp][tms320f28379d] Add support for upward-growing stack
Diffstat (limited to 'src')
-rw-r--r--src/thread.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/thread.c b/src/thread.c
index b3d91b30d0..49e004e5cc 100644
--- a/src/thread.c
+++ b/src/thread.c
@@ -150,9 +150,15 @@ static rt_err_t _rt_thread_init(struct rt_thread *thread,
/* init thread stack */
rt_memset(thread->stack_addr, '#', thread->stack_size);
+#ifdef RT_STACK_UPWARD_GROW
+ thread->sp = (void *)rt_hw_stack_init(thread->entry, thread->parameter,
+ (void *)((char *)thread->stack_addr),
+ (void *)rt_thread_exit);
+#else
thread->sp = (void *)rt_hw_stack_init(thread->entry, thread->parameter,
(void *)((char *)thread->stack_addr + thread->stack_size - 4),
(void *)rt_thread_exit);
+#endif
/* priority init */
RT_ASSERT(priority < RT_THREAD_PRIORITY_MAX);