色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>uCOS編程>

ucos關(guān)于intel8051的移植v2

大小:82 人氣: 2010-02-24 需要積分:0
秋風(fēng)宜人的空間

用戶級別:注冊會員

貢獻(xiàn)文章:

貢獻(xiàn)資料:

ucos關(guān)于intel8051的移植v2


????????? The uC/OS-II port for Keil C V7.07 or higher
????????? By Stuart Wright, England, (swright@jiskoot.com)

This port for the Dallas 80C390 was based on a port for the 8051 by
John X. Liu from China (johnxliu@163.com). Johns port was a very clear
and consise port which allowed me to easily port and testing of this
port. Incluced within this port are a number of his test files.

1. About this port.
????? This package contains the files of porting uC/OS-II V2.70? to
????? Keil C environment,? including? the? necessary head files and
????? source files and an example to show how to use this port.

2. Files list.
????? This package? only? included? the? files specific to port for
????? Keil C, and? assumed that you have all the other uC/OS source
????? files.

????? Porting files:
????????? OS_CPU.H??? Defines the data types and some macros needed
????????????????????? by uC/OS.? Also? defines some macros to work-
????????????????????? around? the problem that some keil c keywords
????????????????????? were used? as identifiers? in uC/OS-II source
????????????????????? files.

????????? uCOS_II.H?? Header file for OS functions, all functions
????????????????????? have been declared KCREENTRANT.

????????? OS_CPU_C.C? The c part of porting source files.

????????? OS_CPU_A.ASM? The assembling language part of the port.

????? Example files:
????????? OS_CFG.H??? The configuaration file, specific to every
????????????????????? application, used to define what features of
????????????????????? the os are needed to be included

????????? EX1L.C????? The example file ported from borland c++ port
????????????????????? which can be found in directory:
??????????????????????????? \SOFTWARE\uCOS-II\EX1_IX86L

????????? PC.H??????? The PC-emulating head file, ported from its
????????????????????? original directory \SOFTWARE\PC

????????? PC.C??????? The PC-emulating source file,implementes PC's
????????????????????? display screen, ported from \SOFTWARE\PC

????????? PC51EMU.DLL?? The debug DLL of Keil UV2 degugger environ-
??????????????????????? ment. To be used to emulate the behavior of
??????????????????????? a PC display screen.

????????? START390.A51? File to configure the dallas 80C390 processor

????????? EX1KC51.UV2?? The example's project file.

????????? EX1KC51.OPT?? Option file of the project.

????? Document:
????????? Readme.Txt?? This file.

3. About the porting files.
????? The required functions have been implemented according to the
????? description in the book 'uC/OS-II, The Real-Time Kernel'. Mainly
????? the work of porting is arround how to save the status of CPU
????? and restore it later.? The status include the register ACC,B,
????? PSW, DPTR,IE,R0-R7,SP, and the hardware stack resides in 8051
????? strach RAM. This work is fulfiled by c code in OS_CPU_C.C and
????? some assembly code in OS_CPU_A.ASM.

????? Due to the specific grammer of keil c, the functions declared
????? by default are non-reentrantable.? If you need re-entrantable
????? function, you must add a 'reentrant' after the declaration,
????? like this:
???????? func() reentrant
???????? {
?????????? .
?????????? .
?????????? .
???????? }
????? So it is necessary to modify the declarations and definitions
????? of uC/OS-II's system functions to make them work as expected.
????? Head file uCOS_II.h declares all uC/OS functions reentrant.
????? But you still need do lot of things.? You need modify all the
????? uC/OS-II function declarations in .h files and definitions in
????? .c files so as to make them conform to the respective ones in
????? uCOS_II.h.

4. The example.
????? The example comes from \SOFTWARE\UCOS-II\EX1_IX86L,? which is
????? intended running under MS-DOS originally.? Seeing it's a nice
????? illustration of uC/OS multi-tasking feature, I included it in
????? this port for keil c environment. In order to show the result
????? I wrote a Keil UV2 debugger simulator DLL to emulate PC's the
????? display screen to show the result of the examle.? It maps the
????? XDATA:0-0x1000 as PC's display buffer at B800:0 and? displays
????? the characters and attributes as same as PC does.? To see the
????? result of the example, you should copy the PC51Emu.DLL to the
????? Keil's C51\Bin directory and add '-dPC51Emu' at the paramters
????? editbox of dialog DLL in debug panel of the project's options.

5. Compiling and running the example files.
????? First, Unzip the files in this package to a directory,?
????? i.e. \SOFTWARE\uCOS-II\I8051\Keil, make the directory current.
????? Then copy all uC/OS files in the directory \SOFTWARE\uCOS-II\
????? SOURCE to the current directory, edit the declarations of all
????? functions and the definitions in OS_*.C to make
????? them same with the? respective ones in UCOS_II.H.

????? Second, Run Keil UV2 IDE, open the project file "Ex1KC51.UV2",
????? click compile or build, let KC compile all the source files,
????? and build the target Ex1Kc51. If any error occurs, correct it.
????? Mostly circumstance? it is due to incorrect modifing of uC/OS
????? source files.? It is rather simple to find the mismatches out
????? and correct them.

????? Third, start debugging,and check the peripheral menu,you will
????? see a menu item 'Virtual screen' added there.? Click the menu
????? item, a PC-liked virtual screen window will display.? Run the
????? example in full speed, you will see the output of the example
????? shown on the virtual screen window.

????? You may run the original example in \SOFTWARE\uCOS-II\EX1_I86L,
????? to have a comparation between them.

6. Adapting this port in your application.
?? 1) Copy the files you need from the directory of this example to
????? the directory of your project.
?? 2) Edit the OS_CPU.H and select a critical method best to you by
????? set the OS_CRITICAL_METHOD to 1,2, or 3. You may refer to the
????? book 9.03.02 to decide which method to be used.
?? 3) Read and edit the OS_CFG.H and decide what system services
????? you need include in your project.
?? 4) Write your own interrupt service routines as demonstrated in
????? OS_CPU_C.C. If you like you may reimplement the OSTickISR.
?? 5) At least in your first task you must write code to initialize
????? the timer that uC/OS uses. If you change the timer rate, you
????? must change the OS_TICKS_PER_SEC to the right value as well.

7. Support for multiple DPTR's of the Dallas 80C390
????? The code can support the second DTPR of the Dallas 80C390 this
????? requires a number of changes to the code
?? 1) The first change required is to the function "OSTaskStkInit" in
????? the file OS_CPU_C.C. This function contains 5 lines of code are
????? currently commented out, to enable support for the second DPTR
????? this code must be uncommented.
?? 2) The second change must be performed within the file OS_CPU_A.A51.
????? This file has two macros called PUSHR and POPR, these are used
????? to push and pop the registers to and from the stack. Within both
????? of these macros there are two versions of the registers to push
????? and pop. Currently the register list for one DPTR is uncommented
????? and the list for two DPTR's is commented out. The commenting must
????? must be swapped around to enable the second DPTR

8. The arithmetic unit of the Dallas 390
????? This arithmetic unit appears to work ok on condition that you
????? only use this unit within one process or interrupt. I do not
????? believe it is possible to allow more than one process or interrupt
????? to use this unit due to the way this unit functions. See relevent
????? Dallas 80C390 literature.

9. System clock speed and timing.
????? Currently the system is set for a clock speed of 29491200Hz which
????? is what I use within my system. To change this you need to change
????? the "#define CLOCK_SPEED" within the file EX1L.C as well as within
????? the Keil project settings.
???
9.Limitations.
????? This port has some limitations, listed as below.
?? 1) Only large mode is supported.
?? 2) Does not support register banking.
?? 3) Does not support RET_PSTK or RET_XSTK option.
?? 4) Only supports the standard 8051 register stack (IDATA). The Dallas
????? 80C390's exteneded 1K stack is currently not supported.

非常好我支持^.^

(8) 100%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價(jià):好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?
      主站蜘蛛池模板: 国产精品久久久精品日日| 美国大臿蕉香蕉大视频| 欧美 亚洲 另类 综合网| 无人在线观看免费高清视频播放| 中国字字幕在线播放2019| 国产国拍精品AV在线观看 | 色婷婷综合久久久中文字幕 | 67194con免费福和视频| 国产私拍福利精品视频| 欧美中文字幕一区二区三区| 伊人草久久| 国产三区在线成人AV| 日本理论片和搜子同居的日子2| 在线视频 国产 日韩 欧美| 国产精品青青在线麻豆| 青青青青青青青草| 2019在秋霞理论| 精品久久久久久电影网| 色偷偷91综合久久噜噜| babesvideos性欧美| 老色69久久九九精品高潮| 亚洲精品久久AV无码蜜桃 | 国产麻豆福利AV在线观看| 人妻免费视频公开上传| 92午夜免费福利757| 久久艹影院| 亚洲欧洲日韩天堂无吗| 国产人妻精品无码AV在线五十路| 日本美女搞基视频| adc影院在线| 免费看的一级毛片| 中文字幕成人在线观看| 久久国产高清字幕中文| 亚洲你我色| 国产睡熟迷奷系列网站| 午夜国产羞羞视频免费网站| 动漫美女被到爽了流漫画| 人妻插B视频一区二区三区| brazzers欧美孕交| 男女床上黄色| 91综合久久久久婷婷|