代码拉取完成,页面将自动刷新
同步操作将从 hehe/skyeye_rawos 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#include "raw_api.h"
typedef void (*init_func)(void);
#define UFCON0 ((volatile unsigned int *)(0x50000020))
void helloworld(void){
const char *p="helloworld\n";
while(*p){
*UFCON0=*p++;
};
}
void test_mmu(void){
const char *p="test_mmu\n";
while(*p){
*(volatile unsigned int *)0xd0000020=*p++;
};
}
static init_func init[]={
helloworld,
0,
};
void timer_init(void){
#define TIMER_BASE (0xd1000000)
#define TCFG0 ((volatile unsigned int *)(TIMER_BASE+0x0))
#define TCFG1 ((volatile unsigned int *)(TIMER_BASE+0x4))
#define TCON ((volatile unsigned int *)(TIMER_BASE+0x8))
#define TCONB4 ((volatile unsigned int *)(TIMER_BASE+0x3c))
*TCFG0|=0x800;
*TCON&=(~(7<<20));
*TCON|=(1<<22);
*TCON|=(1<<21);
*TCONB4=10000;
*TCON|=(1<<20);
*TCON&=~(1<<21);
umask_int(14);
disable_irq();
// enable_irq();
}
int test_switch = 0;
void plat_boot(void){
int i;
for(i=0;init[i];i++){
init[i]();
}
init_sys_mmu();
start_mmu();
test_mmu();
test_printk();
timer_init();
raw_os_init();
test_task();
//test_sem();
//test_mutex();
//test_timer();
//test_block();
//test_byte();
raw_os_start();
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。