Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
宁楠萍
rt-thread
提交
f9b3b244
R
rt-thread
项目概览
宁楠萍
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f9b3b244
编写于
12月 10, 2017
作者:
B
Bernard Xiong
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
https://github.com/RT-Thread/rt-thread
上级
0c075a5b
870c1fd1
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
37 addition
and
10 deletion
+37
-10
bsp/imxrt1052-evk/Libraries/arm/MIMXRT1052xxxxx_flexspi_nor.scf
...xrt1052-evk/Libraries/arm/MIMXRT1052xxxxx_flexspi_nor.scf
+5
-0
bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_flexspi_nor.ld
...mxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_flexspi_nor.ld
+7
-3
bsp/imxrt1052-evk/Libraries/iar/MIMXRT1052xxxxx_flexspi_nor.icf
...xrt1052-evk/Libraries/iar/MIMXRT1052xxxxx_flexspi_nor.icf
+1
-0
bsp/imxrt1052-evk/drivers/board.h
bsp/imxrt1052-evk/drivers/board.h
+8
-5
bsp/imxrt1052-evk/drivers/usart.c
bsp/imxrt1052-evk/drivers/usart.c
+16
-2
未找到文件。
bsp/imxrt1052-evk/Libraries/arm/MIMXRT1052xxxxx_flexspi_nor.scf
浏览文件 @
f9b3b244
...
...
@@ -67,6 +67,9 @@
#define Heap_Size 0x0400
#endif
#define RTT_HEAP_SIZE \
(m_data_size - ImageLength(RW_m_data) - ImageLength(ARM_LIB_HEAP) - ImageLength(ARM_LIB_STACK))
LR_m_text m_text_start m_text_size { ; load region size_region
ER_m_text m_text_start m_text_size { ; load address = execution address
* (RESET,+FIRST)
...
...
@@ -81,6 +84,8 @@ LR_m_text m_text_start m_text_size { ; load region size_region
}
ARM_LIB_STACK +0 EMPTY Stack_Size { ; Stack region growing down
}
RTT_HEAP +0 EMPTY RTT_HEAP_SIZE {
}
RW_m_ncache m_ncache_start m_ncache_size { ; ncache RW data
* (NonCacheable.init)
...
...
bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_flexspi_nor.ld
浏览文件 @
f9b3b244
...
...
@@ -253,12 +253,16 @@ SECTIONS
stack_start = .;
. += STACK_SIZE;
stack_end = .;
__StackTop = .;
} > m_dtcm
.RTT_HEAP :
{
heap_start = .;
. = ALIGN(8);
} > m_dtcm
/* Initializes stack on the end of block */
__StackTop = stack_end;
PROVIDE(__stack = __StackTop);
PROVIDE(heap_end = ORIGIN(m_dtcm) + LENGTH(m_dtcm));
.ARM.attributes 0 : { *(.ARM.attributes) }
...
...
bsp/imxrt1052-evk/Libraries/iar/MIMXRT1052xxxxx_flexspi_nor.icf
浏览文件 @
f9b3b244
...
...
@@ -81,6 +81,7 @@ if (isdefinedsymbol(__heap_size__)) {
define exported symbol __VECTOR_TABLE = m_interrupts_start;
define exported symbol __VECTOR_RAM = m_interrupts_start;
define exported symbol __RAM_VECTOR_TABLE_SIZE = 0x0;
define exported symbol __RTT_HEAP_END = m_dtcm_end;
define memory mem with size = 4G;
define region TEXT_region = mem:[from m_interrupts_start to m_interrupts_end]
...
...
bsp/imxrt1052-evk/drivers/board.h
浏览文件 @
f9b3b244
...
...
@@ -21,19 +21,22 @@
#include <fsl_iomuxc.h>
#ifdef __CC_ARM
extern
int
Image
$$
ARM_LIB_STACK
$$
ZI
$$
Limit
;
#define HEAP_BEGIN (&Image$$ARM_LIB_STACK$$ZI$$Limit)
#define HEAP_END (0x2001FFFFu)
extern
int
Image
$$
RTT_HEAP
$$
ZI
$$
Base
;
extern
int
Image
$$
RTT_HEAP
$$
ZI
$$
Limit
;
#define HEAP_BEGIN (&Image$$RTT_HEAP$$ZI$$Base)
#define HEAP_END (&Image$$RTT_HEAP$$ZI$$Limit)
#elif __ICCARM__
#pragma section="HEAP"
#define HEAP_BEGIN (__segment_end("HEAP"))
#define HEAP_END (0x2001FFFFu)
extern
void
__RTT_HEAP_END
;
#define HEAP_END (&__RTT_HEAP_END)
#else
extern
int
heap_start
;
extern
int
heap_end
;
#define HEAP_BEGIN (&heap_start)
#define HEAP_END (
0x2001FFFFu
)
#define HEAP_END (
&heap_end
)
#endif
#define HEAP_SIZE ((uint32_t)HEAP_END - (uint32_t)HEAP_BEGIN)
...
...
bsp/imxrt1052-evk/drivers/usart.c
浏览文件 @
f9b3b244
...
...
@@ -320,18 +320,32 @@ static int imxrt_getc(struct rt_serial_device *serial)
*/
static
void
uart_isr
(
struct
rt_serial_device
*
serial
)
{
struct
imxrt_uart
*
uart
=
(
struct
imxrt_uart
*
)
serial
->
parent
.
user_data
;
struct
imxrt_uart
*
uart
;
LPUART_Type
*
base
;
RT_ASSERT
(
serial
!=
RT_NULL
);
uart
=
(
struct
imxrt_uart
*
)
serial
->
parent
.
user_data
;
RT_ASSERT
(
uart
!=
RT_NULL
);
base
=
uart
->
uart_base
;
RT_ASSERT
(
base
!=
RT_NULL
);
/* enter interrupt */
rt_interrupt_enter
();
/* UART in mode Receiver -------------------------------------------------*/
if
(
LPUART_GetStatusFlags
(
uart
->
uart_
base
)
&
kLPUART_RxDataRegFullFlag
)
if
(
LPUART_GetStatusFlags
(
base
)
&
kLPUART_RxDataRegFullFlag
)
{
rt_hw_serial_isr
(
serial
,
RT_SERIAL_EVENT_RX_IND
);
}
/* If RX overrun. */
if
(
LPUART_STAT_OR_MASK
&
base
->
STAT
)
{
/* Clear overrun flag, otherwise the RX does not work. */
base
->
STAT
=
((
base
->
STAT
&
0x3FE00000U
)
|
LPUART_STAT_OR_MASK
);
}
/* leave interrupt */
rt_interrupt_leave
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录