commit
122a1753d5
|
@ -41,7 +41,7 @@
|
||||||
rt_uint8_t _fiq_stack_start[1024];
|
rt_uint8_t _fiq_stack_start[1024];
|
||||||
rt_uint8_t _undefined_stack_start[512];
|
rt_uint8_t _undefined_stack_start[512];
|
||||||
rt_uint8_t _abort_stack_start[512];
|
rt_uint8_t _abort_stack_start[512];
|
||||||
rt_uint8_t _svc_stack_start[1024] SECTION(".nobss");
|
rt_uint8_t _svc_stack_start[1024] RT_SECTION(".nobss");
|
||||||
extern unsigned char __bss_start;
|
extern unsigned char __bss_start;
|
||||||
extern unsigned char __bss_end;
|
extern unsigned char __bss_end;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -63,7 +63,7 @@ rt_uint8_t _irq_stack_start[1024];
|
||||||
rt_uint8_t _fiq_stack_start[1024];
|
rt_uint8_t _fiq_stack_start[1024];
|
||||||
rt_uint8_t _undefined_stack_start[512];
|
rt_uint8_t _undefined_stack_start[512];
|
||||||
rt_uint8_t _abort_stack_start[512];
|
rt_uint8_t _abort_stack_start[512];
|
||||||
rt_uint8_t _svc_stack_start[4096] SECTION(".nobss");
|
rt_uint8_t _svc_stack_start[4096] RT_SECTION(".nobss");
|
||||||
extern unsigned char __bss_start;
|
extern unsigned char __bss_start;
|
||||||
extern unsigned char __bss_end;
|
extern unsigned char __bss_end;
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ struct imxrt_lcd
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct imxrt_lcd lcd;
|
static struct imxrt_lcd lcd;
|
||||||
ALIGN(64) static uint16_t frame_buffer[LCD_HEIGHT][LCD_WIDTH] SECTION("NonCacheable");
|
ALIGN(64) static uint16_t frame_buffer[LCD_HEIGHT][LCD_WIDTH] RT_SECTION("NonCacheable");
|
||||||
|
|
||||||
static rt_err_t imxrt_lcd_init(rt_device_t device)
|
static rt_err_t imxrt_lcd_init(rt_device_t device)
|
||||||
{
|
{
|
||||||
|
|
|
@ -61,7 +61,7 @@ static int enable_log = 1;
|
||||||
/* Endian mode. */
|
/* Endian mode. */
|
||||||
#define USDHC_ENDIAN_MODE kUSDHC_EndianModeLittle
|
#define USDHC_ENDIAN_MODE kUSDHC_EndianModeLittle
|
||||||
|
|
||||||
ALIGN(USDHC_ADMA2_ADDR_ALIGN) uint32_t g_usdhcAdma2Table[USDHC_ADMA_TABLE_WORDS] SECTION("NonCacheable");
|
ALIGN(USDHC_ADMA2_ADDR_ALIGN) uint32_t g_usdhcAdma2Table[USDHC_ADMA_TABLE_WORDS] RT_SECTION("NonCacheable");
|
||||||
|
|
||||||
struct imxrt_mmcsd
|
struct imxrt_mmcsd
|
||||||
{
|
{
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
#include <vbus.h>
|
#include <vbus.h>
|
||||||
#include <board.h>
|
#include <board.h>
|
||||||
|
|
||||||
struct rt_vbus_ring rt_vbus_rings[2] SECTION("vbus_ring");
|
struct rt_vbus_ring rt_vbus_rings[2] RT_SECTION("vbus_ring");
|
||||||
|
|
||||||
int rt_vbus_do_init(void)
|
int rt_vbus_do_init(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include <vbus.h>
|
#include <vbus.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static const unsigned char _M0_CODE[] SECTION("M0_CODE") = {
|
static const unsigned char _M0_CODE[] RT_SECTION("M0_CODE") = {
|
||||||
#include "M0_CODE.h"
|
#include "M0_CODE.h"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
#include <vbus.h>
|
#include <vbus.h>
|
||||||
#include <board.h>
|
#include <board.h>
|
||||||
|
|
||||||
struct rt_vbus_ring rt_vbus_rings[2] SECTION("vbus_ring");
|
struct rt_vbus_ring rt_vbus_rings[2] RT_SECTION("vbus_ring");
|
||||||
|
|
||||||
int rt_vbus_do_init(void)
|
int rt_vbus_do_init(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#define EMAC_PHY_100MBIT 2
|
#define EMAC_PHY_100MBIT 2
|
||||||
|
|
||||||
#define MAX_ADDR_LEN 6
|
#define MAX_ADDR_LEN 6
|
||||||
static rt_uint32_t ETH_RAM_BASE[4 * 1024] SECTION("ETH_RAM");
|
static rt_uint32_t ETH_RAM_BASE[4 * 1024] RT_SECTION("ETH_RAM");
|
||||||
|
|
||||||
/* EMAC variables located in 16K Ethernet SRAM */
|
/* EMAC variables located in 16K Ethernet SRAM */
|
||||||
#define RX_DESC_BASE (uint32_t)Ð_RAM_BASE[0]
|
#define RX_DESC_BASE (uint32_t)Ð_RAM_BASE[0]
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
rt_uint8_t _fiq_stack_start[1024];
|
rt_uint8_t _fiq_stack_start[1024];
|
||||||
rt_uint8_t _undefined_stack_start[512];
|
rt_uint8_t _undefined_stack_start[512];
|
||||||
rt_uint8_t _abort_stack_start[512];
|
rt_uint8_t _abort_stack_start[512];
|
||||||
rt_uint8_t _svc_stack_start[4096] SECTION(".nobss");
|
rt_uint8_t _svc_stack_start[4096] RT_SECTION(".nobss");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__CC_ARM)
|
#if defined(__CC_ARM)
|
||||||
|
|
|
@ -42,7 +42,7 @@ rt_uint8_t _irq_stack_start[1024];
|
||||||
rt_uint8_t _fiq_stack_start[1024];
|
rt_uint8_t _fiq_stack_start[1024];
|
||||||
rt_uint8_t _undefined_stack_start[512];
|
rt_uint8_t _undefined_stack_start[512];
|
||||||
rt_uint8_t _abort_stack_start[512];
|
rt_uint8_t _abort_stack_start[512];
|
||||||
rt_uint8_t _priv_stack_start[4096]; SECTION(".nobss");
|
rt_uint8_t _priv_stack_start[4096]; RT_SECTION(".nobss");
|
||||||
extern unsigned char __bss_start;
|
extern unsigned char __bss_start;
|
||||||
extern unsigned char __bss_end;
|
extern unsigned char __bss_end;
|
||||||
|
|
||||||
|
|
|
@ -90,9 +90,9 @@ struct finsh_syscall* finsh_syscall_lookup(const char* name);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#define FINSH_FUNCTION_EXPORT_CMD(name, cmd, desc) \
|
#define FINSH_FUNCTION_EXPORT_CMD(name, cmd, desc) \
|
||||||
const char __fsym_##cmd##_name[] SECTION(".rodata.name") = #cmd; \
|
const char __fsym_##cmd##_name[] RT_SECTION(".rodata.name") = #cmd; \
|
||||||
const char __fsym_##cmd##_desc[] SECTION(".rodata.name") = #desc; \
|
const char __fsym_##cmd##_desc[] RT_SECTION(".rodata.name") = #desc; \
|
||||||
RT_USED const struct finsh_syscall __fsym_##cmd SECTION("FSymTab")= \
|
RT_USED const struct finsh_syscall __fsym_##cmd RT_SECTION("FSymTab")= \
|
||||||
{ \
|
{ \
|
||||||
__fsym_##cmd##_name, \
|
__fsym_##cmd##_name, \
|
||||||
__fsym_##cmd##_desc, \
|
__fsym_##cmd##_desc, \
|
||||||
|
@ -100,9 +100,9 @@ struct finsh_syscall* finsh_syscall_lookup(const char* name);
|
||||||
};
|
};
|
||||||
|
|
||||||
#define FINSH_VAR_EXPORT(name, type, desc) \
|
#define FINSH_VAR_EXPORT(name, type, desc) \
|
||||||
const char __vsym_##name##_name[] SECTION(".rodata.name") = #name; \
|
const char __vsym_##name##_name[] RT_SECTION(".rodata.name") = #name; \
|
||||||
const char __vsym_##name##_desc[] SECTION(".rodata.name") = #desc; \
|
const char __vsym_##name##_desc[] RT_SECTION(".rodata.name") = #desc; \
|
||||||
RT_USED const struct finsh_sysvar __vsym_##name SECTION("VSymTab")= \
|
RT_USED const struct finsh_sysvar __vsym_##name RT_SECTION("VSymTab")= \
|
||||||
{ \
|
{ \
|
||||||
__vsym_##name##_name, \
|
__vsym_##name##_name, \
|
||||||
__vsym_##name##_desc, \
|
__vsym_##name##_desc, \
|
||||||
|
@ -155,7 +155,7 @@ struct finsh_syscall* finsh_syscall_lookup(const char* name);
|
||||||
#else
|
#else
|
||||||
#define FINSH_FUNCTION_EXPORT_CMD(name, cmd, desc) \
|
#define FINSH_FUNCTION_EXPORT_CMD(name, cmd, desc) \
|
||||||
const char __fsym_##cmd##_name[] = #cmd; \
|
const char __fsym_##cmd##_name[] = #cmd; \
|
||||||
RT_USED const struct finsh_syscall __fsym_##cmd SECTION("FSymTab")= \
|
RT_USED const struct finsh_syscall __fsym_##cmd RT_SECTION("FSymTab")= \
|
||||||
{ \
|
{ \
|
||||||
__fsym_##cmd##_name, \
|
__fsym_##cmd##_name, \
|
||||||
(syscall_func)&name \
|
(syscall_func)&name \
|
||||||
|
@ -163,7 +163,7 @@ struct finsh_syscall* finsh_syscall_lookup(const char* name);
|
||||||
|
|
||||||
#define FINSH_VAR_EXPORT(name, type, desc) \
|
#define FINSH_VAR_EXPORT(name, type, desc) \
|
||||||
const char __vsym_##name##_name[] = #name; \
|
const char __vsym_##name##_name[] = #name; \
|
||||||
RT_USED const struct finsh_sysvar __vsym_##name SECTION("VSymTab")= \
|
RT_USED const struct finsh_sysvar __vsym_##name RT_SECTION("VSymTab")= \
|
||||||
{ \
|
{ \
|
||||||
__vsym_##name##_name, \
|
__vsym_##name##_name, \
|
||||||
type, \
|
type, \
|
||||||
|
|
|
@ -50,7 +50,7 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define AT_CMD_EXPORT(_name_, _args_expr_, _test_, _query_, _setup_, _exec_) \
|
#define AT_CMD_EXPORT(_name_, _args_expr_, _test_, _query_, _setup_, _exec_) \
|
||||||
RT_USED static const struct at_cmd __at_cmd_##_test_##_query_##_setup_##_exec_ SECTION("RtAtCmdTab") = \
|
RT_USED static const struct at_cmd __at_cmd_##_test_##_query_##_setup_##_exec_ RT_SECTION("RtAtCmdTab") = \
|
||||||
{ \
|
{ \
|
||||||
_name_, \
|
_name_, \
|
||||||
_args_expr_, \
|
_args_expr_, \
|
||||||
|
|
|
@ -138,7 +138,7 @@ utest_t utest_handle_get(void);
|
||||||
*/
|
*/
|
||||||
#define UTEST_TC_EXPORT(testcase, name, init, cleanup, timeout) \
|
#define UTEST_TC_EXPORT(testcase, name, init, cleanup, timeout) \
|
||||||
RT_USED static const struct utest_tc_export _utest_testcase \
|
RT_USED static const struct utest_tc_export _utest_testcase \
|
||||||
SECTION("UtestTcTab") = \
|
RT_SECTION("UtestTcTab") = \
|
||||||
{ \
|
{ \
|
||||||
name, \
|
name, \
|
||||||
timeout, \
|
timeout, \
|
||||||
|
|
|
@ -22,9 +22,9 @@
|
||||||
extern void rt_hw_interrupt_init(void);
|
extern void rt_hw_interrupt_init(void);
|
||||||
extern void rt_application_init(void);
|
extern void rt_application_init(void);
|
||||||
|
|
||||||
void vmm_entry(struct vmm_entry_param* param) SECTION(".vmm_init");
|
void vmm_entry(struct vmm_entry_param* param) RT_SECTION(".vmm_init");
|
||||||
|
|
||||||
struct rt_thread vmm_thread SECTION(".bss.share.vmm");
|
struct rt_thread vmm_thread RT_SECTION(".bss.share.vmm");
|
||||||
extern rt_uint8_t vmm_stack_start;
|
extern rt_uint8_t vmm_stack_start;
|
||||||
extern rt_uint8_t vmm_stack_end;
|
extern rt_uint8_t vmm_stack_end;
|
||||||
|
|
||||||
|
@ -75,7 +75,7 @@ static void vmm_entry_glue(rt_uint32_t level,
|
||||||
unsigned int kernel_domain)
|
unsigned int kernel_domain)
|
||||||
/* inline would make the section setting meaningless */
|
/* inline would make the section setting meaningless */
|
||||||
__attribute__((noinline))
|
__attribute__((noinline))
|
||||||
SECTION(".vmm_glue");
|
RT_SECTION(".vmm_glue");
|
||||||
static void vmm_entry_glue(rt_uint32_t level,
|
static void vmm_entry_glue(rt_uint32_t level,
|
||||||
unsigned int vmm_domain,
|
unsigned int vmm_domain,
|
||||||
unsigned int kernel_domain)
|
unsigned int kernel_domain)
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
#include "vmm_context.h"
|
#include "vmm_context.h"
|
||||||
|
|
||||||
struct rt_vmm_share_layout rt_vmm_share SECTION(".vmm.share");
|
struct rt_vmm_share_layout rt_vmm_share RT_SECTION(".vmm.share");
|
||||||
|
|
||||||
volatile struct vmm_context *_vmm_context = RT_NULL;
|
volatile struct vmm_context *_vmm_context = RT_NULL;
|
||||||
|
|
||||||
|
@ -31,13 +31,13 @@ void vmm_context_init(void *context_addr)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef RT_VMM_USING_DOMAIN
|
#ifdef RT_VMM_USING_DOMAIN
|
||||||
unsigned long guest_domain_val SECTION(".bss.share");
|
unsigned long guest_domain_val RT_SECTION(".bss.share");
|
||||||
unsigned long vmm_domain_val SECTION(".bss.share");
|
unsigned long vmm_domain_val RT_SECTION(".bss.share");
|
||||||
/* some RT-Thread code need to be called in the guest
|
/* some RT-Thread code need to be called in the guest
|
||||||
* context(rt_thread_idle_excute for example). To simplify the code, we need a
|
* context(rt_thread_idle_excute for example). To simplify the code, we need a
|
||||||
* "super" domain mode to have access of both side. The code executed in super
|
* "super" domain mode to have access of both side. The code executed in super
|
||||||
* domain mode is restricted and should be harmless. */
|
* domain mode is restricted and should be harmless. */
|
||||||
unsigned long super_domain_val SECTION(".bss.share");
|
unsigned long super_domain_val RT_SECTION(".bss.share");
|
||||||
void vmm_context_init_domain(struct vmm_domain *domain)
|
void vmm_context_init_domain(struct vmm_domain *domain)
|
||||||
{
|
{
|
||||||
asm volatile ("mrc p15, 0, %0, c3, c0\n" : "=r" (guest_domain_val));
|
asm volatile ("mrc p15, 0, %0, c3, c0\n" : "=r" (guest_domain_val));
|
||||||
|
|
|
@ -117,7 +117,7 @@ typedef rt_base_t rt_off_t; /**< Type for offset */
|
||||||
/* Compiler Related Definitions */
|
/* Compiler Related Definitions */
|
||||||
#if defined(__CC_ARM) || defined(__CLANG_ARM) /* ARM Compiler */
|
#if defined(__CC_ARM) || defined(__CLANG_ARM) /* ARM Compiler */
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#define SECTION(x) __attribute__((section(x)))
|
#define RT_SECTION(x) __attribute__((section(x)))
|
||||||
#define RT_UNUSED __attribute__((unused))
|
#define RT_UNUSED __attribute__((unused))
|
||||||
#define RT_USED __attribute__((used))
|
#define RT_USED __attribute__((used))
|
||||||
#define ALIGN(n) __attribute__((aligned(n)))
|
#define ALIGN(n) __attribute__((aligned(n)))
|
||||||
|
@ -133,7 +133,7 @@ typedef rt_base_t rt_off_t; /**< Type for offset */
|
||||||
|
|
||||||
#elif defined (__IAR_SYSTEMS_ICC__) /* for IAR Compiler */
|
#elif defined (__IAR_SYSTEMS_ICC__) /* for IAR Compiler */
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#define SECTION(x) @ x
|
#define RT_SECTION(x) @ x
|
||||||
#define RT_UNUSED
|
#define RT_UNUSED
|
||||||
#define RT_USED __root
|
#define RT_USED __root
|
||||||
#define PRAGMA(x) _Pragma(#x)
|
#define PRAGMA(x) _Pragma(#x)
|
||||||
|
@ -154,7 +154,7 @@ typedef rt_base_t rt_off_t; /**< Type for offset */
|
||||||
#define va_arg(v,l) __builtin_va_arg(v,l)
|
#define va_arg(v,l) __builtin_va_arg(v,l)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define SECTION(x) __attribute__((section(x)))
|
#define RT_SECTION(x) __attribute__((section(x)))
|
||||||
#define RT_UNUSED __attribute__((unused))
|
#define RT_UNUSED __attribute__((unused))
|
||||||
#define RT_USED __attribute__((used))
|
#define RT_USED __attribute__((used))
|
||||||
#define ALIGN(n) __attribute__((aligned(n)))
|
#define ALIGN(n) __attribute__((aligned(n)))
|
||||||
|
@ -163,7 +163,7 @@ typedef rt_base_t rt_off_t; /**< Type for offset */
|
||||||
#define RTT_API
|
#define RTT_API
|
||||||
#elif defined (__ADSPBLACKFIN__) /* for VisualDSP++ Compiler */
|
#elif defined (__ADSPBLACKFIN__) /* for VisualDSP++ Compiler */
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#define SECTION(x) __attribute__((section(x)))
|
#define RT_SECTION(x) __attribute__((section(x)))
|
||||||
#define RT_UNUSED __attribute__((unused))
|
#define RT_UNUSED __attribute__((unused))
|
||||||
#define RT_USED __attribute__((used))
|
#define RT_USED __attribute__((used))
|
||||||
#define ALIGN(n) __attribute__((aligned(n)))
|
#define ALIGN(n) __attribute__((aligned(n)))
|
||||||
|
@ -172,7 +172,7 @@ typedef rt_base_t rt_off_t; /**< Type for offset */
|
||||||
#define RTT_API
|
#define RTT_API
|
||||||
#elif defined (_MSC_VER)
|
#elif defined (_MSC_VER)
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#define SECTION(x)
|
#define RT_SECTION(x)
|
||||||
#define RT_UNUSED
|
#define RT_UNUSED
|
||||||
#define RT_USED
|
#define RT_USED
|
||||||
#define ALIGN(n) __declspec(align(n))
|
#define ALIGN(n) __declspec(align(n))
|
||||||
|
@ -184,7 +184,7 @@ typedef rt_base_t rt_off_t; /**< Type for offset */
|
||||||
/* The way that TI compiler set section is different from other(at least
|
/* The way that TI compiler set section is different from other(at least
|
||||||
* GCC and MDK) compilers. See ARM Optimizing C/C++ Compiler 5.9.3 for more
|
* GCC and MDK) compilers. See ARM Optimizing C/C++ Compiler 5.9.3 for more
|
||||||
* details. */
|
* details. */
|
||||||
#define SECTION(x)
|
#define RT_SECTION(x)
|
||||||
#define RT_UNUSED
|
#define RT_UNUSED
|
||||||
#define RT_USED
|
#define RT_USED
|
||||||
#define PRAGMA(x) _Pragma(#x)
|
#define PRAGMA(x) _Pragma(#x)
|
||||||
|
@ -195,7 +195,7 @@ typedef rt_base_t rt_off_t; /**< Type for offset */
|
||||||
#elif defined (__TASKING__)
|
#elif defined (__TASKING__)
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#define SECTION(x)
|
#define RT_SECTION(x)
|
||||||
#define RT_UNUSED
|
#define RT_UNUSED
|
||||||
#define RT_USED
|
#define RT_USED
|
||||||
#define PRAGMA(x) _Pragma(#x)
|
#define PRAGMA(x) _Pragma(#x)
|
||||||
|
@ -222,11 +222,11 @@ typedef int (*init_fn_t)(void);
|
||||||
};
|
};
|
||||||
#define INIT_EXPORT(fn, level) \
|
#define INIT_EXPORT(fn, level) \
|
||||||
const char __rti_##fn##_name[] = #fn; \
|
const char __rti_##fn##_name[] = #fn; \
|
||||||
RT_USED const struct rt_init_desc __rt_init_desc_##fn SECTION(".rti_fn." level) = \
|
RT_USED const struct rt_init_desc __rt_init_desc_##fn RT_SECTION(".rti_fn." level) = \
|
||||||
{ __rti_##fn##_name, fn};
|
{ __rti_##fn##_name, fn};
|
||||||
#else
|
#else
|
||||||
#define INIT_EXPORT(fn, level) \
|
#define INIT_EXPORT(fn, level) \
|
||||||
RT_USED const init_fn_t __rt_init_##fn SECTION(".rti_fn." level) = fn
|
RT_USED const init_fn_t __rt_init_##fn RT_SECTION(".rti_fn." level) = fn
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -28,8 +28,8 @@ __declspec(allocate("RTMSymTab$f"))const char __rtmsym_##symbol##_name[] = "__vs
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#define RTM_EXPORT(symbol) \
|
#define RTM_EXPORT(symbol) \
|
||||||
const char __rtmsym_##symbol##_name[] SECTION(".rodata.name") = #symbol; \
|
const char __rtmsym_##symbol##_name[] RT_SECTION(".rodata.name") = #symbol; \
|
||||||
const struct rt_module_symtab __rtmsym_##symbol SECTION("RTMSymTab")= \
|
const struct rt_module_symtab __rtmsym_##symbol RT_SECTION("RTMSymTab")= \
|
||||||
{ \
|
{ \
|
||||||
(void *)&symbol, \
|
(void *)&symbol, \
|
||||||
__rtmsym_##symbol##_name \
|
__rtmsym_##symbol##_name \
|
||||||
|
|
|
@ -26,9 +26,9 @@ extern volatile rt_uint8_t rt_interrupt_nest;
|
||||||
struct rt_irq_desc isr_table[MAX_HANDLERS];
|
struct rt_irq_desc isr_table[MAX_HANDLERS];
|
||||||
|
|
||||||
/* Those varibles will be accessed in ISR, so we need to share them. */
|
/* Those varibles will be accessed in ISR, so we need to share them. */
|
||||||
rt_uint32_t rt_interrupt_from_thread SECTION(".bss.share.int");
|
rt_uint32_t rt_interrupt_from_thread RT_SECTION(".bss.share.int");
|
||||||
rt_uint32_t rt_interrupt_to_thread SECTION(".bss.share.int");
|
rt_uint32_t rt_interrupt_to_thread RT_SECTION(".bss.share.int");
|
||||||
rt_uint32_t rt_thread_switch_interrupt_flag SECTION(".bss.share.int");
|
rt_uint32_t rt_thread_switch_interrupt_flag RT_SECTION(".bss.share.int");
|
||||||
|
|
||||||
const unsigned int VECTOR_BASE = 0x00;
|
const unsigned int VECTOR_BASE = 0x00;
|
||||||
extern void rt_cpu_vector_set_base(unsigned int addr);
|
extern void rt_cpu_vector_set_base(unsigned int addr);
|
||||||
|
|
|
@ -109,7 +109,7 @@ void rt_hw_cpu_dump_page_table(rt_uint32_t *ptb)
|
||||||
|
|
||||||
/* level1 page table, each entry for 1MB memory. */
|
/* level1 page table, each entry for 1MB memory. */
|
||||||
/* MMUTable is the name used by codes of Xilinx */
|
/* MMUTable is the name used by codes of Xilinx */
|
||||||
volatile unsigned long MMUTable[4*1024] SECTION("mmu_tbl") __attribute__((aligned(16*1024)));
|
volatile unsigned long MMUTable[4*1024] RT_SECTION("mmu_tbl") __attribute__((aligned(16*1024)));
|
||||||
void rt_hw_mmu_setmtt(rt_uint32_t vaddrStart,
|
void rt_hw_mmu_setmtt(rt_uint32_t vaddrStart,
|
||||||
rt_uint32_t vaddrEnd,
|
rt_uint32_t vaddrEnd,
|
||||||
rt_uint32_t paddrStart,
|
rt_uint32_t paddrStart,
|
||||||
|
|
Loading…
Reference in New Issue