当前位置: 首页 > 工具软件 > EMOS > 使用案例 >

EMOS嵌入式仿真平台-编程环境v101

卓俊晖
2023-12-01

 

EMOS1.0.1的编程环境指导手册。

提供在MinGW/MinGW64的windows环境下的嵌入式编程仿真环境的工作过程解释,以及能够在MinGW(32bit)和MinGW64(64bit都能够正常运行的工作过程说明,同时附件免费提供源代码.

不同于商用仿真环境只提供二进制执行文件,EMOS1.01 所有源代码可控,可以对于OS的理解自己修改和配置。

README32.txt

README64.txt

Makefile

cmnd.bat

emos_inc.h

emos_core.h

emos_core.c

emos_cfg.h

emos_task.c

emos_sem.c

emos_mem.c

emos_mbox.c

emos_msgq.c

emos_cpu.c

emos_cpu.h

emos_test.c

start_cmd.bat

start_cmdd.bat

说明文件MinGW(32bit),用UltraEdit打开;

说明文件MinGW64(64bit),用UltraEdit打开;

Makefile文件;

建立MinGW编译工具路径bat文件,参考笔者《MinGW指南》;

常用标准数据类型定义头文件;

核心数据结构定义,核心函数声明文件;

核心功能实现;

EMOS模块功能选择性配置头文件;(学习取默认即可)

EMOS的任务实现文件;

EMOS的信号量实现文件;

EMOS的简单memory管理文件;

EMOS的MBox实现文件;

EMOS的MsgQ实现文件;

EMOS的CPU相关实现文件,当前提供MinGW的仿真环境;

EMOS的CPU相关头文件;

EMOS的主要测试代码,以及main()函数入口,启动EMOS的案例等;

笔者的cmd环境,给MinGW(32bit)使用,主要找到编译环境路径。

笔者的cmd环境,给MinGW64(64bit)使用,主要找到编译环境路径。

C:\MinGW\emos100>make

gcc -Wall -I. -g -o emos.o emos_core.c emos_task.c emos_mem.c emos_cpu.c emos_sem.c emos_msgq.c emos_mbox.c emos_test.c  -lwinmm -mconsole

emos.o

emos_msgq.c 526 Init sucessfully,sizeof=40

==>Trace:emosTaskTst1=4050de

==>Trace:emosTaskTst2=405103

 

---------------------- EMOS Debug Information by zhfzhao Jan2008 ------------------

TCBCur  TCBHRdy  PriCur PriHRdy  gTCBList RdyGrp taskIdle taskStat timeTick

00000000 00000000 000000 0000000 0040c0d0 000081 00401c2f 00401c5b 00000000

RDY TBL All:

Rdy[0]=03 Rdy[1]=00 Rdy[2]=00 Rdy[3]=00 Rdy[4]=00 Rdy[5]=00 Rdy[6]=00 Rdy[7]=60

TcbPrioTbl TBL All:

0040c0d0 0040c0a0 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 0040c070 0040c040

Tcb_Addr Tcb_next Tcb_prev stk_Ptr  Sta Dly Pri tX tY bX bY

0040c0d0 0040c0a0 00000000 0040db1b 000 000 000 00 00 01 01

0040c0a0 0040c070 0040c0d0 0040d91b 000 000 001 01 00 02 01

0040c070 0040c040 0040c0a0 0040ca68 000 000 061 05 07 20 80

0040c040 00000000 0040c070 0040c268 000 000 062 06 07 40 80

------------------------------ Debug Information end ------------------------------

两个任务Tasks (similar to Process or thread) 相互传递消息并且打印出消息内容的例子,在嵌入式编程中最普遍通用的消息通信。

Task Stat Running cnt=380419 max=461600 cpu=%18

Task Stat Running cnt=416092 max=461600 cpu=%10

EMOS Test Task B Running

emos_test.c 108 MsgQSendID numMsg=1

emos_test.c 84 MsgQRecv ok = Hello World=002 numMsg=0

Task Stat Running cnt=414028 max=462500 cpu=%11

Task Stat Running cnt=417007 max=462500 cpu=%10

EMOS Test Task A Running

Task Stat Running cnt=416507 max=462600 cpu=%10

EMOS Test Task B Running

emos_test.c 108 MsgQSendID numMsg=1

emos_test.c 84 MsgQRecv ok = Hello World=003 numMsg=0

 

 

详细的文档和源代码链接如下:(收费文档)

https://download.csdn.net/download/zenf_zhao/15636443

 

 类似资料: