文件名称:Hydrogen_Core51
- 所属分类:
- 单片机(51,AVR,MSP430等)
- 资源属性:
- [C/C++] [源码]
- 上传时间:
- 2012-11-26
- 文件大小:
- 3.12mb
- 下载次数:
- 0次
- 提 供 者:
- bin***
- 相关连接:
- 无
- 下载说明:
- 别用迅雷下载,失败请重下,重下不扣分!
介绍说明--下载内容均来自于网络,请自行研究使用
Hydrogen/C51 是一个用于51的非占先操作系统 基本上用纯 C 实现, 嵌入了大概10行的汇编
基本需求:
1.最小编译代码大概在 2.4k
2.需要使用片外的 xdata 作为堆使用
3.占用 TIMER0 作为计时
使用基本要求:
1.任务中必需要存在 Sleep/WaitFor 函数才能主动放弃占用CPU
2.任务入口和使用到Sleep/WaitFor的函数必需是 reentrant.
内核功能:
1.动态建立任务
2.支持事件/阻塞/信号量,临界
3.全双工串口(中断实现), IO过程中不会阻塞其它任务
4.UNIX c 风格的读写流(read/write)
5.一个简单的基于 24C 的文件系统(不支持目录)
-Hydrogen/Core51 is a Keil C51 None-Preemptive OS. CORE written by Pure C (well..almost Pure, has 10 lines inline ASM).
CORE minimal resource
**Size about 2.3~5K ROM, 20+ Byte RAM. it is depends modules your chosen.
**CORE also TAKE TIMER0 to tick for real-timing, and need xdata for HEAP
CORE Support
**dynamic Create/Terminate Thread(TASK)
**Synchronize Object (Event/Semaphore/Critical Section), Thread(TASK) Naturally GIVES UP CPU by WaitFor these Synchronize Object
**Common IO, it is STD C open/read/write in Any Stream Like IO(I2C, UART etc.)
I host this project for OS studying, and Also Used in my work.
SRC can be download from SVN Repository
基本需求:
1.最小编译代码大概在 2.4k
2.需要使用片外的 xdata 作为堆使用
3.占用 TIMER0 作为计时
使用基本要求:
1.任务中必需要存在 Sleep/WaitFor 函数才能主动放弃占用CPU
2.任务入口和使用到Sleep/WaitFor的函数必需是 reentrant.
内核功能:
1.动态建立任务
2.支持事件/阻塞/信号量,临界
3.全双工串口(中断实现), IO过程中不会阻塞其它任务
4.UNIX c 风格的读写流(read/write)
5.一个简单的基于 24C 的文件系统(不支持目录)
-Hydrogen/Core51 is a Keil C51 None-Preemptive OS. CORE written by Pure C (well..almost Pure, has 10 lines inline ASM).
CORE minimal resource
**Size about 2.3~5K ROM, 20+ Byte RAM. it is depends modules your chosen.
**CORE also TAKE TIMER0 to tick for real-timing, and need xdata for HEAP
CORE Support
**dynamic Create/Terminate Thread(TASK)
**Synchronize Object (Event/Semaphore/Critical Section), Thread(TASK) Naturally GIVES UP CPU by WaitFor these Synchronize Object
**Common IO, it is STD C open/read/write in Any Stream Like IO(I2C, UART etc.)
I host this project for OS studying, and Also Used in my work.
SRC can be download from SVN Repository
(系统自动生成,下载前可以参看下载内容)
下载文件列表
Hydrogen
........\clean.bat
........\Core51
........\......\ADE7758.h
........\......\ATT7022.c
........\......\ATT7022.h
........\......\Core.c
........\......\Core.h
........\......\Core_Context.c
........\......\Core_CriticalSection.c
........\......\defconfig.h
........\......\EEPROM24C.c
........\......\EEPROM24C.h
........\......\EEPROM24C_FileSystem.c
........\......\FREE.C
........\......\heap.h
........\......\HL9576.c
........\......\HL9576.h
........\......\I2C.h
........\......\I2C_Simulate.c
........\......\INIT_MEM.C
........\......\IO.c
........\......\IO.h
........\......\MALLOC.C
........\......\MeasureChip.h
........\......\QFind.c
........\......\QFind.h
........\......\REG_STC51.h
........\......\RX8025.c
........\......\RX8025.h
........\......\socket.h
........\......\SPI.h
........\......\SPI_Simulate.c
........\......\types.h
........\......\UART.h
........\......\UART_STC51.c
........\......\UART_STD51.c
........\demo
........\....\event
........\....\.....\config.h
........\....\.....\event.c
........\....\.....\event.uvopt
........\....\.....\event.uvproj
........\....\.....\event_uvopt.bak
........\....\.....\event_uvproj.bak
........\....\.....\release
........\....\.....\STARTUP.A51
........\....\.....\task_uvopt.bak
........\....\task
........\....\....\config.h
........\....\....\release
........\....\....\STARTUP.A51
........\....\....\task.c
........\....\....\task.uvopt
........\....\....\task.uvproj
........\....\....\task_uvopt.bak
........\doc
........\...\24xx256.pdf
........\...\7022Calibration.txt
........\...\823284.pdf
........\...\DL-T645-1997.pdf
........\...\HL9576.pdf
........\...\HL9576_LCD.PDF
........\...\LM75.pdf
........\...\RX8025.pdf
........\...\RX8025SANB.pdf
........\...\液晶SEQ0754-Model.pdf
........\...\液晶SEQ0754-Model22.pdf
........\clean.bat
........\Core51
........\......\ADE7758.h
........\......\ATT7022.c
........\......\ATT7022.h
........\......\Core.c
........\......\Core.h
........\......\Core_Context.c
........\......\Core_CriticalSection.c
........\......\defconfig.h
........\......\EEPROM24C.c
........\......\EEPROM24C.h
........\......\EEPROM24C_FileSystem.c
........\......\FREE.C
........\......\heap.h
........\......\HL9576.c
........\......\HL9576.h
........\......\I2C.h
........\......\I2C_Simulate.c
........\......\INIT_MEM.C
........\......\IO.c
........\......\IO.h
........\......\MALLOC.C
........\......\MeasureChip.h
........\......\QFind.c
........\......\QFind.h
........\......\REG_STC51.h
........\......\RX8025.c
........\......\RX8025.h
........\......\socket.h
........\......\SPI.h
........\......\SPI_Simulate.c
........\......\types.h
........\......\UART.h
........\......\UART_STC51.c
........\......\UART_STD51.c
........\demo
........\....\event
........\....\.....\config.h
........\....\.....\event.c
........\....\.....\event.uvopt
........\....\.....\event.uvproj
........\....\.....\event_uvopt.bak
........\....\.....\event_uvproj.bak
........\....\.....\release
........\....\.....\STARTUP.A51
........\....\.....\task_uvopt.bak
........\....\task
........\....\....\config.h
........\....\....\release
........\....\....\STARTUP.A51
........\....\....\task.c
........\....\....\task.uvopt
........\....\....\task.uvproj
........\....\....\task_uvopt.bak
........\doc
........\...\24xx256.pdf
........\...\7022Calibration.txt
........\...\823284.pdf
........\...\DL-T645-1997.pdf
........\...\HL9576.pdf
........\...\HL9576_LCD.PDF
........\...\LM75.pdf
........\...\RX8025.pdf
........\...\RX8025SANB.pdf
........\...\液晶SEQ0754-Model.pdf
........\...\液晶SEQ0754-Model22.pdf