A summary of the establishment of a data dictionary
The establishment of the data dictionary these two days. Seeing two ways to build a data dictionary: one is to bring the source code of other similar operating systems to find out which files and functions have. The other is based on existing theoretical books (including "Real-Time Concepts for Embedded Systems") to find MYOS (51) and the future needs of the function and objects. Later I decided to use two ways to build data dictionary.
These two days have used several tools during the establishment of a data dictionary:
Free Mind, with a tree-type Mind Map structure to help build a data dictionary (maybe my original method! ^ o ^). Take MyOS (51) as the core, then the next layer is a number of folders contained in Myos (51), and then the next layer is the description document, user documentation, development document, source file, and various processes included in each folder. The file name of the figure. The next layer of the source file is the function included in the source code and the public variable. The next layer of the function is the input, output, and call function name of the function. From this, all the functions I need are listed all in the variables.
Visio 2003, used to draw chart files. A flowchart including each function, a data flow diagram between a function, a control flow diagram of a system, a status conversion diagram.
EditPlus, don't say more! The best editor used to write source code and documentation. (At least, that's what I think!)
In addition! I borrowed the source code and document template for version control from SMALL RTOS. as follows
/ ************************************************** *********************************************************** ******
** myos (51)
** The Real-Time Kernel (for Keil C51)
**
** jiang
** All Rights Reserved
**
** v0.01
**
**
** -------------- File information ------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------
** Document Name: Includes.h
** Created: Jiang Yi
** Last modified date: January 5, 2005 16:57:14
** Description: The header containing other header files.
**
** -------------- Current version revision ------------------------------- -----------------------------------------------
** Modify:
** Japan:
** Description:
**
** ------------------------------------------------- -------------------------------------------------- ----
*********************************************************** *********************************************************** **** /
There is also a function function description paragraph
/ ************************************************** *********************************************************** ******** Function Name:
** Function Description:
** Infusion:
**
**
** Output:
**
**
** Global variable:
** Call Module:
*********************************************************** *********************************************************** **** /
=================================================
During the refinement, there have been many technical issues that have not been considered before and have not been taken away, and began to become an obstacle to the overhead! There are many books to see! There are the following points to solve the following:
I. Problem: The writing of Keil C51 is the same as the ANSI C, but there are still many differences.
Task: Read more code before writing, learn the difference in learning, so that different ways become my new writing habits.
Second, the problem: SMALL RTOS (51) and UC / OS-II although the main structure is similar, some functions are still having a difference, while some of their functions are named and functional. The operation names mentioned are completely different from the function. Sometimes the theoretical sum of the functions of several kernel objects is only the same as one kernel object of the actual system (for example, some system message queues are the combination of pipeline and message queue); sometimes the object name and function have been replaced and changed. (Example: Some semaphors are more like event registers); sometimes, theoretically one operation is implemented by two functions (for example: sending messages to message queues, being implemented as an interrupt direction) Message queue sends a message for a message and a function that sends a message to the message queue.
Task: Read the function function description documentation known to other operating systems, understand the functions implemented by specific functions, and is not confused by the function name. The function name table and function description required to create MYOS (51) in the data dictionary. Realize the core functions required by MyOS (51) as needed and realistic conditions.