⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.txt

📁 ucos 在GAMEBOY上的移植
💻 TXT
字号:
关于本移植:

	这个移植 主要参考了uCOS-II 在skyeye上的移植版本
	基本实现思想是沿袭他们的

	skyeye是一个开源软件 可以在 Linux和Windows平台上实现软件仿真ARM7DTMI核
	具体可以参考 http://hpclab.cs.tsinghua.edu.cn/~skyeye/


	对于我移植后的 具体的改变等 可以参考我写的注释
	(基本上我的注释都是中文或者不通的英文 汗)

	用户代码部分 大多沿用了我以前发布的GBA for ADS1.2 工程模板(可以在www.C51BBS.com上找到)

1.	解压本压缩包到一个目录下
	目录结构会如下:
    ┣readme.TXT        : 本文档
    ┣uCOS.mcp          : ADS1.2工程文件
    ┣SOURCE            : 源码目录
    ┃    ┃
    ┃    ┣uCOS_SRC    : uCOS-II源码(空的 ^_^)
    ┃    ┃
    ┃    ┣uCOS_PORT   : GBA上移植有关源码
    ┃    ┃
    ┃    ┣USER_SRC    : 用户程序源码
    ┃    ┃
    ┃    ┗DOC         : 文档(空的 -_-b)
    ┗TOOLS             : 模拟器啊什么的

    注: 好像uCOS的作者不许发布移植的人 在发布移植的时候将uCOS的源码一并给出
    	(其实是为了多卖钱罢 ^o^ )
    	所以 我也不提供uCOS-II的源码了 反正他的源码网上到处是的

2.	因为 uCOS_SRC 目录为空
	所以需要你自行到网上或别的什么地方找份uCOS-II的源码(最好V2.5以上) 我是用V2.62移植的
	然后把"SOFTWARE\uCOS-II\SOURCE"下的那些程序 copy 到这个目录下

3.	在ADS1.2中打开ucos.mcp
	项目工程文件的目录结构应该是这样的:
	    ┣uCOS_SRC
        ┃      ┗ucos_ii.c
        ┣uCOS_PORT
        ┃       ┣Os_cpu_c.c
        ┃       ┣os_debug.c(这个是在V2.62以后增加的 可以对低版本的其自动不编译进去)
        ┃       ┗Os_cpu_a.s
        ┗USER_SRC
                ┣boot.s
                ┣irq.c
                ┣user_io.c
                ┣User_LCD.c
                ┗main.c

4.	编译 在模拟器中运行 :)

5.	如果要下载到你的GBA中运行 必须用gbafix.exe对*.GBA修正头部
	具体的可以参见我在C51bbS发布的GBA ADS1.2工程模板的说明文档

6.	ext1.c 和ext2.c是对uCOS-II发布版本中头两个例程的移植
	也附带了两个GBA 大家可以看看运行效果


关于我对移植uCOS in GBA 的一些感想:
	1.	GBA总体来说 速度较慢 如果 任务负荷过重 很容易造成系统崩溃 特别是我现在很大的开销是在显示上:
		在GBA显示mode3下 逐点描绘 显示是很慢的(以后可以考虑使用较快的txt模式显示文本会好很多的)
		对此 可以看样例2的下场 sigh……
	2.	ARM因为irq_mode 和普通的user_mode下 sp 和 lr 的自动切换保护 反而给uCOS移植带来了一定的麻烦
		对此 可以看我在OS_CPU_A.S文件中留的注释 同时 也给将代码置于GBA烧录卡上带来了麻烦
		(现在的这个移植版本是不能在GBA卡上运行的,即不能在FLASH中运行)
	3.	考虑到GBA有个很大的彩屏 下步自然是考虑将gui加上 希望有这方面经验(ucos-gui移植编程等)的同好者
		与我合作。
		或者你独立进行 然后发布移植出来也欢迎 :-D
	4.	很多模拟器不能很好的处理中断 造成本代码无法运行 推荐使用的模拟器是我在tool目录下提供的VBA
		最好 你能在你的GBA上运行代码
		提供的三个gba文件(在tools目录下)
			ucos.gba 是个最简单的样例 对应代码 main.c
				我在我是GBA上运行了大约5000秒 没有出问题
			ext1.gba  ucos书上的例程1的移植 对应代码 ext1.c
				大约运行了1分钟 就算了 呵呵 显示太糟糕了
			ext2.gba  书上例程2的移植 对应代码 ext2.c (注意 要把OS_TICKS_PER_SEC宏改为10)
				在我的GBA上运行了2个小时 同样没出问题

最后 关于版权等的声明:
	1.	本发布的程序等 仅供学习使用

		除了我声明的完全由我自己写的代码外

		其他的部分 都不得用在你的产品中或自行发布
		由此 产生的一切后果 于我无关

	2.	GBA、uCOS-II等 都是有版权保护的产品 如果有任何使用的打算 请你自己去看他的产品授权
		由于使用产生的一切后果 于我无关

	3.	对于我声明的代码等 请保留我的声明和名字 多谢


如果你在使用中 有什么问题 特别是有bug务必请
E-mail我: mail2li@163.com
或在 www.C51BBS.com 上发贴 我在 C51BBS 上的ID也是 mail2li


										李强 ( mail2li in www.C51BBS.com )

											mail2li@21cn.com or mail2li@163.com

													2003-11-28

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -