📄 main.c
字号:
#include <s3c2410.h>#include <serial.h>#include <sched.h> #include <swi.h>#include <interrupt.h> #define GPB7_out (1<<(7*2))#define GPB8_out (1<<(8*2))#define GPB9_out (1<<(9*2))#define GPB10_out (1<<(10*2))#define NULL 0 static unsigned long m_RandSeed;/* 随机函数 */inline unsigned long Rand(void) { return (m_RandSeed=1664525L*m_RandSeed+1013904223L)>>5;}void wait(unsigned long dly){ for(; dly > 0; dly--);}int main(void){ unsigned long i=0; char str[2]; str[1] = '\0'; init_uart(); //波特率57600,8N1(8个数据位,无校验位,1个停止位) DPRINTK(KERNEL_DEBUG,"\n\rkernel:enter main\n\r"); OS_ENTER_CRITICAL(); sched_init(); /************************************************************** * int OSCreateProcess(unsigned long nand_start_addr, unsigned long len, char *parameters, long priority) * 参数为:用户进程在nand flash的位置、长度,运行参数,优先级 * 运行参数与在linux台下运行命令相似:比如我们执行echo "usr/local",那么: * 您应该把你编的echo代码下载到nand flah中,让parameters="usr/local" **************************************************************/ //创建26个进程,每个进程重复输出一个子母 //代码在user_program/UART中 for(i = 'A'; i <= 'Z'; i++){ str[0] = i; OSCreateProcess(12*1024,1024,str,5+(Rand()&0x3f)); } /**************************************************************** * 创建进程,代码在user_program/LEDS中 * 本进程使用4个LED进行计数,我的开发板使用GPB7-10引脚 ****************************************************************/ OSCreateProcess(13*1024,1024,NULL,40); OS_EXIT_CRITICAL(); DPRINTK(KERNEL_DEBUG,"\n\rkernel:first\n\r"); while(1){ DPRINTK(KERNEL_DEBUG,"kernel:process 0\n\r"); printk("process 0, idle\n\r"); wait(5000000); } return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -