亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? readme.txt

?? 在網上好不容易找到的有關ucos移植到gba上的代碼
?? TXT
字號:
Readme for ARM U/COS II port v1.04 (last updated: 20th January 2001)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
by Niall Douglas

CHANGES 20/Jan/01: OSRunning, OSPrioRdy & OSPrioCur are byte values
and I was using word ops hence breaking code compiled for Thumb.
Apologies to anyone inconvenienced and thanks to Arjan Oskam for
pointing it out

Herein contained are the files to port U/COS II to a *generic* ARM.
There is no code specific to any particular ARM other than it must
run in a 32 bit mode (ie; ARM2 and ARM3 processors won't run this).

Quick start:
-=-=-=-=-=-=
ALL YOU MUST DO TO USE THIS PORT: Go to the file os_cpu_a.s. Go to
the function OSIntCtxSw. Change the registers unwound appropriately
(they WILL ALTER across versions of ARM SDT used - I've put in
entries for v2.5 and v2.0 of the SDT). If your run-time system
supports OS_EnterOS (SWI 0x16), you're ready.

More detail:
-=-=-=-=-=-=
However, there are a number of assumptions made. The first is that
there are both SWI and IRQ handlers provided. The IRQ handler must
call OSIntEnter(), OSTimeTick() and OSIntExit() for timer interrupts
as the U/COS II book says. The SWI handler must at least provide
SWI OS_EnterOS (0x16) and optionally SWI's OS_IntOn (0x13) and
OS_IntOff (0x14). These work as the *RISC-OS* ones used to, not as
some RTOS's broken implementations do. Demon I believe implements
these fine, Angel does not.

To be specific here:
 * OS_EnterOS: Must exit with processor mode now SVC32, interrupt &
flag state *unchanged*. Also, and it's here where many RTOS's are
broken, SPSR_svc on exit must contain the *correct* prior PSR before
the call to OS_EnterOS.
 * OS_IntOff: Must exit with merely interrupts disabled, nothing
else changed. If you change OS_CRITICAL_METHOD to 2, you don't
need this call.
 * OS_IntOn: Must exit with merely interrupts enabled, nothing else
changed. If you change OS_CRITICAL_METHOD to 2, you don't need this
call.

Potential stack corruption:
-=-=-=-=-=-=-=-=-=-=-=-=-=-
Other notes: If you are using OS_CRITICAL_METHOD 2, you must be
careful in writing code protected by OS_ENTER_CRITICAL and
OS_EXIT_CRITICAL. The problem is that the current interrupt state
is saved on the SVC stack. This poses no problems to C code
running in USR mode, but C code running in SVC mode may have
stack problems as the calls OSStackAndDisableInts() (called by
OS_ENTER_CRITICAL) and OSRestoreStackedIntState() (called by
OS_EXIT_CRITICAL) are not APCS compliant as they don't leave the
stack in the same state as they received it. This normally isn't
a problem unless the compiler is using the stack for temporary
workspace whose allocation and deallocation isn't nested within
the calls.

There are two work-arounds for this problem. First is to change
OSStackAndDisableInts() and OSRestoreStackedIntState() to stack
the saved interrupt state on the FIQ stack instead of the SVC
one. This causes increased overhead.

The second option is to *always* encapsulate code between the
OS_ENTER_CRITICAL and OS_EXIT_CRITICAL in a scope declaration eg;

OS_ENTER_CRITICAL();
{
	char temp[256];
	// Do stuff
}
OS_EXIT_CRITICAL();

This forces the compiler to deallocate temporary stack usage
before calling OS_EXIT_CRITICAL. Remember this problem ONLY
affects C code which may run in SVC mode. If it's IRQ mode (eg;
IRQ handlers written in C) or any other mode then it is NOT a
problem.

Other small notes: If you enable OS_TASK_DEL_EN, tasks will
auto-call OSTaskDel(OS_PRIO_SELF) if they ever try returning. If
not, the reset vector is called. This behaviour can be changed
in os_cpu_c.c.

The C code correctly handles OS_STK_GROWTH although it assumes
a full descending stack for 1 and an empty ascending stack for
2. The assembler code always assumes a full descending stack as
the relevent ARM instructions embody how stacks move and hence
lots of conditional code would be needed to use a different
stack type. Processor stacks on the ARM haven't been anything
other than full descending for at least a decade now, so I'd
imagine this limitation won't be a problem. 

What is "NedHAL"? (I keep seeing references to it)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
As the NedHAL manual says ...

   NedHAL is a modular architecture-independent multiprocessing
   capable Hardware Abstraction Layer for everything from tiny
   embedded systems upwards. It was designed to remedy many of
   the shortcomings of traditional embedded HAL's and RTOS's

NedHAL was the project I undertook as part of reading the final
year of my Software Engineering degree at Hull University in the
United Kingdom. It is roughly equivalent in function to ARM's
uHAL but is improved.

As part of my project, I ported U/COS II to NedHAL. My port of
U/COS II is generic, but all the gubbins required to make it work
(setting up the environment and etc) would be performed by
something like NedHAL.

NedHAL can be downloaded from http://www.nedprod.com/NedHAL/. It
is supplied "as is" and may be used for any non-commercial
application. See the licence.txt file for more info.

All the best,
Niall Douglas
8th July 2000

(Email: NedHAL@nedprod.com)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产99久久久国产精品免费看| 欧美一区二区久久| 欧美一卡在线观看| 国产精品欧美一区喷水| 久久超级碰视频| 欧美撒尿777hd撒尿| 国产精品欧美一区喷水| 激情小说亚洲一区| 91精品国产一区二区人妖| 综合久久久久久| 国产麻豆精品在线观看| 91精品国产色综合久久ai换脸 | av电影天堂一区二区在线| 欧美一区二区免费| 日韩制服丝袜av| 99久久婷婷国产| 国产日韩欧美a| 九色综合狠狠综合久久| 欧美一区永久视频免费观看| 亚洲成人tv网| 欧美日韩国产精选| 亚洲成人av中文| 在线观看日韩电影| 亚洲老妇xxxxxx| 91在线国内视频| 亚洲欧美日韩久久精品| 91浏览器入口在线观看| 亚洲人妖av一区二区| 99这里都是精品| 亚洲美女视频在线| 91成人网在线| 亚洲成人资源在线| 日韩欧美综合在线| 国产一区二区毛片| 国产欧美精品区一区二区三区| 国产成人一级电影| 中文字幕一区二区三区精华液 | 久久婷婷综合激情| 国产麻豆精品久久一二三| 国产日产亚洲精品系列| 成人app网站| 亚洲精品一卡二卡| 欧美精品 日韩| 麻豆成人久久精品二区三区红 | 久久人人爽爽爽人久久久| 久久精品久久99精品久久| 日韩一区二区不卡| 国产一区中文字幕| 亚洲视频一二三区| 欧美日免费三级在线| 久久er99热精品一区二区| 久久久精品免费网站| 91高清视频免费看| 日韩va欧美va亚洲va久久| 久久久久国产精品厨房| 94色蜜桃网一区二区三区| 亚洲r级在线视频| 欧美刺激脚交jootjob| av动漫一区二区| 婷婷国产在线综合| 国产欧美日韩激情| 91精彩视频在线| 国产一区二区伦理| 亚洲丝袜精品丝袜在线| 日韩欧美一二区| www.欧美色图| 毛片av中文字幕一区二区| 国产欧美精品国产国产专区 | 欧美午夜精品一区二区蜜桃| 免费成人在线影院| 亚洲免费资源在线播放| 日韩欧美国产午夜精品| 97久久久精品综合88久久| 日本最新不卡在线| 一区二区三区产品免费精品久久75| 欧美一区二区视频在线观看 | 亚洲一区二区黄色| 国产午夜亚洲精品羞羞网站| 在线观看免费亚洲| 国产a区久久久| 日本视频一区二区| 亚洲在线中文字幕| 国产精品久久久久7777按摩| 日韩手机在线导航| 欧美日韩免费视频| 91看片淫黄大片一级在线观看| 久久国产精品99久久人人澡| 伊人开心综合网| 国产精品久久久久aaaa| 精品免费99久久| 日韩午夜av一区| 91精品在线一区二区| 色悠悠亚洲一区二区| 成人av资源在线观看| 国产成人免费网站| 国内外精品视频| 免费高清在线一区| 蜜臀久久99精品久久久画质超高清| 亚洲你懂的在线视频| 国产精品麻豆久久久| 久久精品一二三| 久久综合色综合88| 久久影院午夜片一区| 日韩亚洲国产中文字幕欧美| 欧美一区二区大片| 欧美高清视频www夜色资源网| 欧美自拍丝袜亚洲| 91福利在线看| 欧美日韩精品免费观看视频| 欧美在线一区二区三区| 在线欧美日韩精品| 91极品视觉盛宴| 欧美色窝79yyyycom| 在线观看成人小视频| 欧美视频在线一区二区三区| 欧美视频一区二区三区在线观看| 91蜜桃在线观看| 欧美自拍丝袜亚洲| 337p亚洲精品色噜噜| 欧美日韩在线三区| 欧美久久久久久久久| 91精品国产91综合久久蜜臀| 日韩欧美www| 久久久国产精品麻豆| 亚洲国产电影在线观看| 亚洲美女在线一区| 日韩电影在线一区| www.欧美日韩国产在线| 99久久精品免费精品国产| 色网综合在线观看| 欧美精品视频www在线观看| 欧美一二三区精品| 国产女人18毛片水真多成人如厕 | 亚洲视频电影在线| 亚洲va欧美va国产va天堂影院| 青青青伊人色综合久久| 国产精品亚洲成人| 91黄色免费网站| 欧美一区二区三区不卡| 国产日韩欧美电影| 亚洲自拍偷拍九九九| 久久精品国产久精国产| 成人免费观看男女羞羞视频| 一本一道综合狠狠老| 日韩精品一区二区三区三区免费 | 欧美日韩国产一级片| 久久这里只有精品首页| 亚洲色图在线看| 久热成人在线视频| 色婷婷综合激情| 亚洲精品一区二区三区香蕉| 亚洲日本护士毛茸茸| 免费的国产精品| 一本色道久久综合亚洲精品按摩 | 在线不卡中文字幕| 国产欧美日韩亚州综合| 日韩主播视频在线| 成人午夜免费电影| 91精品国产综合久久久久久| 国产精品乱码妇女bbbb| 日韩电影在线观看电影| av欧美精品.com| 久久综合一区二区| 日韩高清中文字幕一区| 成人av网站大全| 精品成a人在线观看| 亚洲国产精品久久久久婷婷884| 国产99久久久国产精品潘金| 欧美一级日韩一级| 一区二区久久久久| av成人免费在线观看| 国产日韩精品一区| 韩国精品主播一区二区在线观看| 欧美综合亚洲图片综合区| 国产欧美日韩精品a在线观看| 日本不卡一二三| 欧美日韩一卡二卡| 亚洲三级在线观看| 成人免费福利片| 国产欧美一区二区精品仙草咪 | 日韩国产欧美三级| 欧亚一区二区三区| 亚洲欧美激情小说另类| 丁香天五香天堂综合| 久久久另类综合| 国内成人免费视频| 精品欧美一区二区久久| 蜜臀久久99精品久久久画质超高清| 欧美日韩国产中文| 亚洲v精品v日韩v欧美v专区| 在线中文字幕不卡| 亚洲一区二区三区四区在线免费观看 | 久久99蜜桃精品| 欧美一级欧美三级| 青青草97国产精品免费观看无弹窗版| 欧美亚洲一区二区在线观看| 一级精品视频在线观看宜春院 | 欧美激情一区二区三区全黄| 精品一区二区免费看| 2024国产精品|