Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
混口饭吃,
rt-thread
提交
baaf8187
R
rt-thread
项目概览
混口饭吃,
/
rt-thread
与 Fork 源项目一致
Fork自
Mr_Pangza / rt-thread
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
baaf8187
编写于
3月 24, 2021
作者:
G
guozhanxin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[bsp][raspberry-pico]All memory is used for heap.
上级
eee1453c
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
6 addition
and
51 deletion
+6
-51
bsp/raspberry-pico/drivers/board.c
bsp/raspberry-pico/drivers/board.c
+1
-3
bsp/raspberry-pico/drivers/board.h
bsp/raspberry-pico/drivers/board.h
+3
-3
bsp/raspberry-pico/libraries/pico-sdk/src/rp2_common/pico_runtime/runtime.c
.../libraries/pico-sdk/src/rp2_common/pico_runtime/runtime.c
+1
-37
bsp/raspberry-pico/link.ld
bsp/raspberry-pico/link.ld
+1
-8
未找到文件。
bsp/raspberry-pico/drivers/board.c
浏览文件 @
baaf8187
...
...
@@ -16,8 +16,6 @@
#include "board.h"
#include "hardware/structs/systick.h"
uint8_t
heap
[
1024
*
80
];
void
isr_systick
(
void
)
{
/* enter interrupt */
...
...
@@ -45,7 +43,7 @@ uint32_t systick_config(uint32_t ticks)
void
rt_hw_board_init
()
{
rt_system_heap_init
(
heap
,
(
uint8_t
*
)
heap
+
sizeof
(
heap
)
);
rt_system_heap_init
(
HEAP_BEGIN
,
HEAP_END
);
alarm_pool_init_default
();
...
...
bsp/raspberry-pico/drivers/board.h
浏览文件 @
baaf8187
...
...
@@ -20,9 +20,9 @@
#define PICO_SRAM_SIZE 256
#define PICO_SRAM_END (0x20000000 + PICO_SRAM_SIZE * 1024)
extern
int
__bss_end
;
#define HEAP_BEGIN (&__bss_end)
#define HEAP_END
PICO_SRAM_END
extern
int
__bss_end
__
;
#define HEAP_BEGIN (&__bss_end
__
)
#define HEAP_END
((void *)PICO_SRAM_END)
int
rt_hw_uart_init
(
void
);
...
...
bsp/raspberry-pico/libraries/pico-sdk/src/rp2_common/pico_runtime/runtime.c
浏览文件 @
baaf8187
...
...
@@ -27,6 +27,7 @@
#endif
extern
char
__StackLimit
;
/* Set by linker. */
extern
void
_exit
(
int
status
);
uint32_t
__attribute__
((
section
(
".ram_vector_table"
)))
ram_vector_table
[
48
];
...
...
@@ -138,43 +139,6 @@ void runtime_init(void) {
irq_init_priorities
();
}
void
_exit
(
int
status
)
{
#if PICO_ENTER_USB_BOOT_ON_EXIT
reset_usb_boot
(
0
,
0
);
#else
while
(
1
)
{
__breakpoint
();
}
#endif
}
void
*
_sbrk
(
int
incr
)
{
extern
char
end
;
/* Set by linker. */
static
char
*
heap_end
;
char
*
prev_heap_end
;
if
(
heap_end
==
0
)
heap_end
=
&
end
;
prev_heap_end
=
heap_end
;
char
*
next_heap_end
=
heap_end
+
incr
;
if
(
__builtin_expect
(
next_heap_end
>=
(
&
__StackLimit
),
false
))
{
#if PICO_USE_OPTIMISTIC_SBRK
if
(
next_heap_end
==
&
__StackLimit
)
{
// errno = ENOMEM;
return
(
char
*
)
-
1
;
}
next_heap_end
=
&
__StackLimit
;
#else
return
(
char
*
)
-
1
;
#endif
}
heap_end
=
next_heap_end
;
return
(
void
*
)
prev_heap_end
;
}
// exit is not useful... no desire to pull in __call_exitprocs
// void exit(int status) {
// _exit(status);
...
...
bsp/raspberry-pico/link.ld
浏览文件 @
baaf8187
...
...
@@ -224,13 +224,6 @@ SECTIONS
__bss_end__ = .;
} > RAM
.heap (COPY):
{
__end__ = .;
end = __end__;
*(.heap*)
__HeapLimit = .;
} > RAM
/* .stack*_dummy section doesn't contains any symbols. It is only
* used for linker to calculate size of stack sections, and assign
...
...
@@ -263,7 +256,7 @@ SECTIONS
PROVIDE(__stack = __StackTop);
/* Check if data + heap + stack exceeds RAM limit */
ASSERT(__StackLimit >= __
HeapLimit
, "region RAM overflowed")
ASSERT(__StackLimit >= __
bss_end__
, "region RAM overflowed")
/* todo assert on extra code */
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录